Skip to content
Built for Supabase apps

Security audit for your Supabase app

59% of AI-built Supabase apps ship with at least one table that has RLS disabled. Vezraa finds it in 30 seconds — no database access required.

Read-only scan · No database credentials required · Results in 30s

What Vezraa checks for Supabase apps

Every check runs against your live deployed URL — no Supabase credentials needed.

RLS Policy Audit

Detects tables with Row Level Security disabled or permissive USING (true) policies that expose all rows to anonymous requests.

Anon Key Exposure

Checks whether your Supabase anon key is in client-side JavaScript bundles without RLS protection — the most common Supabase vulnerability.

Auth Route Protection

Verifies that API routes returning user data check for a valid Supabase session before responding.

GDPR Compliance Gaps

Maps Supabase data handling to GDPR requirements — data retention, deletion endpoints, and privacy policy presence.

Storage Bucket Visibility

Checks for publicly accessible Supabase Storage buckets that may expose user-uploaded files.

Edge Function Security

Audits Supabase Edge Functions for missing auth checks, exposed secrets, and rate limiting gaps.

Every finding ships with a receipt

Not just a warning — the actual request, the actual response, and a paste-ready fix prompt.

CRITICALSupabase anon key without RLS
REQUEST
GET /rest/v1/users?select=*
apikey: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
RESPONSE — EXPLOIT CONFIRMED
HTTP/1.1 200 OK

[{"id":1,"email":"user@example.com","razorpay_payment_id":"cus_..."},
 ... 1,204 rows returned]
HIGHPublic storage bucket exposes uploads
REQUEST
GET /storage/v1/object/public/avatars/user-123.jpg
RESPONSE — EXPLOIT CONFIRMED
HTTP/1.1 200 OK
content-type: image/jpeg

[file contents — no auth required]

Ready to audit your Supabase app?

Scan takes 30 seconds. No Supabase credentials, no write access. Plans start at $9/mo.

Supabase Security Audit — RLS, Secrets and Auth | Vezraa