Skip to main content
Postgres is the typical source for transactional agents — agents that write, agents that read live application state, agents embedded inside a SaaS product. The Postgres connector pairs with the Ultraviolet-tier database proxy to give you column-level enforcement at the wire.

Why it matters

Transactional agents have the highest blast radius if compromised: they often have write access. Inviolet’s Postgres path narrows every query to the column allowlist on the matched intention, and (with Vault binding) issues a short-lived role per grant instead of using the application’s persistent password.

1. Create a read-only role

2. Add the data source in Inviolet

App dashboard → Data Sources → Add → Postgres. Paste:
  • Host, port, database name
  • Username (inviolet_svc) + password
  • SSL mode (require for managed Postgres)
Inviolet performs a test connection + introspection and lists the discovered tables.

3. Wrap a query with intent evaluation

This is the evaluate path (intent.evaluate) — a lightweight pre-call check. For structural enforcement where the agent never holds the database password, mint a mandate and guard the call with @inviolet/agent-sdk-core and bind a short-lived role via credential brokering. See the Quickstart.

4. Verify

Decision-feed entries for this source carry data_source_id = postgres_app_prod. The query pattern map shows tables and columns touched. Anything outside the matched intention’s element list should fall to the lower-confidence “ambient” cluster — that’s the cohort to watch when promoting to enforcement.