initializdocs
Security

Security events

The audit event stream emitted by every agent and workflow, event naming conventions, notable event types, and the Events screen.

Every deployed agent emits audit events as it runs: session lifecycle, tool executions, network egress decisions, LLM calls, guardrail checks, and quota denials. Workflow executions emit their own lifecycle events alongside the events of every agent they dispatch. Build-time policy checks emit events too, so a policy violation caught before deployment shows up in the same stream as one caught at runtime. All of it lands in one unified event store with one query path — the Events screen under Security → Events.

Anatomy of an event

Every event carries a common envelope plus an event-type-specific payload:

  • event_type — what happened, named <entity>_<verb> (see below).
  • ts and a producer seq — emit time plus a per-producer sequence number. Timelines order by wall-clock time and use seq to break ties within the same second.
  • Identity and correlation — org, workspace, the emitting entity (entity_type of agent, workflow, or assistant plus entity_id), the invocation (one agent task) and, for workflow runs, the execution that groups every agent's events for the run.
  • outcome — one of ok, allowed, denied, blocked, masked, modified, cancelled, error, or info. Lifecycle events that carry no allow/deny semantic resolve to info.
  • severityinfo, warning, blocking, or critical.
  • fields — the event-type-specific detail (for example, an llm_call carries model, provider, and token counts; an egress_blocked carries the blocked domain and the rule that matched).

Event naming

Event types follow the <entity>_<verb> convention: the prefix names the entity or gate, the verb names what happened. Examples: tool_exec, egress_blocked, guardrail_check, workflow_started, task_admission_denied. The prefix is meaningful — it encodes the altitude of the gate. task_admission_denied is a per-task admission decision, distinct from per-tool or per-LLM-call gates that may sit alongside it. The runtime's vocabulary grows over time; the platform accepts and stores well-formed new types, and the console falls back to the raw type name as the label until a friendly one exists.

Notable event types

Event typeMeaning
session_start / session_endAn agent session opened / closed.
invocation_complete / invocation_cancelledAn agent task finished / was cancelled.
tool_execA tool call started or returned (start and end phases).
llm_call / llm_call_cancelledA model call returned / was cancelled. Carries model, provider, and input/output token counts.
egress_allowed / egress_blockedAn outbound network request was permitted / denied by the egress policy.
guardrail_checkA guardrail evaluated content; the decision (allowed, masked, blocked) becomes the outcome.
channel_denied_by_policyA channel was refused by the effective policy.
policy_violation_at_build_timeA build-time policy check (egress, tools, channels) rejected an agent configuration.
task_admission_deniedA task was refused by a token quota. Fields carry scope, window, reason, reset_at, and cached (whether the deny was replayed from the runtime's local cache).
auth_verify / auth_failInbound agent authentication succeeded / failed.
auth_step_up_requiredA step-up authentication demand was raised.
credential_issued / credential_revoked / credential_failedCredential lifecycle (metadata only — never the credential material).
intent_alignment / intent_driftIntent alignment checks and detected drift.
task_deferred / task_deferred_decision / task_deferred_timeoutDeferred-task lifecycle.
context_compressed / context_expanded / context_pattern_suggestedContext-compression telemetry, including tokens saved per compression.
policy_loaded / agent_card_published / audit_export_statusRuntime lifecycle and audit-sink health (informational).
workflow_started / workflow_step_started / workflow_step_completed / workflow_step_failed / workflow_complete / workflow_cancelledWorkflow execution lifecycle, emitted with entity_type workflow.

By default the Events screen filters to the security-relevant subset — egress_blocked, policy_violation_at_build_time, channel_denied_by_policy, guardrail_check, auth_fail, and task_admission_denied — so you see enforcement signal rather than the full operational firehose. The filter is adjustable when you need the rest.

The Events screen

The Security Events screen: totals, outcome filters, event-type chips, and the event stream

Security → Events shows the stream scoped to your selected workspaces, defaulting to the last 24 hours and the security-relevant event types.

  • Filtering — by event type, outcome, agent, time range, and workspace scope. A search box matches rule keys, domains, and tool names — this is also where deep links from the Posture screen land, pre-seeded with the rule you clicked.
  • Spike detection — a banner flags time buckets where event volume spikes well above baseline, so bursts of denials stand out before you scroll.
  • Grouping by run — contiguous events from the same run are grouped, so a single invocation reads as one collapsible unit instead of interleaved rows.
  • Event detail — selecting a row opens a drawer with the full envelope and the event-type-specific fields, including the decision that was made and the policy attribution behind it.

Pivoting to a full run

From any event you can pivot to everything correlated with it:

  • Invocation timeline — every event from one agent invocation, in order.
  • Execution timeline — every event from every agent in one workflow execution, ordered by wall-clock time with the producer sequence breaking ties within the same second. This is the investigator's pivot from a single suspicious event to "what else happened in that run" without leaving the security console.

The same event stream also powers the Activity tab on each agent's detail page, so builders and security reviewers look at the same records.

On this page