All blocks

Platform

RLS on every new table

An event trigger that enables row level security on every table created outside the Supabase-managed schemas, so a new table is never readable through the Data API before it has policies. Install it as postgres: supautils lets that role create event triggers.

DocsModes:managed
terminal
npx better-supabase sql add ensure-rls
better-supabase.config.ts
import { defineConfig } from "better-supabase/config";

export default defineConfig({
  sql: {
    modules: {
      // Modes: "managed". The default is "managed".
      "ensure-rls": { mode: "managed" },
    },
  },
});