AI Audit Event Catalog

Audience: DevOps / Security engineers, compliance officers
Time: ~10 min

Control Core captures a structured audit record for every AI transaction that passes through the Bouncer. These events are stored in the Control Plane audit log and forwarded to any configured SIEM or webhook destination.

Privacy guarantee: Prompt and completion text are never stored in plaintext. The audit record contains only SHA-256 hashes of the prompt and completion content. Sensitive content remains on your infrastructure; the audit record is safe to forward to any external system.

AI event types

There are four event types that appear in your audit log and SIEM feed when the Bouncer intercepts an AI transaction.

Event typeWhen it appears
AI_TRAFFIC_LOGEvery AI transaction — the primary per-request record
AI_POLICY_VIOLATIONWhen a control blocks an AI transaction
AI_PII_REDACTIONWhen a control rewrites (masks) part of the AI response
AI_TOKEN_USAGERetained alias — same data as AI_TRAFFIC_LOG; present for backwards compatibility with existing SIEM filters

AI_TRAFFIC_LOG

Emitted once per completed AI transaction. This is the canonical event for usage tracking, cost attribution, and compliance evidence.

Key fields:

FieldDescription
ai_modelAI model identifier
ai_providerProvider (e.g. openai, azure_openai, anthropic, bedrock)
ai_token_inputPrompt / input token count
ai_token_outputCompletion / output token count
ai_cost_estimateEstimated transaction cost in USD
latency_msEnd-to-end latency in milliseconds
prompt_hashSHA-256 hash of the prompt — not the prompt text
response_hashSHA-256 hash of the completion — not the completion text
redaction_appliedtrue if the response was rewritten by a masking control
user_subjectIdentifier of the requesting user or agent
correlation_idCross-system correlation identifier
target_type / target_idLogical resource the AI transaction targeted

AI_POLICY_VIOLATION

Emitted when a control blocks an AI transaction. Contains the control that triggered the block, the action taken, and a human-readable reason code.

FieldDescription
guardrail_trigger_idIdentifier of the control that blocked the request
guardrail_actionAction taken (e.g. block, deny)
action_takenEnforcement outcome recorded in the audit row
request_idCross-system correlation with the originating request
policy_pathPolicy query path evaluated
decision_sourceOrigin of the decision (bouncer, ext_proc)

Troubleshooting: If AI_POLICY_VIOLATION events appear unexpectedly, check Observe & Audit → Audit Logs in the Control Plane and filter by event type AI_POLICY_VIOLATION. Common causes: a control's conditions are broader than intended; the guardrail_trigger_id field identifies which control to inspect. Full reference: Troubleshooting controls.

AI_PII_REDACTION

Emitted when a control's masking obligation rewrites part of the AI response before it is returned to the caller. The original content is never stored.

FieldDescription
redaction_appliedAlways true for this event type
guardrail_trigger_idControl that triggered the redaction
guardrail_actionMasking action (e.g. redact, mask)
response_hashSHA-256 of the rewritten response

AI_TOKEN_USAGE (compatibility alias)

This event type was the original token-tracking record and is retained so that existing SIEM filter rules continue to work without modification. It carries the same data as AI_TRAFFIC_LOG. For new SIEM rules and dashboards, use AI_TRAFFIC_LOG — it is the superset going forward.

Full field dictionary

The table below covers all fields defined in the audit event contract (AUDIT_EVENT_V2_FIELDS). Fields marked AI are specific to AI transactions; all others appear across event categories.

FieldDescription
request_idCross-system request correlation identifier
trace_idDistributed tracing trace ID (W3C / OpenTelemetry)
span_idDistributed tracing span ID for the current evaluation step
latency_msDecision latency in milliseconds
decision_idDecision engine identifier (OPA decision_id or equivalent)
policy_bundle_revisionControl bundle revision in effect during evaluation
policy_pathPolicy query path evaluated
decision_sourceOrigin of the decision (opa_native, bouncer, ext_proc, pap)
actor_typeActor category (human_user, service_account, ai_agent, system)
actor_idpIdentity provider or issuer context
resource_fingerprintStable hash for the target resource identity
risk_scoreRuntime risk score for the decision context
action_takenEnforcement action (allow, deny, redact, annotate, monitor)
ai_modelAI — Model identifier
ai_providerAI — Provider / source
ai_tool_nameAI — Tool or function invoked in the transaction
ai_token_inputAI — Prompt / input token count
ai_token_outputAI — Completion / output token count
ai_cost_estimateAI — Estimated cost for the operation
ttft_msAI — Time to first token in milliseconds
itl_msAI — Inter-token latency in milliseconds
redaction_appliedIndicates content redaction or masking occurred
guardrail_trigger_idIdentifier of the control that triggered enforcement
guardrail_actionAction executed by the control
control_idStable identifier tied to the control lifecycle record
control_versionControl version in effect for this event
regulation_tagsRegulatory framework tags (e.g. SOC2, HIPAA, FFIEC)
event_contextRedacted JSON map for extended audit metadata

Troubleshooting: If expected AI events do not appear in your SIEM, confirm that the Bouncer is registered in the Control Plane under Administration → Bouncers and that its policy sync is healthy (green indicator). Common causes: misconfigured SIEM outbox destination; policy sync lag preventing the AI governance control from reaching the Bouncer. Full reference: Audit & SIEM integration.

Where to configure event forwarding

AI events flow through the same outbox pipeline as all other audit events. Configure delivery targets under Settings → Action Destinations → SIEM in the Control Plane UI, or via the Control Plane API. See Audit & SIEM integration for the full delivery architecture.

Next steps