The audit log tells a story. But usually, that story is fragmented.
A CISO sees an event: “Agent called Slack API at 14:23:45 UTC”. But the critical questions go unanswered:
- Did a policy reject this first?
- Did an approver authorize it?
- Who approved it and why?
- What was the risk score?
- What execution happened as a result?
Without context, audit logs become compliance theater—technically complete, but practically opaque.
The Problem: Disconnected Events
Traditional audit systems record what happened, not why it happened. Each event is isolated:
Event 1: Policy evaluation → ESCALATE (14:23:40)
Event 2: Approval requested → (14:23:42)
Event 3: Approval granted → admin@company.com (14:23:50)
Event 4: Execution started → (14:23:52)
Event 5: Execution completed → SUCCESS (14:24:03)
These events are connected by a governance flow, but the system doesn't expose that causality. An auditor or CISO has to manually trace backwards: “Which approval authorized which execution? Which policy triggered which escalation?”
This is especially critical for unpredictable AI agents. When an agent's behavior can't be predicted in advance, the governance process becomes your control mechanism, not the rules themselves. You need:
- Visibility: See the complete decision chain
- Traceability: Link approvals back to policies and policies back to executions
- Auditability: Prove who authorized what and when
- Context: Understand risk scores, policy verdicts, and approval reasoning
The Solution: Flow-Native Governance
ARXsec's interactive audit trail bundles related events into a flow—one logical unit representing a single agent action through the complete governance pipeline:
ONE AGENT ACTION = ONE FLOW
├─ Policy Evaluation (verdict, risk score)
├─ Approval Decision (approver, rationale)
├─ Execution (status, duration, result)
└─ Audit Trail (immutable ledger)
Every flow follows the same process, every time:
Detect → Policy Evaluate → Approval Decision → Execute → Audit
This process is rigid (ensuring governance consistency) while policies remain adaptive (allowing rapid rule changes).
Interactive Navigation: Audit → Flow → Context
Instead of static logs, ARXsec's audit trail is now interactive:
- CISO navigates to
/audit- Sees event list: action type, verdict, status, risk score
- Filters by verdict (PERMIT/DENY/ESCALATE), agent, connector, risk range
- Searches for specific events
- CISO clicks an event
- Right sidebar opens showing event details
- New: “View flow” button appears if flow exists
- One click navigates to complete flow visualization
- CISO sees
/flow/[id]- Timeline visualization: color-coded events with causal connectors
- Policy authority lineage: which rule triggered escalation
- Approval decision: who reviewed, when, and their rationale
- Execution summary: what the agent actually did
- Compliance mapping: which SOC2/HIPAA/ISO controls this flow demonstrates
- CISO understands governance in context, not in fragments
Why This Matters for Unpredictable Agents
Traditional governance assumes you can write rules that prevent bad behavior:
❌ Old approach: "Block any action that looks suspicious"
→ But agents are unpredictable—hard to predict what's suspicious
ARXsec's approach inverts the logic:
✅ New approach: "Process is always the same; rules adapt to risk"
→ Every action goes through policy → approval → execution
→ As agent behavior changes, update policies, not processes
→ Governance is predictable even when agents aren't
This is why the flow is the primitive unit of governance. Not individual events, not rules, not agents—flows.
When you need to understand “Why was this agent action allowed?”—you don't ask the rules, you ask the flow:
- What policy evaluated it?
- What risk score triggered escalation?
- Who approved it and why?
- What execution actually happened?
Practical Example: Data Exfiltration Incident Response
Scenario: A CISO detects unusual data access patterns from an AI agent.
Old workflow (fragmented logs):
- CISO finds audit event: “Agent read 1000 rows from customer_data table”
- Opens compliance tool: “Was this approved?”
- Digs through approval system: “Found approval from Bob 2 hours ago”
- Checks policy logs: “What policy triggered the approval?”
- Reconstructs context manually (slow, error-prone)
New workflow (interactive flows):
- CISO navigates to
/audit, filters by agent and risk score - Finds the event, clicks “View flow”
- One screen shows everything:
- Timeline: policy decision → escalation → Bob's approval → execution
- Policy verdict: “Data sensitivity MEDIUM, accessing PII table = ESCALATE”
- Approval note: “Verified for Q1 audit, read-only access”
- Execution: “SELECT * completed in 1.2s, 1000 rows”
- Compliance: “SOC2 § 6.2 (Access Control) ✓ Demonstrated”
Decision takes seconds instead of minutes.
Technical Implementation: Flowing Events
Each agent action gets a flow_id assigned before policy evaluation. This flow_id threads through:
- Policy evaluation event (stores policy verdict, risk score)
- Approval event (stores approver, rationale, timestamp)
- Execution event (stores status, duration, result)
- Audit ledger (immutable hash-chained record)
At any point, querying a flow_id returns the complete causal chain with full context.
The /audit API now returns flow_id for every entry. The frontend uses this to:
- Show “View flow” button in event sidebar
- Link to
/flow/[id]detail page - Display related events in timeline
No new database tables needed—flow_id already existed in the schema. It's just now exposed and navigable.
Dashboard Features: /flows List Page
Beyond event-level navigation, there's also a flows list page (/flows) for system-level governance:
- Search/filter flows by verdict (PERMIT/DENY/ESCALATE)
- Filter by risk score range (e.g., “show me all flows above 70”)
- Filter by agent, connector, date range
- View flow statistics: total flows, approval rate, average duration
- Click any flow to see full visualization
This turns governance from reactive (responding to incidents) to proactive (understanding patterns).
Building for Compliance
Every flow is immutable and hash-chained in the audit ledger. This means:
- ✓ Evidence is auditor-ready (complete causal chain, not fragments)
- ✓ Compliance controls are visible (SOC2/HIPAA/ISO mapping)
- ✓ Approvals are traceable (who authorized what)
- ✓ Policies are auditable (which rules applied when)
Export any time window to JSON, CSV, or PDF. Each export links back to the audit trail.
The Principle: Rigid Process, Adaptive Policy
The core insight: When AI agents are unpredictable, governance rules must be more rigid, not less.
- × Avoid: “Let's write more complex rules to handle edge cases”
- ✓ Adopt: “Keep the process consistent; make policies adaptive”
The process is:
- Detect agent action
- Evaluate against current policies
- Approve if necessary (human or automated)
- Execute only after governance passes
- Audit immutably
This process is always the same. The policies inside step 2 can change daily. New agent behaviors are handled by updating policies, not redesigning governance.
Next Steps
Interactive audit trails are live in ARXsec. Start by:
- Navigate to
/audit→ see your event history - Click an event with a flow → see the “View flow” button
- Explore
/flows→ search and filter flows system-wide - Export evidence → compliance auditors get complete causal chains
Your governance is no longer a black box. It's interactive, traceable, and audit-ready.
ARXsec automatically traces flows for every agent action. No setup required—it's built into the platform.