Skip to content
AI GovernanceFebruary 11, 2026Updated October 20, 202615 min read

AI Agent Audit Trails: LLM Observability vs Audit-Grade Evidence

What LLM observability traces record, what an EU AI Act audit trail adds, and the fields that let an auditor verify, trace and replay an AI agent action.

Antonella Serine

Antonella Serine

Founder, KLA

Founder of KLA, building the independent runtime governance control plane for regulated AI agents under the EU AI Act.

Scope, evidence, and sources

Reference notes

Scope, evidence, and sources

Definition

An AI agent audit trail is an ordered, integrity-protected record connecting an agent action to its identity, inputs, model and prompt versions, tools, policy decision, human authority, output, side effect, and downstream result. It supports investigation and replay by preserving the context required to explain why the action was allowed, held, blocked, or reversed.

Scope and exceptions

Applies when
Use this evidence model when an agent makes consequential decisions, calls write-capable tools, handles regulated data, or must support audit, incident response, monitoring, or replay.
Exceptions
Developer telemetry can serve engineering debugging on its own. Add decision, authority, outcome, retention, and integrity fields when the record supports a regulated action or assurance claim.

Decision framework

  1. Decision lineage: identity, purpose, model, agent, policy, and human authority.
  2. Policy enforcement: the rule, version, verdict, reason codes, and timing.
  3. Execution and outcome: ordered tool calls, state changes, side effects, and receipts.
  4. Integrity and context: completeness, hashes, signatures, retention, provenance, and replay inputs.

Minimum evidence

  • Execution, session, Process, Journey, correlation, agent, model, prompt, and environment identifiers.
  • Input and retrieval references, tool name and parameters, policy version, verdict, approval, and reviewer authority.
  • Output, side-effect, before/after state, downstream receipt, exception, rollback, and incident references.
  • Record hashes, manifest, signatures, chain of custody, retention metadata, and verifier result.

Worked regulated workflow

Replay of a credit-review decision

Scenario: An agent prepares a credit recommendation and routes a borderline case to an underwriter before the bank records the outcome.

Workflow: The audit trail binds the customer-case reference, agent identity, model and prompt versions, retrieved inputs, policy verdict, reviewer authority, rationale, final write, and notification. The evidence bundle records hashes and signatures so a reviewer can verify completeness and replay the decision sequence without relying on screenshots or memory.

Questions buyers ask

Why are standard AI agent logs insufficient for an audit?
Technical logs often show timestamps, tokens, and latency while omitting the policy, authority, approval, business effect, completeness, and integrity facts that establish accountability for one action.
What fields belong in an AI agent audit trail?
Capture stable identities, execution and case references, model and prompt versions, retrieval and tool events, policy and approval results, outputs, side effects, downstream receipts, privacy references, and integrity metadata.
How do I replay an AI agent decision?
Resolve the original versions, inputs, tool calls, policy context, approval, and outcome from one execution identifier. Reperform the decision in a controlled environment and document deterministic results or an approved tolerance.
What proves that an AI agent audit trail was not altered?
Use a sealed evidence bundle with a manifest, hashes, signatures, chain-of-custody records, retention metadata, and an independent verification step that detects omission or modification.

Primary sources

Reviewed:

How KLA Control Plane implements this

KLA Control Plane records the policy verdict, approval or escalation, ordered execution events, downstream outcome, and integrity metadata in Execution Lineage. Evidence Room can package the record as a Sealed Evidence Bundle for independent review.

Technical reference
Read the technical reference

Scope boundary: KLA governs the agent action and its evidence. The underlying transaction system, legal retention interpretation, and regulator-facing submission remain owned by the organization and its systems.

LLM observability and an AI agent audit trail can share a trace ID and still answer different questions. An observability trace records how a model call or agent step ran: the operation, model, token counts, latency, errors and, when content capture is switched on, the messages. An audit-grade trail records why an action was allowed, who held authority over it, which policy version decided it, what the tool changed and how anyone can verify the record later. For a high-risk system under the EU AI Act, the audit trail carries the traceability that Article 12 asks for, and the trace helps engineers run the system.

This guide compares the two field by field, records one synthetic action both ways, sets out what the EU AI Act asks of logs, and lists what to add to an observability stack. The enterprise AI agent audit framework places the record within the full audit method, and its completed audit workpaper tests one action from permission to outcome.

What LLM observability records

Many LLM observability tools emit or ingest OpenTelemetry data. The OpenTelemetry semantic conventions for generative AI define spans for inference, embeddings, retrieval, memory and tool execution, with attributes such as gen_ai.operation.name, gen_ai.provider.name, gen_ai.request.model, gen_ai.usage.input_tokens and gen_ai.tool.name. The conventions carry Development status, so names can still change.

