faultwall / how it works
A proxy runs in your network and speaks the Postgres wire protocol. Agents connect to it with their own key instead of the database password. It applies the rules you set in the FaultWall app to the statements routed through it.
01 Where it runs
You run the proxy next to your database. The FaultWall app holds agents, keys, rules and decisions. The two talk over a single outbound HTTPS connection that the proxy opens.
Agent to proxy to Postgres. Both connections stay inside your network. Your agent code doesn't change, only its connection string.
The proxy pulls rules and sends held writes for review. In v0.7.0 reviewers see the statement shape, like UPDATE orders SET status = ? WHERE id = ?, not the values.
02 Connecting an agent
# before: the agent holds the database password postgres://app_user:<db-password>@db.internal/orders # after: the agent holds only its FaultWall key postgres://support-agent:<agent-key>@fw-proxy/orders # check what each agent's DB user can do today $ faultwall audit --fix
faultwall audit --fix generates the native Postgres privileges for each agent and lists the rules Postgres can't enforce on its own.03 What happens to a statement
Each result below was checked with a direct read of Postgres, so "unchanged" means the row really didn't change. Synthetic database.
04 Live today, and next
faultwall audit --fix for native per-agent privileges05 What we're building
Rules answer whether an agent may run a statement. These answer what it will do to the database, and what happens outside the proxy. We're building both with design partners on real workloads.
Is this query allowed is one question. Will it slow production down right now is another.
pg_stat_activity about once a second, off the query path.Today: the scorer is in the proxy in shadow mode. It scores and records, and never blocks. We're tuning it on real workloads before it acts on anything. Illustration above, not partner data.
The proxy sees what goes through it. eBPF sees what Postgres actually runs.
Today: working prototype, not shipped. Needs self-managed Postgres on Linux; managed services like RDS don't allow kernel probes. Until then, faultwall audit --fix covers the bypass case with native Postgres privileges.
06 Fair questions
You can, and some teams already run a shared approval service. FaultWall enforces at the Postgres connection, so you can apply controls without adding approval logic to each agent implementation.
Then keep them. FaultWall becomes relevant when you need controlled writes, reviewable exceptions, or one consistent workflow across agents.
Yes. The proxy becomes part of the database path. So we start in staging and test compatibility, latency, failure behavior and recovery with your workload before you decide anything.
We measure approval volume and turnaround during the evaluation. A lot of repeat requests can mean a rule is too strict. Some sensitive operations should keep requiring review regardless.
Work with us
We'll put it under limits your team agrees on, run it in staging, and give the owner the evidence to decide on production.