JWT passthrough
Supabase remains authoritative for request authentication, role selection, and row-level security.
Row-level security decides which rows a JWT may see. Safe Boundary adds a routed HTTP layer that masks configured columns and stops PostgREST filters from inferring protected values.
Why this exists
The filter forwards Authorization and apikey headers so Supabase still selects the database role and applies RLS. It maps selected fields to the catalog and masks JSON or CSV after PostgREST responds.
For protected fields, the inference guard can block ordering, ranges, pattern matching, full-text search, and aggregation while allowing equality-style operations according to policy.
What it does
Supabase remains authoritative for request authentication, role selection, and row-level security.
JSON and CSV fields map to catalog columns; masked UUIDs, numbers, booleans, and strings retain compatible shapes.
Leaky operations on a masked field are blocked from the parsed request, including supported embedded-resource filters.
How it works
Deploy the filter as the REST base URL used by the client.
Pass JWT and apikey headers unchanged to PostgREST.
Map selected fields and filters to the live PostgreSQL catalog.
Transform supported responses or refuse unsafe inference paths.
Protected when
Important boundaries
Continue the story
See why masking alone cannot stop value extraction.
Configure which columns are protected and preserve compatible response types.
Understand trust boundaries, credentials, identity, and bypass conditions.
Start in observe mode, validate the policy against representative traffic, and move to enforcement with explicit bypass controls.