Content is Opt-In in those conventions. Model input and output (gen_ai.input.messages, gen_ai.output.messages), tool arguments and results (gen_ai.tool.call.arguments, gen_ai.tool.call.result) and retrieved documents (gen_ai.retrieval.documents) are recorded only when someone enables them. A trace with default settings can show that a tool ran and how long it took, with no record of what it was asked to do or what it returned.

This data serves engineering well: finding a failed step, a slow retrieval or an expensive prompt, and comparing prompt versions. Engineering use also explains the usual storage choices: sampling to control volume, retention set by storage cost, and stores that operators can edit or purge.

We met the gap between the two records in our own product. In a merchant-onboarding proof of concept in September, the case history linked each step to Lineage Explorer, and the links showed "Trace not found" for a run paused at a sign-off. The run published its trace spans only when it finished, while the gate receipt for the pending decision already existed. We changed Lineage Explorer to read the steps the run had recorded so far from the execution record when no trace has been published, and to say that the run has not ended.

What an audit-grade trail adds

An auditor, regulator or legal team reviewing one agent action asks questions a trace was not designed to answer. The table maps each question to a typical observability field and to the field that answers it in the vendor-neutral AI agent audit log schema.

Observability fields compared with audit-trail fields
Auditor questionTypical observability fieldAudit-trail field (audit event v1)Gap in the trace
For whom did the agent act, and who owns the outcome?gen_ai.agent.name, gen_ai.conversation.id, service nameactors.requester, actors.delegated_user, actors.service_identity, actors.accountable_ownerThe trace names the agent process and seldom the delegating person or accountable owner
Which release ran?gen_ai.request.model, gen_ai.response.modelcomponents.agent.version, components.model.version, components.prompt_template.version, each with configuration_digestA model name alone does not resolve to an approved agent, prompt and orchestrator release
Which policy decided, and was it checked before the action?No GenAI span for policy decisionspolicy.policy_id, policy.policy_version, policy.policy_digest, policy.inputs_digest, policy.decision, policy.matched_rule_ids, policy.evaluated_atPolicy checks appear, if at all, as custom spans with no fixed meaning
Did a person with authority approve?No GenAI span for approvalsapproval.required_role, approval.reviewer, approval.decision, approval.decided_at, approval.presented_evidence_digestThe trace cannot show what the reviewer saw or whether they held the role
What did the tool change?gen_ai.tool.name, gen_ai.tool.call.id; arguments and result if opted intool_calls[].arguments_digest, result_digest, idempotency_key, downstream_effects[].before_state_digest, after_state_digestNo link from the call to the state change in the system of record
Is every action in the population?Sampled tracessequence, lineage.ordered_event_ids, reconciliation with the originating systemSampling drops records by design
Has the record changed since it was written?Noneintegrity.record_hash, integrity.previous_event_hash, integrity.signatureTrace stores are usually editable and expire on a storage schedule

One synthetic action, recorded both ways

A fictional bank’s credit agent records a EUR 24,000 credit disposition. The observability trace for the tool step looks like this. Values are synthetic.

Observability span (synthetic, content capture off)
{
  "name": "execute_tool set_disposition",
  "trace_id": "4bf92f3577b34da6a3ce929d0e0e4736",
  "span_id": "00f067aa0ba902b7",
  "start_time": "2026-07-21T09:14:31.944Z",
  "end_time": "2026-07-21T09:14:32.433Z",
  "attributes": {
    "gen_ai.operation.name": "execute_tool",
    "gen_ai.tool.name": "set_disposition",
    "gen_ai.tool.call.id": "call_01JZ8V4R1E7P3M9C5Q2T6N8D0A",
    "gen_ai.agent.name": "Credit review agent"
  },
  "status": "OK"
}

The audit event for the same action

The audit event for the same call is the public synthetic complete execution record. It carries the same trace_id and span_id, so the two records join. It adds what the span lacks: the delegating user and accountable owner, the policy credit-disposition-policy 4.2.1 returning require_approval under rule manual-review-above-20000, the senior underwriter’s approval at 09:14:31.902Z before the call at 09:14:31.944Z, the arguments and result digests, the before and after state digests in core banking, the business outcome, and a record hash with an Ed25519 signature.

An auditor can verify the signature, check that the approval preceded the call, re-run the policy over the recorded inputs and trace the effect reference into core banking. With the span alone, the auditor can confirm that a tool named set_disposition returned without error.

What the EU AI Act asks of logs

Article 12(1) of the EU AI Act requires high-risk AI systems to technically allow automatic recording of events over the system’s lifetime. Article 12(2) ties that logging to identifying situations that may create risk or a substantial modification, to post-market monitoring, and to the deployer’s monitoring of operation. Article 12(3) sets minimum fields for remote biometric identification systems only.

Article 19(1) requires providers to keep automatically generated logs under their control for at least six months, unless other Union or national law provides otherwise. Article 26(6) sets the same minimum for deployers. Corrective action sits in Article 20; quality management, including record-keeping procedures, in Article 17.

