Row-Level Security Hides the Row, Not the Time It Took to Skip It
Postgres row-level security guarantees the result set, not the execution time. LEAKPROOF operators let the planner visit withheld rows before the policy runs, and range predicates turn that timing difference into a binary search. Auto-generated REST layers hand ordinary clients exactly those predicates.