The Defender’s Guide to AI Agents·Chapter 5

What to Log for AI Agents — and What Each Platform Actually Gives You

What to log

This is the most useful thing most teams can do this quarter, and the least glamorous. The attacks in Chapter 3 are not hard to detect because they are subtle. They are hard to detect because the events that would reveal them are not written down anywhere.

5.1 · Start with six events. If you collect these six, most of Chapter 6 becomes possible; if you collect none of them, nothing in Chapter 6 is available to you at any price. They are the highest-value subset, not the complete set - 5.6 gives the full sixteen families, and the reason the short list is not enough is that a production agent estate is a distributed system whose evidence is scattered across a dozen platforms.

EventWhat it recordsWhy this one
1 · Context admission A piece of content entered the agent's working set. Where it came from, whether the source is internal or external, its size, and a fingerprint of it - not the content itself. This is stage 2 of the chain, and it is the only record you will ever have of what the agent was told. Without it, no investigation can start.
2 · Tool call Which tool, which version of it, the shape of the arguments, whether it succeeded, and how long it took. Stage 5. The single highest-value event in the whole list, and the one most often absent.
3 · Memory write What was written, by which agent, in which session, and which context admission preceded it. Stage 7. That last field is what makes a delayed attack findable - it links what was remembered to what had just been read.
4 · Identity assertion Which non-human identity acted, which credential it used, what that credential's scope was at the time, and which human owns the agent. You mostly have this already. What is missing is the mapping from account to agent to owner, without which an alert has nowhere to go.
5 · Agent-to-agent call Caller, callee, what was asked - and, critically, the identifier of the original instruction three hops back. Stage 4. Without the origin field you can see the conversation and never learn where it started.
6 · Configuration fingerprint Attached to every consequential action: which model version actually answered, plus a fingerprint of the system prompt and of the list of available tools. This is what lets you answer "what was running when this happened" six months later. Chapter 8 is entirely about why the model alone is not enough.

5.2 · The rule that makes this possible: the content never leaves the sensor.

You record that a document entered, where it came from, how big it was, what class of data it held and a one-way fingerprint of it. You do not record the document. Same for prompts, answers and tool arguments - shapes, sizes, classes and fingerprints, never the text.

Three reasons, and all three matter. The volume is otherwise impossible - a single agent can process more text in a day than a mail gateway. The content is frequently your customers' personal data, and copying it into a security platform creates a second, worse copy of your worst exposure. And a fingerprint is enough for every question you will actually ask: did the same content appear before this action and that one?

If someone proposes logging full prompts and responses, this is the objection to raise, and it is the one your privacy team will thank you for.

Where these events actually come from

This is the part that is usually missing, and it is why "we should log our agents" tends to die in a meeting. Below is what each major platform actually gives you, what it withholds, and what you have to switch on. Vendors are named here because this is where their consoles are - not because any of them is worse than the others.

Two things to notice before the table. Almost all of it is off by default. And what each platform omits is more informative than what it collects - the omissions tell you which of your six events are simply unavailable today.

