Supabase RLS Checker: Prevent Data Leaks

Use this Supabase RLS checklist to verify policies, lock down service-role access, and keep tenant data isolated.

RLS checklist

  • Enable RLS on every user-facing table before shipping.
  • Write explicit `SELECT`, `INSERT`, `UPDATE`, and `DELETE` policies per table.
  • Use `auth.uid()` checks to constrain access by account or workspace.
  • Avoid service-role keys in browser code or public runtime variables.
  • Test policy behavior with both authenticated and anonymous sessions.

High-risk pattern

The most common failure is forgetting RLS on one new table while everything else is protected. One unguarded table can expose private records across tenants.

Validate automatically with Vibio

Vibio checks for Supabase auth and policy boundary signals and surfaces concrete findings with remediation steps.

Related: Next.js Security Checklist and Rate Limiting Checklist.