Experimental Jev-powered RLS linter catches Supabase policy bugs rule-based lint can't

SeanOliver · x · 2026-09-19

A developer built an experimental RLS linter for Supabase using Jev. Unlike rule-based lint that only checks RLS is enabled, Jev makes semantic judgments — e.g. auth.uid() is not null looks shape-identical to the correct = userid check but actually lets every authenticated user read the whole table, and Supabase's Security Advisor only flags it for performance. The demo shows nine judgments on one policy in a single request, evaluated against 13 scenarios including correlated-join leaks and uncorrelated membership subqueries.

Original post →

More from coding & agent

coding & agent channel →