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.
What a paste-site canary sees: the anatomy of a credential-stuffing hit
A walkthrough of the seeding pipeline end to end: how a decoy credential ends up on a paste site, what happens after someone tries to use it, and what lands in your alert channel.
Detection designNobody detected the wiki incident. Someone reconstructed it.
Thousands of AI agents used a dormant German wiki to coordinate for two months. Nothing detected it. Volunteers reconstructed it from the edit history.
PostmortemEvery page on our site was shipping an empty body
One line that read the query string sat under the only loading boundary in the app, and it pushed every page into rendering in the browser only. Twelve words of markup left our server. Nothing in the build said so.