Supabase Anonymous RLS Audit Matrix

Paste redacted Supabase policies or schema notes and check whether anonymous sign-in changes the authorization story before launch. The sharp risk is simple: anonymous users still use the authenticated role, so policies written for real accounts can authorize temporary sessions by accident.

Review order

  • 1
    Separate roles from identity stateFind policies that say to authenticated without checking is_anonymous.
  • 2
    Stress account-upgrade boundariesReview invites, teams, billing flags, ownership transfer, and onboarding state transitions.
  • 3
    Check privileged database pathsLook for broad grants, RLS disabled, and SECURITY DEFINER functions that can bypass normal policy expectations.
Use redacted SQL only. Do not paste secrets, private connection strings, real user data, customer records, payment data, private screenshots, full names, private handles, full transaction identifiers, or credential values. This page runs locally in the browser and does not use network requests, browser storage, or a backend.

Ready.

Anonymous-user findings

What to test before launch

npx --package github:kayalopez/ai-agent-launch-tools#v0.1.29 supabase-anonymous-rls-audit --file supabase_anonymous_rls.redacted.sql --fail-on high

Source-backed problem set