AI agent audit trail: the record of the work, built for someone else to check

Sooner or later someone asks the question your logs cannot answer: show me what the agent actually did. Not what it said it did, not a summary it wrote about itself. The work, in order, in a form a person who was not there can check without trusting you. That record is an audit trail, and it is a different thing from the log file most teams point at when the question lands.

See one before you build one: an open job record with its receipts attached, every step checkable by anyone, no signup to open it.

First published October 6, 2026. Rebuilt October 19, 2026. Updated October 20, 2026. Written against draft-zambo-aer1-23.

Agent audit trail, explained for 2026

The short answer

An audit trail for AI agent work is the ordered, checkable record of what the agent did, what it produced, and whether the saved record still matches what was saved. Each step of the job is saved as a verifiable receipt when it runs, in order, and the job closes under one record. Anyone with the link can re-check any step later, including the client the work was done for, without an account and without trusting the person who ran the agent. A raw log is something else: a log says what the system printed. An audit trail is built so someone else can check it later. In 2026 the term gets attached to ordinary logging tools, and the difference only shows up on the day the record has to convince a skeptic.

Zambo is the verifiable work layer for AI: every call run through it leaves exactly this record, whether the agent runs in Claude, ChatGPT, Gemini, Cursor, or Grok. The receipts follow AER-1, an open format published as an IETF Internet-Draft (draft-zambo-aer1-23). AER-1 is an Internet-Draft, not a finalized standard.

A log is not an audit trail

The log: what the system printed

Who writes it: the system being checked, or the agent itself. When: during the run, after the run, or reconstructed from summaries later. Who can read it: whoever has access to the operator's console. What it can settle: what the system claims happened. The structural problem: the party with an interest in how the story reads controls the only record of the story, and an edit leaves no mark.

The audit trail: built to be checked

Who writes it: the layer that ran the call, at the moment the call ran. When: at run time, never written up afterward. Who can read it: anyone with the link, including the client, an auditor, or the next AI picking the job up. What it can settle: what was recorded, in what order, and whether the record still matches what was saved. The structural difference: each entry carries a digest a stranger can recompute, and the entries sit in a sequence where a missing step shows up as a gap.

Logs fail audits in three quiet ways beyond who controls them. They are written after the fact, so anything reconstructed can be edited invisibly. They are not independently checkable, so reading one means trusting the logger. And they have coverage gaps nobody can see, because a missing line looks exactly like an action that never happened. A trail is designed against all three.

Three moments an audit trail settles

The client disputes the deliverable

The work is delivered, the invoice goes out, and the client replies that half of it is not what they asked for and some of it cannot be found at all. With a log, your evidence is a transcript of the agent describing its own work, plus your assurance. With a trail, you send one link: the job's record, step by step, each step carrying the receipt saved when it ran, including the step that produced the disputed file and the step where the client's own change request came in. The client checks it themselves. The dispute stops being your word against theirs, because both sides are now looking at the same record.

The freelancer proves what their AI produced

A freelancer leans on AI for research, drafting, and data work, and a good client asks the fair question: which parts did the AI actually do, and can I see them? Screenshots prove a result existed on a screen once. The trail answers properly: every AI call behind the deliverable, in order, with the inputs and the saved outputs, on one link the client opens in a browser with no account. The freelancer is not asking to be trusted. They are handing over something checkable, which is a stronger position than any portfolio page.

The team reconstructs a run

Something went wrong overnight: a record changed that should not have, a message sent that nobody approved. The agent's summary says it ran the checks. Did it? In a log, the line that says so was written by the same agent, and a skipped check looks identical to a completed one. In a trail, the team walks the sequence: each step that ran is there with its receipt, failed and refused steps included, and a step that never ran is a visible gap at its position, not a smooth story that skips it. Reconstruction stops being archaeology and becomes reading.

A real trail, opened up

Worked example: a two-step job, closed and recomputed

On October 15, 2026, two live_price calls ran under one session and the job was closed as a workflow. Step 1, receipt 5eec3b86-9a88-45fc-8581-ad0685f7ff2b, recorded BTC $82,356.00 USD at 22:03:37 UTC under output digest sha256:d372d157436912fe2ae44d15158d9eddcf3fc4955b68b6af7754fbee747677b8. Step 2, receipt d79f7426-7f69-49b0-8dc9-00455db27725, recorded ETH $2,459.51 USD at 22:03:39 UTC under output digest sha256:5bb8699055b4f42fbd73b0c296dd60fff9013274701f72bd83080ec28bd8ce82. The closing workflow record binds the two step receipts under one root: 8f4ca419a9f11ba14ad446a3658a91c8f5711e46a7b05c90a7879a75ca178012. That root was recomputed independently from the two step receipt ids alone, using the construction in Section 8.1 of the AER-1 draft, and it matched the served root exactly.

That is the shape of the whole thing. Each step checkable on its own, and the job checkable as a set, because adding, dropping, reordering, or swapping a step changes the root. Checking any single receipt is free and takes seconds at zambo.dev/verify, with no account.

What a real audit trail contains

The unit of the trail is the per-call receipt, and every entry carries the same anatomy:

  • A stable ID. The step can be referenced later, in invoices, tickets, and audit reports.
  • The time it ran. Captured at execution, not backfilled when someone asks.
  • The tool and the caller. Which tool ran, which agent called it, under what scope. Without the caller, you have events with no actor.
  • The exact inputs and the saved result. In a fixed encoding, so the record is checkable instead of merely readable.
  • A digest over the saved result. Anyone can recompute it; if one byte changed after the fact, the check fails loudly instead of passing quietly.
  • Its position in the order. So a missing step shows up as a gap rather than vanishing without a trace.

