← Back to BlogAgent accountability

Audit trails matter when AI agents can take action

March 20267 min readCanaryAudit

If an agent writes files, calls APIs, or changes customer state, you need a record that survives dispute resolution and compliance review.


AI agents are no longer just answering questions. They are writing files, calling APIs, sending emails, modifying databases, and making decisions that affect real people and real money. When something goes wrong, and it will, the first question is always: what exactly did the agent do?

Most AI systems have no answer to this question. Logs are incomplete, timestamps are approximate, and there is no way to prove that the log itself has not been modified after the fact.

CanaryAudit creates a tamper-evident record of every agent action. Each log entry includes the agent ID, the action type, the trigger, the exact outcome, and a sha256 content hash. Recomputing the hash at any later point immediately reveals whether the record was modified after it was written.

If someone disputes what an agent did, you can verify the log entry against the stored hash. But a hash on its own only proves a record is internally consistent, and anyone who can write to the database can rewrite the fields and recompute the hash together. So the hash is also sealed with HMAC-SHA256 under a key held in the application environment and never stored in the database. That is the check that holds against the operator. An earlier version of this post pointed at on-chain anchoring as the stronger guarantee; we have since written up why that was never true and why it stays switched off.

For teams subject to the EU AI Act, CanaryAudit produces a structured per-action log with content hashing that can feed an Article-12-style audit-log regime for high-risk AI systems. We do not claim out-of-the-box compliance: Article 12 / Annex IV require deployer-specific fields (system identifier, deployer identity, conformity assessment references, period of use, training data references) that the deployer must map themselves.

The audit-export endpoint returns a JSON document with every logged action and its content hash, and Pro and Enterprise plans can export the same trail as a legal PDF. It is designed to support compliance audits and internal dispute resolution. Whether any specific export qualifies as evidence in court depends on the jurisdiction's evidentiary rules; we do not claim universal admissibility.


This article is about a shipped surface: CanaryAudit, the tamper-evident action log. Integration details live in the docs.

Continue reading

More notes from the CanaryVaults team.