{
  "schema": "cain42.comparison.v1",
  "generated_at": "2026-11-03T06:15:02Z",
  "status": "OK",
  "summary": {
    "products": 6,
    "verified": 6,
    "entry_price_min": 1500.0,
    "entry_price_max": 2500.0,
    "fastest_hours": 48.0
  },
  "agents": [
    {
      "agent": "scout",
      "ok": true,
      "rc": 0,
      "tail": [
        "scout: 6 products, 0 change signals -> /root/cain-comparison/data/scout.json"
      ],
      "error": ""
    },
    {
      "agent": "verifier",
      "ok": true,
      "rc": 0,
      "tail": [
        "verifier: 7/7 products verified -> /root/cain-comparison/data/verify.json"
      ],
      "error": ""
    }
  ],
  "rankings": {
    "cheapest_entry": [
      "policy-redteam",
      "safety-pack",
      "black-box",
      "fleet-passport",
      "insurance-brief",
      "mcp-review"
    ],
    "fastest": [
      "mcp-review",
      "safety-pack",
      "black-box",
      "policy-redteam",
      "fleet-passport",
      "insurance-brief"
    ],
    "highest_top_price": [
      "mcp-review",
      "insurance-brief",
      "fleet-passport",
      "policy-redteam",
      "black-box",
      "safety-pack"
    ],
    "lowest_cash_at_order": [
      "fleet-passport",
      "insurance-brief",
      "policy-redteam",
      "safety-pack",
      "black-box",
      "mcp-review"
    ],
    "best_price_per_day": [
      "mcp-review",
      "black-box",
      "safety-pack",
      "policy-redteam",
      "insurance-brief",
      "fleet-passport"
    ],
    "recurring": [
      "fleet-passport",
      "black-box"
    ]
  },
  "change_signals": [],
  "products": [
    {
      "id": "insurance-brief",
      "name": "Insurability Brief",
      "short": "The technical file an AI-liability underwriter asks for.",
      "tier": "cash-72h",
      "prices": {
        "standard": 2500,
        "fleet": 5000
      },
      "tat": "5 business days",
      "deposit_pct": 50,
      "buyer": "AI vendor or deployer whose enterprise deal or renewal needs proof of AI insurance.",
      "trigger": "Our broker says the underwriter needs a technical review and we have nothing to send.",
      "deliverable": [
        "Agent inventory: every agent, model, tool and authority boundary (AIBOM included).",
        "Tool-surface findings, written for an underwriter rather than a developer.",
        "Evidence-derived risk score; NO_EVIDENCE when no decision log was supplied.",
        "Signed, hash-chained evidence bundle with a standalone verifier.",
        "Limitations page: what was not tested and what remains unknown."
      ],
      "inputs": {
        "agents": "list of {name, model?, tools[], authority{}}",
        "decisions": "optional list of CAIN decision records {verdict, path, agent_id, created_at}",
        "baseline_premium_usd": "optional number, used only to express the score, never a promised saving"
      },
      "engines": [
        "mcp-security-scanner",
        "keystone/actuary.py",
        "keystone/family.py",
        "keystone/bundle.py"
      ],
      "honesty": [
        "We produce evidence; the underwriter prices. No premium reduction is promised.",
        "This is not a certificate of insurance and not a binder.",
        "No insurer, MGA or broker has adopted or endorsed this product."
      ],
      "playbook": [
        "Hour 0-2: list 5 AI vendors with a public agent feature and 5 brokers who place AI risk.",
        "Hour 2-5: produce one redacted sample brief from a public surface.",
        "Hour 5-7: send 15 messages with the sample attached; ask one question.",
        "Hour 24-48: close one at 50% deposit.",
        "Day 5: deliver the brief and the verifiable bundle."
      ],
      "proof": "/proof",
      "entry_price": 2500.0,
      "top_price": 5000.0,
      "tat_hours": 120.0,
      "price_per_day": 500.0,
      "deposit_usd": 1250.0,
      "cash_at_order": 1250.0,
      "recurring_monthly": null,
      "verified": true,
      "verdict": "ASSESSED",
      "bundle": {
        "exists": true,
        "bytes": 12554,
        "mtime": "2026-11-03T06:15:07Z"
      }
    },
    {
      "id": "safety-pack",
      "name": "Agent Safety Evidence Pack",
      "short": "Answers the AI-agent questionnaire that is blocking a deal.",
      "tier": "cash-72h",
      "prices": {
        "standard": 1500
      },
      "tat": "48 hours",
      "deposit_pct": 100,
      "buyer": "B2B SaaS or AI vendor in enterprise security review.",
      "trigger": "They sent us an AI agent safety questionnaire and we have nothing to send back.",
      "deliverable": [
        "Nine buyer requests answered against this product, each with evidence or an explicit gap.",
        "An exportable record of what the agent can do and what it did on the test run.",
        "A signed bundle the buyer's security team verifies themselves.",
        "A short list of the answers that cannot be supported today."
      ],
      "inputs": {
        "agents": "list of {name, model?, tools[], authority{}}",
        "controls": "object: logging, kill_switch, human_approval, egress_control, retention, incident_process",
        "test_run": "optional list of events observed on a test account"
      },
      "engines": [
        "mcp-security-scanner",
        "keystone/recorder.py",
        "keystone/bundle.py"
      ],
      "honesty": [
        "Screenshots and slideware are scored as a fail by buyers; this pack is evidence, not marketing.",
        "A control we could not observe is recorded as NOT_EVIDENCED, never as present.",
        "This is not SOC 2, not a certification, and not legal advice."
      ],
      "playbook": [
        "Hour 0-1: find teams hiring for 'security questionnaire', 'AI governance' or 'SOC 2'.",
        "Hour 1-3: write the free one-paragraph diagnosis: which answers they cannot support today.",
        "Hour 3-5: send 20 messages with the diagnosis and the $1,500 price.",
        "Hour 48: deliver the pack and the verifier.",
        "Same day: offer Fix + Prove on every gap found."
      ],
      "proof": "/proof",
      "entry_price": 1500.0,
      "top_price": 1500.0,
      "tat_hours": 48.0,
      "price_per_day": 750.0,
      "deposit_usd": 1500.0,
      "cash_at_order": 1500.0,
      "recurring_monthly": null,
      "verified": true,
      "verdict": "GAPS_FOUND",
      "bundle": {
        "exists": true,
        "bytes": 13469,
        "mtime": "2026-11-03T06:15:08Z"
      }
    },
    {
      "id": "fleet-passport",
      "name": "Fleet Passport",
      "short": "One signed certificate per agent, plus a fleet certificate and AIBOM.",
      "tier": "week-1",
      "prices": {
        "standard": 2500,
        "fleet": 5000,
        "monthly": 500
      },
      "tat": "5 business days",
      "deposit_pct": 50,
      "buyer": "Any company running more than three agents, or an AI vendor asked for an AIBOM.",
      "trigger": "How many agents do we actually run, and what can each one reach?",
      "deliverable": [
        "Per-agent passport: identity, tools, authority, findings, grade.",
        "Fleet certificate with an evidence-derived score, or NO_EVIDENCE.",
        "CycloneDX AIBOM export.",
        "Offline verifier; monthly re-attestation at $500/mo."
      ],
      "inputs": {
        "fleet_id": "string",
        "agents": "list of {name, model?, tools[], authority{}}",
        "decisions": "optional CAIN decision records"
      },
      "engines": [
        "mcp-security-scanner",
        "cainwitness",
        "keystone/actuary.py",
        "keystone/family.py"
      ],
      "honesty": [
        "An agent we could not read is reported UNKNOWN, never assumed safe.",
        "The certificate states what was inspected, not what the agent will do tomorrow.",
        "Re-attestation is required for the certificate to remain current."
      ],
      "playbook": [
        "Hour 0-3: inventory one prospect by hand (MCP configs, framework manifests, tool lists).",
        "Hour 3-5: send the inventory free: agents and tools they did not know were reachable.",
        "Hour 5-8: offer the passport + AIBOM at {price}, 5 days; collect deposit.",
        "At delivery: sell the $500/mo re-attestation against their renewal date."
      ],
      "proof": "/proof",
      "entry_price": 2500.0,
      "top_price": 5000.0,
      "tat_hours": 120.0,
      "price_per_day": 500.0,
      "deposit_usd": 1250.0,
      "cash_at_order": 1250.0,
      "recurring_monthly": 500.0,
      "verified": true,
      "verdict": "ASSESSED",
      "bundle": {
        "exists": true,
        "bytes": 12650,
        "mtime": "2026-11-03T06:15:10Z"
      }
    },
    {
      "id": "policy-redteam",
      "name": "Agent Policy Red Team",
      "short": "Attack the guardrail, prove the patch closes every breach.",
      "tier": "cash-72h",
      "prices": {
        "standard": 1500,
        "fleet": 3500
      },
      "tat": "72 hours",
      "deposit_pct": 100,
      "buyer": "Teams using Claude Code hooks, OPA/Rego, Cedar or a tool allowlist.",
      "trigger": "We think our policy blocks injection and exfiltration. We have never tested it.",
      "deliverable": [
        "Mechanically synthesized attack families against the submitted policy.",
        "Breach count, then the smallest patch that closes them.",
        "Re-run proof of zero breaches, with an independent re-derivation.",
        "Signed record and offline verifier."
      ],
      "inputs": {
        "policy": "redteam policy spec: {name, rules[], normalize[], must_allow[]}",
        "attacks": "optional attack families"
      },
      "engines": [
        "keystone/redteam.py",
        "keystone/sandbox.py"
      ],
      "honesty": [
        "Zero breaches against this corpus is not a proof that no attack exists.",
        "If the clean-room prover cannot run, the verdict is NOT_VERIFIED and nothing is issued.",
        "The policy remains yours; we do not operate it for you."
      ],
      "playbook": [
        "Hour 0-3: find public agent policy files (rego, hooks.json, guardrail configs).",
        "Hour 3-5: run the engine on one published policy and send the breach count.",
        "Hour 5-8: send 12 messages; $1,500 for one policy, 72-hour delivery.",
        "Hour 72: deliver the before/after record and the verifier."
      ],
      "proof": "/proof",
      "entry_price": 1500.0,
      "top_price": 3500.0,
      "tat_hours": 72.0,
      "price_per_day": 500.0,
      "deposit_usd": 1500.0,
      "cash_at_order": 1500.0,
      "recurring_monthly": null,
      "verified": true,
      "verdict": "PATCHED",
      "bundle": {
        "exists": true,
        "bytes": 11807,
        "mtime": "2026-11-03T06:15:14Z"
      }
    },
    {
      "id": "black-box",
      "name": "Black Box (Agent Incident)",
      "short": "A replayable, signed reconstruction of what the agent actually did.",
      "tier": "cash-72h",
      "prices": {
        "activation": 2500,
        "standby": 1000
      },
      "tat": "72 hours",
      "deposit_pct": 100,
      "buyer": "CTO or Head of Security answering a customer, an insurer or counsel after an agent incident.",
      "trigger": "An agent did something we cannot explain and we have to answer by Friday.",
      "deliverable": [
        "Replayable, hash-chained timeline of the incident.",
        "Authority reconciliation: granted vs. exercised.",
        "Five-layer fact segregation, so nothing is overstated.",
        "Redaction-safe bundle that still verifies after redaction."
      ],
      "inputs": {
        "agent": "string",
        "events": "list of {name, at?, attributes{}, payload?}",
        "title": "optional string"
      },
      "engines": [
        "keystone/recorder.py",
        "cain/isolation/provenance_chain.py"
      ],
      "honesty": [
        "We reconstruct what we are given; anything not logged is UNVERIFIED.",
        "Redaction removes content, never the commitment: the seal still verifies.",
        "This is evidence for a dispute, not a legal opinion on liability."
      ],
      "playbook": [
        "Hour 0-2: watch public incident signals (status pages, postmortems, HN threads).",
        "Hour 2-4: one message: $2,500 and a defensible timeline in 72 hours.",
        "Hour 4-72: reconstruct, seal, deliver.",
        "At delivery: sell the $1,000/mo standby retainer."
      ],
      "proof": "/proof",
      "entry_price": 2500.0,
      "top_price": 2500.0,
      "tat_hours": 72.0,
      "price_per_day": 833.33,
      "deposit_usd": 2500.0,
      "cash_at_order": 2500.0,
      "recurring_monthly": 1000.0,
      "verified": true,
      "verdict": "SEALED",
      "bundle": {
        "exists": true,
        "bytes": 13404,
        "mtime": "2026-11-03T06:15:38Z"
      }
    },
    {
      "id": "mcp-review",
      "name": "MCP / Agent Tool Review",
      "short": "Review the tool surface an agent can reach, with the smallest patch.",
      "tier": "cash-72h",
      "prices": {
        "standard": 2500,
        "fleet": 5000
      },
      "tat": "48 hours",
      "deposit_pct": 100,
      "buyer": "Platform or security lead who just wired an MCP server into payments, email or customer data.",
      "trigger": "Our agent can call tools we did not fully review.",
      "deliverable": [
        "Tool-schema scan: injection in descriptions, secrets, unconstrained exec/sql/path parameters.",
        "Tool-poisoning, typosquat and authentication findings.",
        "Authority boundary and action-firewall gap analysis.",
        "Ranked remediation with the smallest patch, plus a signed bundle."
      ],
      "inputs": {
        "tools": "list of MCP tool definitions {name, description, inputSchema}"
      },
      "engines": [
        "mcp-security-scanner/engine.py",
        "keystone/family.py"
      ],
      "honesty": [
        "Heuristic static analysis of definitions; a clean scan is not a guarantee.",
        "We do not probe a live production server without written scope.",
        "Findings are ranked by blast radius, not by count."
      ],
      "playbook": [
        "Hour 0-2: pull 20 targets from the MCP registry; score by blast radius.",
        "Hour 2-4: scan public tool definitions; keep one real finding per target.",
        "Hour 4-6: send 20 messages with the finding and the $2,500 price.",
        "Hour 48: deliver, then sell Fix + Prove on every finding."
      ],
      "proof": "/proof",
      "entry_price": 2500.0,
      "top_price": 5000.0,
      "tat_hours": 48.0,
      "price_per_day": 1250.0,
      "deposit_usd": 2500.0,
      "cash_at_order": 2500.0,
      "recurring_monthly": null,
      "verified": true,
      "verdict": "REVIEW_ISSUED",
      "bundle": {
        "exists": true,
        "bytes": 11077,
        "mtime": "2026-11-03T06:15:46Z"
      }
    }
  ],
  "note": "Prices are proposals, not validated rates. 'Verified' means the product's own self-test bundle verified today; it is not customer proof."
}