The Act leaves the field list to the provider for most high-risk systems. For an agent, traceability of a decision usually means the actor, release, policy, approval, tool effect and outcome fields in the table above. Regulation (EU) 2026/1744, published on 24 July 2026, moved the application date for Article 6(2) and Annex III high-risk systems to 2 December 2027 and for Article 6(1) and Annex I systems to 2 August 2028. The Article 12 logging guide covers the duty in detail.

The four layers of an evidence pack

An evidence pack bundles the audit trail for one decision or one period so a reviewer can check it outside the producing system. The Evidence Room sample shows one export.

  • Decision record: identifier, time, decision type, outcome and risk classification. Every other artifact refers to it.
  • Input context: what the agent read, with source references and versions; the model, prompt and policy versions in effect. How to prove what an AI agent read sets out the read record.
  • Governance evidence: policy decisions with matched rules, Decision Requests with reviewer and rationale, escalations and overrides.
  • Integrity: a manifest of artifacts with SHA-256 digests, signatures, timestamp anchors and chain of custody, so a reviewer can verify the pack offline.

Architecture patterns for audit-grade records

These patterns sit on the action path. They need the agent to call tools through a checkpoint that can evaluate policy and record the result.

A field missing when a record is sealed cannot be added later. At the start of September 2026 a code trace of our own platform found that some in-platform decision records and sealed receipts did not name the acting agent. Sealed receipts cannot be backfilled, so every day without the field added records an auditor could not tie to an agent. We added agent identity to decision records and to sealed gate receipts within two days. Decide the field list before the first production record.

  • Write at decision time: record the policy decision before the action proceeds and the approval before the tool call. A record assembled afterwards from logs cannot show order reliably.
  • Append-only storage: store events where existing entries cannot be edited or deleted, and chain each record to the previous one by hash.
  • Sign and seal: sign each record, and seal exports with a manifest and signature that a reviewer can check with published keys.
  • Keep content resolvable: a digest proves a match only if the content can be produced later. Keep the source version or a protected copy for the retention period.
  • Record what replay needs: decision inputs, the pinned policy version and recorded model output. Deterministic replay for AI agent decisions lists the full set and its limits.
  • Join to telemetry: carry trace_id and span_id in the audit event so engineers and auditors can move between the two records.

Building the evidence layer on an observability stack

Teams with tracing in place can add the evidence layer in phases.

  • Phase 1, define the questions: list the decision types with audit or legal exposure and the questions an auditor will ask about each.
  • Phase 2, place checkpoints: route consequential tool calls through a policy checkpoint that records actor, release, policy, approval and effect fields.
  • Phase 3, protect integrity: move audit events to append-only storage with hashing, signatures and sealed exports.
  • Phase 4, test the record: sample actions, verify signatures, reconcile the population and replay decisions. The AI agent audit checklist and the audit workpaper give the tests.

Frequently Asked Questions

Can LLM observability tools serve as an EU AI Act audit trail?

Observability traces cover part of it. In the OpenTelemetry GenAI conventions, content is Opt-In and there are no spans for policy decisions or approvals. An EU AI Act audit trail for an agent also needs the delegating person, the policy version and outcome, the approval, the tool’s effect on the system of record, population completeness and tamper evidence. Join the trace to an audit event that carries those fields.

How do I create audit trails for AI agent actions?

Assign one execution identifier and record the agent and human identities, release versions, what the agent read, tool calls and results, policy decisions, approvals, outputs, side effects and timestamps. Write the records at decision time to append-only storage and seal exports with a manifest and signatures.

How do I audit and replay AI agent decisions?

Select an execution from a reconciled population, verify its integrity, resolve the recorded policy version and re-run the policy over the recorded inputs with no tool access. Compare outcome and matched rules with the record. Test the tool’s external effect separately against the downstream system, because a replayed decision does not prove it.

What is an evidence pack?

An evidence pack bundles the decision record, input context, governance evidence and integrity material for one decision or period, so a reviewer can verify it outside the system that produced it.

Which EU AI Act articles cover logs?

Article 12 requires automatic event logging for high-risk systems. Article 19(1) and Article 26(6) require providers and deployers to keep the logs under their control for at least six months unless other law provides otherwise. Article 17 covers quality management, including record-keeping.

What is append-only storage and why does it matter?

Append-only storage accepts new records and refuses edits and deletions of existing ones. With hash chaining and signatures, it lets a reviewer detect any change to the trail after it was written.

Key Takeaways

Keep observability for running the system, and add an audit event on the action path for proving how a decision was governed. Join the two by trace ID. Record what the agent read, the policy version, the approval, the effect and an integrity proof for each consequential action. Use the AI agent audit checklist to test those records, the readiness assessment to find gaps, and Execution Lineage to see how KLA joins the records for one run.

AI Agent Audit Trails: Actions, Evidence & Replay