You deployed agents that write code, move money, or touch customer data. Someone is eventually going to ask who authorised a particular action and what they saw when they did. This page is about being able to answer that.
01 · The problem
Most teams discover the gap during the first incident review. There are logs — gigabytes of them — and none of them answer the question being asked.
An audit trail has to survive three things that logs do not:
02 · What actually works
Two properties do most of the work, and they are the two that log aggregation cannot give you.
Every event — work submitted, evidence attached, escalation raised, decision made — is appended to a hash-chained ledger. Entries are added; nothing is rewritten. With a signing key set, each event is HMAC-signed, so tampering is detectable rather than merely against policy.
Completed work is attested by CI, not by the agent that produced it. Synced commits stay unverified until CI attests them, and the velocity metric only moves on attested work. An agent cannot mark its own homework.
Anything consequential raises an escalation that reaches a person in Slack, Teams, or Telegram. Approve or reject is recorded as a decision against the individual who clicked it — that attribution is the artifact you will need later.
03 · What this is
You can bolt a ledger onto an agent stack and get something that looks like an audit trail. It fails the moment the interesting question arrives, because the record was still assembled from self-reported claims.
What produces a trail worth trusting is the surrounding system: budgets that raise an escalation instead of quietly overspending, validation that ratchets so a caught regression stays caught, and independent attestation standing between "the agent finished" and "the work is done." Provostry is that system — an operating system for AI organizations. The audit trail is what falls out of running one.
That is also why it self-hosts cleanly: teams who need this most often cannot let the ledger leave their network. Single container, file ledger or Postgres, fully air-gapped, no phone-home.
04 · Questions
05 · Try it
Wire an agent in with one HTTP call and watch the first evidence bundle land in the ledger. No sales call in the way.
Read the integration docs →Or see what self-hosting involves.