Control query structure
Classify complete PostgreSQL statements, refuse writes on read-only paths, and deny known escape functions before execution.
Applications, human tools, AI agents, and Supabase clients reach the same PostgreSQL data through different protocols. Safe Boundary adds an explicit enforcement decision to each routed path.
POSTGRESQLWhy this exists
Database grants and row-level security remain the authority for authentication and row access. They do not necessarily prevent an approved read path from returning raw sensitive values, accepting an unsafe function call, or exposing more data than an AI workflow needs.
Safe Boundary sits on the protocol the caller actually uses. It parses the request, applies configured query and data policy, preserves upstream authorization where supported, and records the decision before protected output reaches the caller.
What it does
Classify complete PostgreSQL statements, refuse writes on read-only paths, and deny known escape functions before execution.
Map eligible output to configured catalog columns and return type-compatible masked representations.
Record allow, block, and mask outcomes with the identity or attribution each surface can establish.
How it works
List the applications, people, agents, and REST clients that can reach production data.
Identify whether each caller uses PostgreSQL wire, MCP tools, or Supabase PostgREST.
Apply read-only, masking, inference, and audit policy appropriate to that path.
Remove direct endpoints and credentials from callers that must stay inside the boundary.
Protected when
Important boundaries
Continue the story
See how the three enforcement surfaces share policy and audit semantics.
Understand trust boundaries, credentials, identity, and bypass conditions.
Measure policy decisions on representative traffic before activating enforcement.
Start in observe mode, validate the policy against representative traffic, and move to enforcement with explicit bypass controls.