Article 12 mandates that high-risk AI systems automatically log events over their lifetime, keep those logs traceable, and retain them. The high-risk obligations apply from 2 August 2026. The standards that give presumption of conformity, CEN-CENELEC prEN 18229-1 and ISO/IEC 24970, go further on what the logs have to be: tamper-evident, timestamped, and independently verifiable. ISO/IEC 24970 names the tamper-evident log directly.
The standards do not mandate a specific technology. The integrity mechanisms they name are cryptographic signatures, transparency log inclusion proofs, or equivalent integrity mechanisms. The door is left open on purpose, and it is open now, while the drafts are still being written.
A hash chain in the operator's own database, or a transparency log the operator runs, still rests on the operator not rewriting their own store. It answers whether an outsider edited the record. It does not answer whether the operator did. The highest bar in the guidance, verify without trusting the operator, is exactly where operator-controlled mechanisms are weakest.
Each logged event is hash-chained, so every entry commits to the one before it. The head of that chain is written as a leaf into a public transparency log at log.markovianprotocol.com, run on the C2SP checkpoint format. Seven independent witnesses, including Geomys and Google's transparency.dev witnesses, cosign the log checkpoint hourly, and checkpoints are anchored to Bitcoin via OpenTimestamps. Verification runs in two steps: a third party recomputes the chain from the records, which needs nobody, then checks inclusion of the head in the witnessed log from public endpoints. Once the checkpoint is anchored to Bitcoin, the head becomes checkable against the Bitcoin blockchain itself, independent of Markovian too.
Edit any historical entry and the chain breaks, no longer matching the recorded head. Because the head sits in a log whose checkpoints are cosigned by independent witnesses, rewriting the log would break consistency with checkpoints those witnesses have already signed. That makes this an equivalent integrity mechanism at a higher assurance tier than an operator-run store.
art12_audit_trail.py builds a hash-chained agent audit trail on the ISO/IEC 24970 event model, anchors the chain head to Bitcoin, and verifies by recomputation. Tamper with any entry and verification fails on that entry. It runs against the public API with no key.
Markovian provides the integrity and verifiability layer. Capture and retention stay yours, and it is not a compliance system or legal advice.
We have also written a formal contribution proposing this mechanism to the AI Act logging standards. Read the contribution.