BondFoundry
Use case · FINOS & compliance

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.

The problem

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.

The BondFoundry approach

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.

How it flows

The governed lifecycle for this pattern.

  1. 01

    Decision is recorded

    The gate result, verbatim rule text, and framework_ref are written as one audit row.

  2. 02

    Immutability is enforced by the database

    Postgres triggers reject UPDATE and DELETE — the application layer does not get a vote.

  3. 03

    The chain is hashed

    sha256(prev_hash || payload || seq) links rows so any insertion breaks the chain.

  4. 04

    Evidence is exported on demand

    bondfoundry-finos evidence-pack --period 30d produces the coverage matrix and chain-verification report.

Outcome

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.

AIGF refs AIR-DET-21AIR-RC-22AIR-OP-14
See it live

20 minutes on a real desk, end to end.