Live product demo
AI-agent firewall loop
Seeded scenario: an AI agent wants to draft and send an email to a donor using a sensitive program update. Watch the firewall evaluate it, route approval, generate a receipt, and update the audit trail.
Simulate an action
Default scenario is already evaluated: donor/program data email, reviewer assigned, receipt generated, audit recorded.
1. Agent proposes action
SEND_EXTERNAL_EMAIL
2. Firewall evaluates
donor_data, program_data
3. Decision appears
REQUIRES_APPROVAL
REQUIRES APPROVALHIGHdecision_demo_donor_email
Policy reasons
- External communication with donor, grant, or program data requires reviewer approval.
Policy matches
policy.external_comms_sensitive_data
- Reviewer
- Program Director
- Approval status
- PENDING
Receipt proof artifact
receipt_demo_donor_email
receipt_hash: sha256:7d8f0f2d07c84aa5a32a0ec5f1c880ed3bb98f03f75f6c0f1e3a8d94ddf20a11
{
"receipt_id": "receipt_demo_donor_email",
"tenant_id": "tenant_demo",
"action_id": "action_demo_donor_email",
"actor": {
"agent_id": "agent_demo_firewall",
"role": "MEMBER"
},
"action": {
"type": "SEND_EXTERNAL_EMAIL",
"target": "Sensitive donor update",
"tool_name": "gmail.send",
"external_effect": true,
"data_classes": [
"donor_data",
"program_data"
]
},
"decision": {
"status": "REQUIRES_APPROVAL",
"risk_level": "HIGH",
"reasons": [
"External communication with donor, grant, or program data requires reviewer approval."
],
"policy_matches": [
"policy.external_comms_sensitive_data"
]
},
"reviewer": "Program Director",
"approval_status": "PENDING",
"timestamps": {
"proposed_at": "2026-07-04T18:00:00.000Z",
"decided_at": "2026-07-04T18:00:00.000Z"
},
"integrity": {
"receipt_hash": "sha256:7d8f0f2d07c84aa5a32a0ec5f1c880ed3bb98f03f75f6c0f1e3a8d94ddf20a11",
"verification": "hash only"
}
}4. Reviewer action
PENDING
5. Audit timeline
- ACTION_PROPOSED SEND_EXTERNAL_EMAIL
- POLICY_EVALUATED REQUIRES_APPROVAL
- APPROVAL_REQUESTED reviewer=Program Director
- RECEIPT_GENERATED receipt_demo_donor_email
- AUDIT_EVENT_RECORDED audit_demo_donor_email_recorded