01
What it converts
Supabase RLS is standard CREATE POLICY plus a context only Supabase provides: auth.uid() and auth.jwt(), the anon, authenticated and service_role roles, and a JWT injected into every request. That context layer, not the policies, is what keeps a project on Supabase.
The converter re-homes the whole layer so your policies run on plain Postgres and keep doing the same authorization work.
- -auth.uid(), auth.jwt(), auth.role() and auth.email() become accessor functions over transaction-local settings, each JWT claim promoted to its own setting.
- -TO anon and TO authenticated become predicates, and service_role becomes a service path that also passes restrictive policies.
- -FOR ALL policies are split per command, and column defaults such as default auth.uid() are rewritten.
- -The report lists the settings your application now owes the database - your integration checklist.