When the job closes, its step receipts bind into one workflow record that commits to the exact ordered set. How to verify an AER-1 receipt walks the per-receipt check, and the whole-job receipt covers the closing record in full.

Honest limits, stated the way the product states them: a verifiable receipt proves the saved result was not changed since it was saved. It does not prove the work was correct, the policy was good, or the model was right. An audit trail establishes what happened. Judging whether it should have happened is a separate layer, now argued against a record instead of a claim.

AI agent audit trail for delegated work

The hardest audit question lands when the agent was acting for someone: a person handed it a budget, a mailbox, or a client's records, and said get this done. Then the trail has to answer more than what happened. It has to answer under whose authority it happened. That is what an audit trail for AI agents doing delegated work has to prove, and the proof has to be in the record, not in someone's memory of the assignment.

What a delegated-work trail has to bind

Who delegated it: the person or account that handed over the job, and the scope they set. Which agent acted: the agent identity on every call, so work from two agents never blurs into one story. What it touched: the tools it called and the records it read or changed, call by call. What a person approved: the human decisions recorded along the way, including a client's sign-off on a handover and any dispute that followed it. Where one of the four is missing, the trail has a hole exactly where an auditor will press.

Zambo records the caller and its scope on every receipt, and a handover records the human side with it: who the work was packaged for, whether they accepted it, and what they disputed. An approval that happened in a hallway, off the record, leaves nothing to audit. That is the honest limit of any trail: it can only bind what was recorded while the work ran.

How to get one for the AI you already use

The trail is not kept inside any one AI, which is why the same trail covers a job that crosses several of them. The setup depends on the client:

  • Claude: add Zambo as a custom connector (Settings, then Connectors, then add https://zambo.dev/mcp). Connectors are available on every plan; the free plan includes one connector slot.
  • ChatGPT: anyone can pick up and continue recorded work with the pickup prompt. Creating new recorded work from inside ChatGPT takes MCP write access, on Business, Enterprise, and Edu plans.
  • Gemini: no consumer connector support, so Gemini work joins the trail through the paste path: hand the job over with its record attached and the trail continues from there.
  • Grok: Grok takes custom connectors at grok.com/connectors; add the same MCP address there.
  • Cursor, Claude Code, Codex, VS Code: add the MCP address in the client's config file.

Whichever client runs the call, the receipt lands in the same trail, and a job that starts in one AI and finishes in another keeps one continuous record. Start with the live demo: one real call, its receipt in your hand, no signup. Checking is free for everyone, forever. On a heavy day, a $0.99 Day Pass, one time, covers 24 hours of the full machine, records included.

Questions, answered

What is an AI agent audit trail?

An AI agent audit trail is the ordered, checkable record of what an agent did, what it produced, and whether the saved record still matches what was saved. Each step of a job is saved as a verifiable receipt when it runs, in order, and the whole job closes under one record, so anyone with the link can re-check any step later, without an account and without trusting the person who ran the agent. A receipt proves the saved result was not changed since it was saved. It does not prove the work was correct.

What is the difference between an audit trail and a log?

A log says what the system printed. It is written by the system being checked, often summarized or written up after the fact, it lives inside the operator's console, and reading it means trusting the logger. An audit trail is built so someone else can check it later: each entry is saved at run time with the exact inputs and the saved result, carries a digest a stranger can recompute, and sits in a sequence where a missing step shows up as a gap. If the record can be quietly edited afterward, it is a log, whatever it is called.

What should an AI agent audit trail contain?

Six things. A stable ID for each step, so it can be referenced later. The time the step ran, captured then, not backfilled. The tool that ran and the agent that called it. The exact inputs and the saved result, in a fixed encoding. A digest over the saved result that anyone can recompute. And the step's position in the job's order, so an omitted step is visible as a gap. For a whole job, the trail also closes under one record that commits to the exact ordered set of steps.

What does an AI agent audit trail show when the work was delegated?

Four things, bound into the same record. Who delegated the job and the scope they set. Which agent acted, on every call. What the agent touched: the tools it called and the records it read or changed. And what a person approved along the way, including a client's sign-off on the finished work. If one of the four is missing, the trail has a hole where an auditor will press. An approval that happened off the record leaves nothing to audit, so approvals belong in the record while the work runs.

Can an audit trail prove my AI agent did the work correctly?

No, and an honest trail never claims it does. The trail proves the recorded actions happened as recorded and that the record was not altered afterward. It does not prove the actions were wise, the answer was right, or the agent's summary was fair. What it changes is the argument: instead of your word against theirs, both sides look at the same record, including the step that went wrong, because failed and refused steps are recorded the same way as successful ones.

How do I get an audit trail for the AI I already use?

The trail does not live inside any one AI, so the setup depends on the client. In Claude, add Zambo as a custom connector: Settings, then Connectors, then add https://zambo.dev/mcp. Connectors are available on every plan, and the free plan includes one connector slot. In ChatGPT, anyone can pick up and continue recorded work with the pickup prompt; creating new recorded work from inside ChatGPT takes MCP write access, which is on Business, Enterprise, and Edu plans. Gemini has no consumer connector support, so Gemini work joins the trail through the paste path: hand the job over with its record attached and the trail continues. Grok takes custom connectors at grok.com/connectors, so add the same MCP address there. In Cursor, Claude Code, Codex, and VS Code, add the MCP address in the client's config file. Whichever client runs the call, the receipt lands in the same trail.

How much does an AI agent audit trail cost?

Checking any receipt in the trail is free, for you and for whoever you send it to, and the record-keeping runs on the same free tier as the tools on a normal day. On a heavy day, a $0.99 Day Pass, one time, covers 24 hours of the full machine, records included. There is no per-receipt fee and no audit add-on: the trail is what the work leaves behind when it runs through the connector.