{
 "product": "Action Firewall",
 "slug": "action-firewall",
 "base": "https://cainstudio.online",
 "page": "https://cainstudio.online/guide-action-firewall.html",
 "claims": [
  {
   "id": "C01",
   "kind": "attack",
   "claim": "Plan with one approver for a $50,000 wire: blocked -> Z3 finds the breaking step before anything runs.",
   "requests": [
    {
     "method": "POST",
     "url": "/catalog-demo/action-firewall/run",
     "body": {}
    }
   ],
   "path": "steps.0.reply.verdict",
   "expect": [
    "BLOCK"
   ]
  },
  {
   "id": "C02",
   "kind": "attack",
   "claim": "The rule it breaks is the dual-approval rule -> The proof names the rule and the step.",
   "requests": [
    {
     "method": "POST",
     "url": "/catalog-demo/action-firewall/run",
     "body": {}
    }
   ],
   "path": "steps.0.reply.rule_verdicts.0.verdict",
   "expect": [
    "PROVEN_VIOLATION"
   ]
  },
  {
   "id": "C03",
   "kind": "control",
   "claim": "Same wire with two different approvers: proceeds -> The rule is satisfied; the plan may run.",
   "requests": [
    {
     "method": "POST",
     "url": "/catalog-demo/action-firewall/run",
     "body": {}
    }
   ],
   "path": "steps.1.reply.verdict",
   "expect": [
    "PROCEED"
   ]
  }
 ]
}