{
 "product": "CAIN Swarm Guard",
 "slug": "swarm-guard",
 "base": "https://cainstudio.online",
 "page": "https://cainstudio.online/guide-swarm-guard.html",
 "claims": [
  {
   "id": "C01",
   "kind": "control",
   "claim": "A listed, low-risk read -> On the allowlist and low risk: the tool runs.",
   "requests": [
    {
     "method": "POST",
     "url": "/product-demo/swarm-guard/run",
     "body": {
      "preset": "allowlisted_read"
     }
    }
   ],
   "path": "reply.tool_ran",
   "expect": [
    true
   ]
  },
  {
   "id": "C02",
   "kind": "attack",
   "claim": "A tool nobody listed -> Default-deny: an unknown tool does not run.",
   "requests": [
    {
     "method": "POST",
     "url": "/product-demo/swarm-guard/run",
     "body": {
      "preset": "unknown_tool"
     }
    }
   ],
   "path": "reply.tool_ran",
   "expect": [
    false
   ]
  },
  {
   "id": "C03",
   "kind": "attack",
   "claim": "Listed, but it deletes all users -> Being on the list does not excuse a destructive action.",
   "requests": [
    {
     "method": "POST",
     "url": "/product-demo/swarm-guard/run",
     "body": {
      "preset": "delete_users"
     }
    }
   ],
   "path": "reply.tool_ran",
   "expect": [
    false
   ]
  },
  {
   "id": "C04",
   "kind": "attack",
   "claim": "Listed shell tool, piped download -> curl piped to bash is stopped by its arguments.",
   "requests": [
    {
     "method": "POST",
     "url": "/product-demo/swarm-guard/run",
     "body": {
      "preset": "pipe_to_shell"
     }
    }
   ],
   "path": "reply.tool_ran",
   "expect": [
    false
   ]
  },
  {
   "id": "C05",
   "kind": "attack",
   "claim": "A payment declared HIGH risk -> High risk waits for approval.",
   "requests": [
    {
     "method": "POST",
     "url": "/product-demo/swarm-guard/run",
     "body": {
      "preset": "high_risk_payment"
     }
    }
   ],
   "path": "reply.tool_ran",
   "expect": [
    false
   ]
  },
  {
   "id": "C06",
   "kind": "control",
   "claim": "Handoff with narrower authority -> A sub-agent may receive less authority.",
   "requests": [
    {
     "method": "POST",
     "url": "/product-demo/swarm-guard/run",
     "body": {
      "preset": "handoff_narrower"
     }
    }
   ],
   "path": "reply.handoff_allowed",
   "expect": [
    true
   ]
  },
  {
   "id": "C07",
   "kind": "attack",
   "claim": "Handoff adding a 'delete' permission -> A sub-agent cannot receive more than its parent held.",
   "requests": [
    {
     "method": "POST",
     "url": "/product-demo/swarm-guard/run",
     "body": {
      "preset": "handoff_wider_scope"
     }
    }
   ],
   "path": "reply.handoff_allowed",
   "expect": [
    false
   ]
  },
  {
   "id": "C08",
   "kind": "attack",
   "claim": "Handoff living longer than its parent -> A sub-agent's authority cannot outlive its parent's.",
   "requests": [
    {
     "method": "POST",
     "url": "/product-demo/swarm-guard/run",
     "body": {
      "preset": "handoff_longer_life"
     }
    }
   ],
   "path": "reply.handoff_allowed",
   "expect": [
    false
   ]
  }
 ]
}