I will security check your lovable or bolt supabase app before you launch

B
basildraz
B
basildraz
Basel Draz

About this gig

Built with Lovck clean I will tell you so.able, Bolt or Cursor. It works. That was never the question.


The question is what a stranger holding your anon key can read out of it.


These tools generate policies fast, and they usually look right. But RLS is one layer. Underneath it is the Postgres grant system, above it is PostgREST, and the leaks live in the seams.


I run a multi-tenant POS on Supabase - 90 migrations, real money daily. Three security reviews found six real holes, every one past policies that were, as written, correct.


WHAT I CHECK

  • Tables with RLS off, or on with no policy
  • - Functions anon can execute (revoking from anon alone does NOT close this)
  • - Views that bypass RLS, and the ones PostgREST quietly made writable
  • - Table-wide grants, and the asymmetry nobody expects:
  • a new column is DENIED for reads until you grant
  • a new column is ALLOWED for writes until you revoke

HOW I PROVE IT

I log in as a real low-privilege user from your project, run the query, and show you the response. Every finding carries its query and its output. After the fix the same query runs again and returns something different.


The read-only script I use is public - run it yourself

Get to know Basel Draz

Basel Draz

Supabase RLS and privilege audits

  • FromEgypt
  • Member sinceFeb 2024
  • Avg. response time11 hours
  • Languages

    English, Arabic
I build multi-tenant systems on Next.js and Supabase, and I do security passes on them. I maintain a point-of-sale platform running in real shops - FIFO inventory batches, recipe items, staff permissions enforced in the database, thermal receipts. 90 migrations, three security reviews deep. Those reviews found six real holes, every one past policies that were correct as written. I published the checks that found them as an open-source read-only SQL script. Authorization belongs in the database, not the interface. Nothing is confirmed by reading code - I ask your database as a real user.

My Portfolio