Tamper-evident audit for regulators
Give auditors a hash-chained, Postgres-enforced audit log where every AI decision maps to a FINOS AIGF v2.0 control.
When an auditor asks "what did the agent decide on June 1, and under which rule?", an application-level log is only as trustworthy as the application — and anyone with psql access.
BondFoundry writes every decision to an append-only audit table. Postgres BEFORE UPDATE/DELETE triggers reject mutations at the database layer, and each row carries a sha256 hash over the previous row. A single recursive SQL query verifies the entire chain, and every row carries a framework_ref pointing at the AIGF v2.0 risk it satisfies.
The governed lifecycle for this pattern.
- 01
Decision is recorded
The gate result, verbatim rule text, and framework_ref are written as one audit row.
- 02
Immutability is enforced by the database
Postgres triggers reject UPDATE and DELETE — the application layer does not get a vote.
- 03
The chain is hashed
sha256(prev_hash || payload || seq) links rows so any insertion breaks the chain.
- 04
Evidence is exported on demand
bondfoundry-finos evidence-pack --period 30d produces the coverage matrix and chain-verification report.
Auditor questions are answered with a git show and a SQL query, not a runtime config archive — and every answer traces to a named control.