๐Ÿ›ก๏ธ Interven
Console

Activity & Traces

How to read, filter, and export the trace explorer โ€” the audit surface for every governed agent action.

Every scan Interven evaluates writes a trace to the Activity page. This is where you investigate any decision after the fact: who called, what they tried, what we decided, why, and what happened next.

The list view

/activity

One row per scan, newest first. Each row shows:

ColumnNotes
TimeLocal + UTC on hover
AgentName + runtime_type (langchain, mcp, openai_assistants, โ€ฆ)
Tool ยท operationDetected from URL + method + body (e.g. slack.post_message)
DecisionALLOW ยท DENY ยท SANITIZE ยท REQUIRE_APPROVAL
RiskScore 0.0โ€“1.0 with band badge (LOW / MED / HIGH / CRITICAL)
Reason codesFirst two; click to see all

Filters at the top:

  • Agent โ€” single or multi-select
  • Tool / operation โ€” multi-select
  • Decision โ€” pick any combination
  • Risk band โ€” LOW / MED / HIGH / CRITICAL
  • Time range โ€” quick-pick (15m / 1h / 24h / 7d) or custom
  • Free-text โ€” matches against trace_id, agent_name, reason_codes

The detail view

Click any row to open the full trace.

  • trace_id โ€” UUID; copy with one click; also queryable via GET /v1/traces/{id}
  • Decision badge + reason codes
  • Quick links: matched policies, linked approval (if any), linked incident (if any)

Request panel

The original scan input as Interven received it:

  • method + url + headers (sensitive headers redacted in display)
  • body โ€” pretty-printed JSON or text
  • runtime_type if provided
  • API key identifier (prefix only, never the full key)

Decision panel

  • Reason codes with descriptions
  • Risk score breakdown โ€” each signal's contribution
  • Sanitized body (if SANITIZE) โ€” diff view against original
  • Approval link (if REQUIRE_APPROVAL)

Engines panel

Each detection / risk engine that fired, with its individual contribution:

EngineWhat it does
ClassifierSecrets / PII / PHI / INTERNAL pattern matches
BaselineAnomaly vs this agent's normal traffic
CorrelationPatterns across recent calls (read-then-write, burst, etc.)
Threat IntelURL or IP matches against 6 feeds
SemanticIntent classification on the body / prompt context
TrustCurrent per-agent trust modifier

Matched policies

The policies whose match + condition evaluated true on this scan, sorted by priority. Click any policy to jump to its definition.

Response (if scan_response was called)

For traces where the upstream response was also classified (read-then-write correlation), the response panel shows the data classes found and any redactions applied.

Export

Top-right of the page: Export current view.

FormatUse for
NDJSONStreaming ingestion (Datadog Logs, Sumo Logic)
CSVSpreadsheets, ad-hoc analysis
Splunk HECDirect paste-into-HTTP-event-collector format
Datadog LogsDatadog logs intake JSON
OCSFOCSF-formatted security finding events

Exports honor your current filters and time range. For continuous SIEM shipping prefer the webhook-mode export โ€” see Alerts.

Retention

Audit traces are retained per your plan:

PlanRetention
Free7 days
Solo30 days
Team90 days
Pro365 days
EnterprisePer contract (typically 2 years)

Configure your tenant's specific retention window at Settings โ†’ Audit Log โ†’ Retention Period. The retention prune job runs daily.

API access

Every Activity view has an equivalent API:

  • GET /v1/traces โ€” list with filters
  • GET /v1/traces/{trace_id} โ€” single trace with full detail
  • GET /v1/decisions/export โ€” bulk export with the same filter surface

See the API reference for parameters.

Privacy & security

  • Headers flagged as sensitive (Authorization, X-API-Key, cookies) are displayed redacted in the Console UI but are stored in full for forensics. Auditor-role users see redacted only.
  • Body content is stored verbatim โ€” that's the point of an audit log. If your tenant routes data subject to a deletion request, use the retention controls or submit a DELETE to privacy@intervensecurity.com.
  • Trace IDs are random UUIDs โ€” safe to share in support tickets or with auditors.