Platform What to turn on What you get What you do not get
ChatGPT
Enterprise / Edu
Compliance Logs Platform
Compliance Platform → Compliance Logs Platform. Workspace-scoped admin key; a workspace owner must grant the conversation messages permission separately. Audit, authentication, app logs and conversation messages, including message text and file contents. Pulled from api.chatgpt.com/v1/compliance. Retention is 30 days, and the documentation tells you plainly to build something that downloads continuously if you want longer. There is no push export - no bucket, no webhook. Whether the conversation records carry the model version, tool calls or connector configuration is not publicly documented, so treat those as unknown rather than absent. Business tier is not covered at all.
OpenAI API Audit Logs API and Usage API, via an organization admin key. Audit logging must be enabled before anything is recorded - it is not retroactive. Administrative events only: keys created, logins, projects, roles, SCIM. Usage gives model, project, key and token counts. No prompts, no responses, no tool calls. The docs state outright that audit logs are separate from request and response content.
Claude
Enterprise
Compliance API, with a Compliance Access Key created in the product. Recording starts when you enable it and is not backfilled. The richest of the set for our purposes. Per message: the model that served it, and for every tool call the tool name, its input, the integration name and the MCP server URL. Retained six years. Audit log CSV export covers 180 days. Documented omissions, and they are the interesting part: reasoning is never included, the system prompt is never returned, and tool definitions and MCP server configuration are not part of the transcript. Images and PDFs come back as placeholders. Team tier gets no audit logs.
Microsoft 365
Copilot
Purview Audit (included for Microsoft's own Copilots). Look for record type CopilotInteraction. The single most useful field anywhere in this table: AccessedResources - every file, document and email Copilot opened to answer, each with its sensitivity label and a flag for whether cross-prompt-injection was detected in it. Also which model and version answered. Not the prompt or the response. The audit record carries message identifiers and sizes, not text. The text lives in the user's mailbox and is reached through eDiscovery, or Activity Explorer if you hold the right role, or Communication Compliance - three different products, three different licenses. Third-party AI app records need pay-as-you-go billing enabled.
Azure OpenAI /
Microsoft Foundry
Diagnostic settings on the Cognitive Services account: categories Audit, RequestResponse, Trace, AzureOpenAIRequestUsage. Send to Log Analytics, Storage or Event Hubs. Request metadata, usage, and network events. Despite the category name, the built-in logs do not contain prompt or completion text. The supported way to capture content is Foundry tracing into Application Insights - off by default, and the documentation explicitly advises against enabling content capture in production.
Amazon
Bedrock
Model invocation logging - disabled by default. Enable in settings or via PutModelInvocationLoggingConfiguration. Choose CloudWatch Logs, S3, or both. Full request and response bodies, token counts, the calling identity, and the model or inference-profile ID. CloudTrail separately records InvokeModel by default as a management event. CloudTrail records the call, never the content. Bodies over 100 KB and binary data are not inline - they go to S3 with a pointer. And the agent trace, which is the only thing showing an agent's reasoning and its tool calls, is returned in the API response and written nowhere: if your own code does not persist it, it is gone.
Google Vertex /
Gemini Enterprise
Data Access audit logs - off by default and must be explicitly enabled. Request-response logging writes to BigQuery. Agent tracing is opt-in, exporting OpenTelemetry spans to Cloud Trace. Admin Activity logging is always on and cannot be disabled. Request-response logging covers Gemini and partner models. Verifying the detail here required documentation we could not retrieve, so several specifics - which methods are audited, the BigQuery schema, whether a resolved model version is recorded anywhere - are genuinely unconfirmed rather than absent. Check them in your own console before relying on them.
Google Workspace
with Gemini
Gemini for Workspace log events, in the admin console or through the Reports API as gemini_in_workspace_apps. Which action, in which app, from which surface, by whom. Not which files were read as grounding. Those surface separately in Drive log events as Item content accessed - and only, per the documentation, when content is accessed outside a file the user already has open on the web.

Read the fourth column again and map it onto the six events. Two of them are broadly unavailable today, from anyone.

Tool calls: available on some platforms, absent or undocumented on others. Memory writes: essentially nowhere. And the thing an investigator most wants - what the agent was told, what it concluded, and what configuration it was running - is the thing most consistently excluded, sometimes in so many words.

That is not a reason to give up. It is the reason to find out which of the six you can have, this quarter, on the platform you already own - and to put the rest in writing as an accepted gap, so that nobody is surprised by it during an investigation.

Four things worth knowing before you design anything

  • Nothing here is retroactive. Every one of these systems begins recording when you switch it on. Enabling logging on the day you have a question is a day too late, every time.
  • The pull-only problem. None of the chat platforms push logs anywhere. You build the downloader, you run it on a schedule, and you keep it alive. With a thirty-day window on one of them, a fortnight of downtime in that job is a permanent hole.
  • Identity logging is the one place you are well served. Agent identities now appear in ordinary directory audit and sign-in logs with their own event type and agent-type fields, and they are listable through the directory console or its API. If you do one thing on the identity surface, it is available today.
  • Names move. Console names, product names and even table names in these platforms change every few months, and at least one agent inventory table has already been renamed. Write down what you enabled and where, because the menu you used may not exist next year.

What a normal week looks like

You cannot spot the abnormal without the ordinary. Before you write a single detection, spend two weeks just counting. For each agent you want to be able to state, from data rather than from belief:

  • Which tools it calls, and roughly how often. Most agents use three or four tools over and over and touch the rest almost never.
  • Which document collections it retrieves from, and what proportion of what it reads originates outside the organization.
  • Where it connects to. This list is almost always shorter than anyone expects, which is exactly what makes it a good control.
  • How much text it processes in a typical session, so that a session ten times larger is visible as a number rather than a feeling.
  • Whether it writes to memory at all, and if so how often.

Two weeks of counting will also produce your first three findings for free, because at least one agent will turn out to be reaching something nobody knew about.

Say this on Monday

"Before we buy anything, can we collect six events for one agent for two weeks? If we can't, that's the finding."


The correlation spine

Collecting the events is the easy half. If an investigator cannot join them into one sequence, you have a pile of activity logs and not an audit trail - and the difference only becomes apparent on the day it matters, which is the worst possible day to discover it.

Every event in every family should carry the same set of joining fields. Not all of them apply to every event; the rule is that where a field could be populated, it is.

Diagram showing human authority, agent context, identity, policy and model, tool and API activity, and data outcomes joined by shared correlation identifiers into SIEM and XDR, detection engineering, investigation, and controlled response.
The AI agent correlation spine: join authority, context, identity, policy, model, tool activity, and target-system outcomes before detection and response.
GroupFieldsWhat it lets you answer
Trace trace_id · span_id · parent_span_id The spine itself. These are W3C Trace Context - a stable, standardized, widely implemented recommendation, not something specific to AI. If your platform already propagates them, you are further along than you think.
Conversation conversation_id · workflow_id · task_id · step_id · sequence_no Which exchange this belonged to, and where in it. Be careful here: the emerging convention says an instrumentation library should populate a conversation identifier only if it already has one, and warns implementers not to invent a fallback. Joining on it is best-effort, and your architecture should say so.
Actor agent_id · agent_instance_id · human_principal · workload_identity · delegation_id Who delegated this authority, and to what. The distinction between the agent as a design and the agent as a running instance is the one most inventories miss.
Authority approval_id · approved_action_digest · permitted_scope · expiry What a human actually authorized, as opposed to what happened. See 5.9.
Action tool_id · tool_call_id · action_id · target_id · downstream_audit_uid What was attempted, against what, and - through that last field - what the target system itself says happened. See 5.10.
Version model_version · agent_version · tool_version · policy_version · config_fingerprint · schema_version What was running. Chapter 8 explains why the model alone is not enough.
Integrity record_hash · prev_record_hash · collector_version · evidence_uri Whether the record you are reading is the record that was written, and where the fuller evidence lives if you are entitled to it.

The test of a correlation spine is whether one query answers nine questions.

Who delegated the authority. What information the agent consumed. Which model and which policy shaped the decision. What action was proposed. What the approver actually authorized. Which tool attempted it. What ran in the runtime. What left the trust boundary. And what the target system confirms was changed.

If answering those takes nine tools and a person who remembers how it all fits together, you do not have an audit trail. You have nine logs and a folk memory.

One honest limit. Correlation across organizational boundaries is unsolved. When your agent delegates to a partner’s agent, no standard makes the two audit trails consistent or cross-referenceable, and published work on agent identity says so plainly. Inside your own estate this is achievable today. Across a boundary, write it down as accepted risk rather than assuming someone has handled it.


Sixteen event families

Now the correction to 5.1. Six events is where you start, not the whole of it.

A production agent estate is a distributed system, and the evidence is scattered across the agent framework, the identity provider, the model gateway, the retrieval layer, the memory store, the tool servers, the runtime, the network, the cloud platform, and the application the agent actually changed. Sixteen families, below. Treat them as families rather than as record types - one product may emit four events for one family, and your job is to normalize them into a shape an investigator can use.

#FamilyWhat it capturesWhy an investigator needs it
1Agent lifecycleCreated, registered, configured, deployed, version changed, suspended, retiredEstablishes that the agent existed and who made it. Also the only way to find the ones nobody declared.
2Context admissionWhat entered the working set, its origin, trust class, size, fingerprintThe only record of what the agent was told.
3Retrieval authorizationWhich store was searched, under whose permissions, what was returned, what was filteredCatches the case where the agent legitimately retrieved something the requester should never have seen.
4Model invocationModel requested, model that answered, provider, route, tokens, latency, finish reasonRequest and response model differing is a detection in its own right.
5Policy and guardrail decisionsWhich policy, which version, allow or deny, reason code, what was redactedA denial followed by a rephrased retry is one of the clearest attack signatures available.
6Planning stepsPlan produced, steps, revisions, reason codes - the structured decision, not the hidden reasoningLets you reconstruct intent without ever touching chain-of-thought. See the note below.
7Tool executionTool, version, argument shape, target, outcome, duration, server identityStill the single highest-value event.
8Memory lifecycleWrite, read, update, expire, delete - with what was read immediately before the writeDelayed-detonation attacks are visible here and nowhere else.
9Identity and delegationToken issued, exchanged, delegated, scoped, renewed, revoked; which identity actedAnswers “on whose authority” - the question every investigation reaches by minute ten.
10Approval and decision authorityWhat was proposed, what was shown to the approver, who approved, what expiry appliedWhat the human actually saw is a different fact from what the agent did.
11Handoffs and durable tasksAgent-to-agent calls, queued and resumed work, the origin of the original instructionWithout an origin field you can see the conversation and never learn where it started.
12Authoritative action outcomesThe target system’s own record of what changedThe only evidence that the action actually happened. See 5.10.
13Runtime executionProcesses, sandboxes created and destroyed, code executed, files writtenWhere “the agent wrote and ran a script” becomes visible.
14Data egressOutbound connections, destinations, volumes, rendered remote content, uploads, downloadsThe stage where the loss actually occurs.
15Supply chain and configurationTool catalog changes, tool description changes, prompt changes, index and embedding changes, policy changesA tool that was safe when you approved it and is not safe now.
16Resource, loop and telemetry healthSpend, rate limits, loop counts, dropped spans, collector errors, clock skew, sequence gapsBoth a cost control and - per 5.11 - a security signal in its own right.

Say this on Monday

“We have three of the sixteen. Let’s agree which five we add this quarter and write the other eight down as a known gap, so nobody is surprised during an incident.”


Where the evidence actually lives

The families above do not map one-to-one onto systems. Thirteen planes hold the evidence, and most organizations onboard two of them and call it agent logging.

1 · Inventory

Agent registry and lifecycle. Where agent identities are created and named.

2 · Orchestration

The workflow engine. Plans, steps, handoffs, durable tasks.

3 · Model

Provider and gateway. Invocations, routes, versions, spend.

4 · Identity

Directory, delegation, privileged access, OAuth, secret management.

5 · Retrieval

Search, vector stores, knowledge bases, and the permissions applied to them.

6 · Memory

Short-term context and long-term stores.

7 · Tools

MCP hosts, clients, servers, registries, gateways.

8 · Approval

The interface a human approves in, and the policy engine behind it.

9 · Systems of record

The applications the agent changes. Usually owned by somebody else.

10 · Runtime

Endpoint, container, sandbox, browser automation.

11 · Network

Proxy, DNS, cloud access broker, data loss prevention.

12 · Build

Source control, pipelines, artifact registries, configuration stores.

13 · Evidence

Collectors, the SIEM, the data lake, the time source, the evidence vault.

Nine sources inside those planes are routinely missed, and each of them hides a class of incident that model-provider logs alone will never show you:

  • Tool catalog and schema changes. The description a tool presents to the agent is an instruction. Changing it changes behavior without changing a line of your code.
  • Prompt cache scope and invalidation. A cache shared across the wrong boundary is a data leak that looks like a performance feature.
  • Context compaction and truncation. When the window fills, something is dropped. If your safety instructions are what got dropped, you would like to know.
  • Index, embedding model and chunking changes. Re-embedding a corpus silently changes what every future query returns.
  • Document tombstones and permission propagation delay. A file deleted or re-permissioned is often still answerable from the index for some period. Nobody measures that period.
  • Browser automation. Redirects, page access, screenshots, clipboard, uploads and downloads.
  • Ephemeral sandboxes. Created, used and destroyed inside a single task, taking the evidence with them.
  • Secret and capability leases. Issued, used, renewed, revoked - and the gap between “revoked” and “actually stopped working”.
  • Telemetry configuration itself. Sampling, redaction, exporters, parsers, retention. See 5.11.

Three tiers of evidence

A correction to 5.2. “The content never leaves the sensor” is the right default and the wrong absolute.

It is correct for routine operation, where the volume and the privacy exposure make content collection indefensible. It is wrong for a declared incident, where an investigator who can see only hashes cannot establish what happened.

A tier model resolves it. This ladder is our own synthesis rather than an established standard - there is no published AI-specific evidence-tiering guidance to point you at, and the relevant work is still unfinished. The generic forensic principles underneath it are long settled.

TierTriggerWhat is keptWhere it lives
Tier 0
Operational
Always Identifiers, hashes, counts, data classifications, policy outcomes, versions, timings, status. No content. The SIEM. Affordable at volume, safe to retain, safe to query widely.
Tier 1
Minimized
High-risk actions and anomalies Redacted and minimized evidence - the argument shapes, the retrieved document identifiers, the text a human approver was shown. A restricted, encrypted evidence store. Access logged. Short retention by default.
Tier 2
Preservation
Declared incident or legal hold Full preservation with chain of custody. Evidence vault, named custodian, access on approval only.
Never - Secrets, private keys, raw tokens, regulated data you do not need, and hidden model reasoning.

On that last exclusion, because it gets argued about. Defenders do not need the model’s internal chain-of-thought, and asking for it confuses two different things. What you need is the structured decision record: which sources were used, which policy version applied, what action was proposed, what class of alternatives was considered, what risk tier it fell into, what reason code was given, who approved it, what actually executed, what the downstream system confirmed, and whether a rollback succeeded. That is reconstructable, auditable, and does not require reading the model’s mind.

One regulatory anchor worth knowing. Under the EU AI Act, providers of high-risk systems must design in automatic logging, and deployers must retain those logs for at least six months. If any of your agents fall in scope, your retention floor is set for you.


Binding approval to the action that actually ran

Chapter 7 recommends an authority ladder: low-impact actions pre-authorized, larger ones needing an approver. That is worth nothing if the thing executed is not the thing approved.

Six ways the gap opens, all of them mundane:

  • The agent revises the target after approval - same action, different resource.
  • Parameters widen between proposal and execution, expanding the blast radius.
  • An approval is replayed after it should have expired.
  • A low-risk proposal becomes a destructive one through a retry or a reformulation.
  • Execution happens under a different identity or in a different environment.
  • A compromised tool interprets the approved request differently from the interface that displayed it.

Compute a digest of the action at approval time. Recompute it at execution. If they differ, the action does not run.

The digest covers the tool, the method, the target, the normalized parameters, the delegated identity, the permitted scope, the environment and the expiry - everything that would change the meaning of “yes”. Carry it as approved_action_digest on the approval record and execution_action_digest on the execution record, and make the comparison a precondition rather than an alert.

This closes the distance between a person clicked approve and the system executed precisely what that person approved.

Attribution

This mechanism is our recommendation, not an industry standard

Be precise about what is established here and what is not, because the distinction will come up in a design review.

Established: the requirement. Published agent security guidance says to bind approval to the exact action and to include the actor, tool name, target resource, normalized parameters, timestamp and expiry in the approval record, and to use short-lived authorization artifacts with replay protection for irreversible operations.

Not established: the digest-and-compare mechanism, and the field name. No agent standard specifies hashing the action at approval and comparing at execution.

The precedent it generalizes from is payments, where this has been regulated practice for years. European strong customer authentication requires the authentication code to be dynamically linked to the specific amount and payee, and any change invalidates it. A web standard binds an authentication assertion to specific transaction data. And an agent payments protocol published in 2025 has the user sign a mandate carrying the exact transaction details, producing a non-repudiable trail.

All three do for money what this does for any consequential action. Presenting it as an existing agent standard would be wrong; presenting it as an unproven idea would be equally wrong, because the pattern is two decades old in the one domain that was forced to solve it.


A tool returning success is not evidence that anything happened

This one sounds pedantic until the first time it costs you.

A tool call returns success. That means the tool believes it sent the request. It does not mean the target system accepted it, completed it, completed all of it, or kept it. The downstream system may have rejected it, partially applied it, retried it into a duplicate, or reversed it thirty seconds later by its own rules.

So the tool call is a claim, and the target system’s own audit record is the evidence. Join them - carry a downstream_audit_uid from the tool call to the authoritative record in the affected system: the cloud audit log, the identity log, the SaaS audit trail, the database transaction, the pipeline record, the mail audit.

Once the join exists, six failures become visible that are otherwise invisible:

What you can seeWhy it matters
Claimed success, no downstream eventEither the tool is lying, or something between them dropped it. Both are worth knowing, and one of them is an incident.
Partial transactionsHalf a change is often worse than none - particularly for permissions.
Duplicate executionRetries that each succeeded. Common, rarely logged, occasionally expensive.
Rollback that did not roll backThe compensating action reported success too.
Residue after containmentPermissions or data still present after you believed you had removed them.
Intended state ≠ actual stateThe gap between what the workflow believes and what the system holds.

The operational rule: a high-impact workflow does not proceed to its next step on the strength of a tool’s own success message. It proceeds on confirmation from the system that was supposed to change.

Attribution again. This is our recommendation. We could find no published guidance stating that tool success is insufficient and the target system’s audit record should be joined, and no established name for the pattern. It is ordinary corroboration practice from incident response - prefer the authoritative log over the intermediary’s self-report - applied to a place nobody has applied it yet.


When the telemetry itself is the target

An agent with the power to change your systems has, quite often, the power to change your logging. A compromised agent that suppresses the evidence is not a hypothetical, and unlike most of this guide it is not even novel - it is an old technique arriving in a new place.

Treat loss of observability as an event class, not an operational annoyance. The signals:

Configuration

Tracing disabled. Sampling reduced. Redaction rules changed. Exporters repointed. Retention shortened without a change record.

Pipeline

Collector queue overflow. Dropped spans. Parser failures following a schema change. Missing child spans.

Integrity

Clock discontinuities. Broken sequence numbers. A hash chain that no longer verifies.

Evidence

Logs deleted. Unexpected bulk export. Access to the evidence store outside an investigation.

The control that makes this more than an alert: for a high-risk agent, loss of observability should automatically reduce its autonomy - suspend privileged tools, drop it to propose-only, or stop the workflow. An agent you cannot see should not be an agent that can act. That inverts the usual failure mode, where telemetry quietly degrades for weeks and nobody notices because nothing appears to be wrong.

A gap worth knowing about

The AI threat frameworks do not cover this. The general one does.

Disabling or degrading logging is long-established in the mainstream adversary knowledge base, which has the Disable or Modify Tools technique and its Disable or Modify Cloud Log sub-technique. Both major SIEM vendors ship detections for exactly this against AI platforms - deleting a model-invocation logging configuration is shipped content, not speculation.

The AI-specific threat matrix, by contrast, has no technique for it. Its defense-evasion tactic covers evading the model - obfuscated prompts, jailbreaks, extraction - and not evading the observer. So when you map this, map it to the general framework and note the gap. That gap is real, and pointing at it is more useful than pretending the coverage exists.

Say this on Monday

“If our agent’s tracing stopped tomorrow, would anyone get an alert - and would the agent keep working?”

Evaluating a vendor’s logging claims? Use the AI SOC evaluation questions on evidence and audit trails to turn this logging model into requests for demonstrated records.

SourcesLast verified 17 September 2026

  1. ChatGPT Enterprise Compliance Platform, including the 30-day retention window and the instruction to build continuous download. help.openai.com
  2. OpenAI API audit logs, documented as separate from request and response content. help.openai.com
  3. Claude Compliance API, and the documented omissions - thinking blocks, system prompts, tool definitions and MCP server configuration. platform.claude.com · session transcripts
  4. Purview audit records for Copilot, including the AccessedResources field and what the Messages field does and does not contain. learn.microsoft.com
  5. Azure OpenAI diagnostic log categories. That the built-in logs do not carry prompt or completion content is stated in the architecture guidance. supported logs · gateway monitoring guidance
  6. Bedrock model invocation logging, disabled by default. docs.aws.amazon.com · agent traces are returned in the API response, not written to a log
  7. Cloud Audit Logs: Data Access logging is off by default and must be explicitly enabled. cloud.google.com/logging/docs/audit
  8. Gemini for Workspace log events, and the separate Drive “Item content accessed” event with its documented limitation. developers.google.com
  9. Trace, span and parent-span identifiers are W3C Trace Context, a stable recommendation independent of AI. w3.org/TR/trace-context
  10. Agent and conversation attributes, the execute_tool and invoke_agent spans, and the MCP attributes are OpenTelemetry generative-AI semantic conventions. They moved to a dedicated repository and remain at Development status - no GenAI convention is yet Stable, and the conversation identifier is conditionally required only where the library already has one. github.com/open-telemetry/semantic-conventions-genai
  11. An alternative agent-observability schema with its own session, turn and step identifiers: OWASP Agent Observability Standard v1.0.0. Note that its mapping to the common event schema places agent events inside an existing API-activity class, because no native class exists. aos.owasp.org
  12. The Open Cybersecurity Schema Framework has no dedicated AI or agent event class as of version 1.9.0 (August 2026). AI is modeled as an ai_operation profile with ai_agent, ai_model and message_context objects applied to existing classes. github.com/ocsf/ocsf-schema
  13. Binding approval to the exact action - actor, tool, target, normalized parameters, timestamp, expiry, replay protection: OWASP AI Agent Security Cheat Sheet. The digest-and-compare mechanism in 5.9 is our extension of it. cheatsheetseries.owasp.org
  14. The payments precedent for dynamically linking an authorization to exact transaction details: EU regulatory technical standards on strong customer authentication, and the W3C Secure Payment Confirmation specification. w3.org/TR/secure-payment-confirmation
  15. Log retention floor for in-scope high-risk systems: EU AI Act, record-keeping and deployer obligations. artificialintelligenceact.eu/article/19
  16. Cross-organization correlation is documented as unsolved. Otsuka, Toyoda and Leung, “AI Identity: Standards and Gaps,” 2026. arxiv.org/html/2604.23280v1
  17. Disable or Modify Tools and its Disable or Modify Cloud Log sub-technique, with shipped detections against AI platforms. attack.mitre.org/techniques/T1685/002 · research.splunk.com
↑ Top

About the author

Jessen Kurien is a cybersecurity leader and the author of The Defender’s Guide to AI Agents. His 18+ years in cybersecurity include nearly 15 years at Microsoft, work as part of the founding team of the Microsoft Threat Intelligence Center, and detection engineering leadership in Microsoft Defender XDR. His work connects investigations, detection engineering and security operations with the evidence and accountability needed for AI security and governance.

Meet Jessen

Connect with Jessen Speaking, workshops and training

This guide will go out of date.

Providers change how their logs work, models get retired, and new cases get disclosed. Ask to be told when this changes — no newsletter, just the updates.

Get told when it changes

Download the complete guide (PDF)

The telemetry contract, detection specifications, framework mappings and checklists are also published as files — the defender pack, CC BY 4.0, free to reuse.