RedHub AIRedHub AI
Tool Gate · How it works

How the roll-up gate works

How the Supabase RLS Read-Off gate works

This tool grades each table on whether its row-level security actually keeps other people out. It reads 8 tables and rolls them into one verdict — the worst, never the average — then a gate that can only make it worse.

The 8 tables

01profilesRLS on · every operation owner-scopedLOCKED
02ordersRLS on · delete admits everyoneOPEN TABLE
03messagesRLS off · all four operations openOPEN TABLE
04documentsfix firstRLS not found → offOPEN TABLE
05planspublic read is intended · writes lockedLOCKED
06blog_postsRLS off · writes open, read is fineOPEN TABLE
07api_keysRLS on · delete admits everyoneOPEN TABLE
08audit_logRLS on · writes have no policyLOCKED
TABLES LOCKED
no table admits someone it shouldn't
GAPS IN THE POLICIES
a table admits everyone on something that isn't public
PROJECT OPEN
the service-role key is reachable from the browser
Service-role override · worsen-only

One fact rewrites the whole matrix. A service-role key reachable from the browser bypasses every policy you wrote, so every table resolves to OPEN TABLE no matter how carefully it was scoped. A table whose RLS state you could not find is scored as off — you get no credit for a lock you cannot confirm.

GAPS IN THE POLICIES

Why: Five of eight tables admit someone they shouldn't. Two of them have the RLS badge switched on and are still open — the badge says protected while a delete policy admits everyone, which is the failure people never look for. The service-role key is not exposed here, so the project-level override never fires and the verdict stops one band short of the worst. 5 of 8 tables open · 13 of 32 policies · 2 badge-on-but-open.

Fix firstdocuments / delete — it holds other people's data and its RLS state could not be found, so it scores as off across every operation

No single table is the crisis — the clustering is. The roll-up takes the worst, the gate escalates when trouble compounds, and it names the one thing to fix first. Grades how a database is configured, never a person. Not a scanner or a penetration test — it reads back what you tell it, using rules you can see.