audit_supabase_rls
Scan a Supabase/Postgres database's Row Level Security to fail on disabled RLS, permissive policies, tenant leaks, and exposed views using read-only catalog metadata.
Instructions
Audit a Supabase/Postgres database's Row Level Security. Fails when a table has RLS disabled, when a policy is permissive (USING (true) / WITH CHECK (true) or anything that reduces to always-true), when an anon or authenticated policy does not scope rows to the caller (tenant leak), and on exposed materialized views. Reads ONLY catalog metadata (pg_tables, pg_policies, grants, functions, views) — never your row data. A read-only connection string is enough.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| allow | No | Policy names that are intentionally permissive (e.g. a public status page). Prefer the qualified form "table.policy". | |
| db_url | Yes | Postgres connection string for the project to audit (e.g. postgresql://... — get it from `supabase status` locally or your project's connection settings). A read-only role is enough. | |
| schema | No | Schema to audit (default: public). | public |