// production-readiness audit · Supabase + Postgres

A senior engineer reviews your Supabase app before real users hit it.

Supabase lets you ship fast — and lets you ship with the database wide open just as fast. A real engineer reads your actual policies, auth flow and data model and tells you, in plain English, what leaks before you launch.

Read-only — we can't change, push or delete anything. Your code is never executed, and deleted after the audit.

01What we see most in Supabase apps

The Supabase mistakes that ship straight to production.

Almost every dangerous Supabase finding lives at the database boundary — the row-level-security policies, the keys, and what the client is trusted to send. Here's what we see most.

Critical

Row-level security off — or on with an open policy

The single most common critical finding. A new table ships with RLS off; the quick fix is a USING (true) policy that turns the dashboard green while letting the public anon key read every row. We confirm each table has RLS on and that every policy is actually scoped to the user.

check › Database → Policies: any policy with USING (true) on a readable table is effectively public.

Critical

The service_role key in client-side code

The anon key is meant to be public; the service_role key bypasses RLS entirely. If it has leaked into the frontend bundle or an unguarded edge function, the whole database is open no matter how good your policies are.

check › Search your repo and built bundle for service_role / SERVICE_ROLE_KEY.

Critical

Only SELECT is locked — insert, update, delete are open

A common half-fix: a read policy scoped to the user, but no policy on insert, update or delete. Each command needs its own policy, or anyone can write or wipe rows even when reads look secure.

check › Confirm separate policies exist for insert, update and delete — not just select.

Watch

Multi-tenant data scoped by a client-sent id

When org_id or team_id is taken from the request instead of derived from the session, one tenant can read another’s data by changing a value. We trace where the boundary is actually enforced.

check › Is org_id / team_id ever read from the client and trusted directly in a query?

Watch

Public storage buckets and unguarded edge functions

Storage buckets left public and edge functions that don’t verify the caller are easy to miss — files and privileged actions exposed to anyone who has the URL.

check › Review bucket policies and confirm each edge function checks the caller.

These are the patterns, not a checklist run against your repo. The audit reads your actual Supabase code and tells you which of these are really there — prioritized, critical first. Or try the free 2-minute self-check →

02What the $49 audit covers

A full production-readiness read — not just Supabase specifics.

The stack-specific bugs above are where we start. The review covers six areas in total, delivered as a prioritized report with an honest fix estimate for each.

  • 01
    Securitysecrets, auth, exposed endpoints
  • 02
    Data & multi-tenancyaccess rules, tenant isolation
  • 03
    Scalabilityqueries, indexes, N+1s, caching
  • 04
    Cloud & infrastructureenv separation, secrets, backups
  • 05
    CI/CD & deploymentpipeline, staging, safe rollback
  • 06
    Intentdoes it do what you meant it to

See what each area covers in detail →

04Supabase questions
Q1 Do you need write access to my Supabase project?
No. Read-only access to your repository is enough to review your policies, migrations and client code. We never ask for your service_role key or dashboard admin.
Q2 Can you check my RLS policies specifically?
Yes — it's the most common critical finding in Supabase apps. We read every policy and confirm it's scoped to the right user, on every command, not just select.
// Supabase + Postgres

Have a senior engineer read your Supabase app before your users do.

One real engineer, a prioritized report within 48 hours, and a 15-minute call. $49, one-time.

Get your Supabase audit $49

Money-back guarantee · read-only · never executed · deleted after the audit