thumbgate 1.27.7 → 1.27.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/.well-known/llms.txt +1 -2
  2. package/README.md +0 -2
  3. package/bin/cli.js +259 -78
  4. package/package.json +12 -18
  5. package/public/blog.html +30 -0
  6. package/public/compare/adopt-ai.html +219 -0
  7. package/public/compare/agentix-labs.html +197 -0
  8. package/public/compare/ai-experience-orchestration.html +216 -0
  9. package/public/compare/anthropic-claude-for-legal.html +260 -0
  10. package/public/compare/anthropic-containment.html +280 -0
  11. package/public/compare/arcade.html +175 -0
  12. package/public/compare/arcjet.html +239 -0
  13. package/public/compare/bumblebee.html +307 -0
  14. package/public/compare/claude-code-hooks.html +294 -0
  15. package/public/compare/databricks-unity-ai-gateway.html +215 -0
  16. package/public/compare/fallow.html +351 -0
  17. package/public/compare/heidi.html +233 -0
  18. package/public/compare/mem0.html +342 -0
  19. package/public/compare/oak-and-sparrow-gatekeeper.html +289 -0
  20. package/public/compare/rein.html +236 -0
  21. package/public/compare/sigmashake.html +256 -0
  22. package/public/compare/speclock.html +342 -0
  23. package/public/compare.html +2 -0
  24. package/public/guides/agent-harness-optimization.html +342 -0
  25. package/public/guides/agentic-web-governance.html +406 -0
  26. package/public/guides/ai-agent-governance-sprint.html +415 -0
  27. package/public/guides/ai-agent-pre-action-approval-gates.html +401 -0
  28. package/public/guides/ai-agent-workflow-migration-checklist.html +392 -0
  29. package/public/guides/ai-deployment-readiness.html +415 -0
  30. package/public/guides/ai-mode-ads-agent-governance.html +401 -0
  31. package/public/guides/ai-search-topical-presence.html +342 -0
  32. package/public/guides/autoresearch-agent-safety.html +342 -0
  33. package/public/guides/background-agent-governance.html +358 -0
  34. package/public/guides/best-tools-stop-ai-agents-breaking-production.html +363 -0
  35. package/public/guides/browser-automation-safety.html +342 -0
  36. package/public/guides/chatgpt-ads-trust.html +353 -0
  37. package/public/guides/claude-code-feedback.html +339 -0
  38. package/public/guides/claude-code-prevent-repeated-mistakes.html +161 -0
  39. package/public/guides/claude-code-skills-guardrails.html +343 -0
  40. package/public/guides/claude-desktop.html +356 -0
  41. package/public/guides/code-knowledge-graph-guardrails.html +365 -0
  42. package/public/guides/codex-cli-guardrails.html +339 -0
  43. package/public/guides/cursor-agent-guardrails.html +339 -0
  44. package/public/guides/cursor-prevent-repeated-mistakes.html +161 -0
  45. package/public/guides/database-agent-safety.html +406 -0
  46. package/public/guides/deepseek-v4-runtime-guardrails.html +346 -0
  47. package/public/guides/developer-machine-supply-chain-guardrails.html +358 -0
  48. package/public/guides/gcp-mcp-guardrails.html +147 -0
  49. package/public/guides/gemini-cli-feedback-memory.html +339 -0
  50. package/public/guides/gpt-5-5-model-evaluation.html +358 -0
  51. package/public/guides/internal-ai-engineering-stack-guardrails.html +348 -0
  52. package/public/guides/long-running-agent-context-management.html +346 -0
  53. package/public/guides/mcp-tool-governance.html +401 -0
  54. package/public/guides/multica-thumbgate-setup.html +134 -0
  55. package/public/guides/native-messaging-host-security.html +342 -0
  56. package/public/guides/policy-engine-pre-action-gates.html +346 -0
  57. package/public/guides/pre-action-checks.html +342 -0
  58. package/public/guides/pretooluse-hooks-vs-advisory-prompt-rules.html +342 -0
  59. package/public/guides/prompt-tricks-to-workflow-rules.html +365 -0
  60. package/public/guides/proxy-pointer-rag-guardrails.html +352 -0
  61. package/public/guides/rag-precision-tuning-guardrails.html +352 -0
  62. package/public/guides/reasoning-compression-guardrails.html +346 -0
  63. package/public/guides/relational-knowledge-ai-recommendations.html +342 -0
  64. package/public/guides/roo-code-alternative-cline.html +339 -0
  65. package/public/guides/semantic-programmatic-seo-guardrails.html +352 -0
  66. package/public/guides/seo-agent-skills-guardrails.html +344 -0
  67. package/public/guides/stop-repeated-ai-agent-mistakes.html +342 -0
  68. package/public/index.html +10 -48
  69. package/public/learn/ac-dc-runtime-enforcement.html +277 -0
  70. package/public/learn/agent-harness-pattern.html +181 -0
  71. package/public/learn/agent-swarms-shared-gates.html +173 -0
  72. package/public/learn/agentic-enterprise-context-brain.html +117 -0
  73. package/public/learn/agentic-os-team-governance.html +146 -0
  74. package/public/learn/ai-agent-governance.html +158 -0
  75. package/public/learn/ai-agent-persistent-memory.html +211 -0
  76. package/public/learn/background-agent-control-layer.html +184 -0
  77. package/public/learn/claude-code-goal-with-rubrics.html +205 -0
  78. package/public/learn/codex-role-plugins-need-governance.html +125 -0
  79. package/public/learn/cost-aware-agent-gate-routing.html +173 -0
  80. package/public/learn/databricks-unity-ai-gateway-runtime-governance.html +157 -0
  81. package/public/learn/deterministic-agent-workflows.html +185 -0
  82. package/public/learn/feedback-loop-vs-decision-layer.html +283 -0
  83. package/public/learn/from-prototype-to-production.html +223 -0
  84. package/public/learn/learn.css +51 -0
  85. package/public/learn/mcp-pre-action-checks-explained.html +172 -0
  86. package/public/learn/pretix-stripe-connect-marketplaces.html +161 -0
  87. package/public/learn/regulated-agent-execution-boundary.html +196 -0
  88. package/public/learn/spec-driven-development.html +168 -0
  89. package/public/learn/stop-ai-agent-force-push.html +134 -0
  90. package/public/learn/vibe-coding-safety-net.html +142 -0
  91. package/public/learn.html +6 -50
  92. package/public/pro.html +6 -6
  93. package/scripts/cli-schema.js +10 -22
  94. package/scripts/dashboard-chat.js +1 -2
  95. package/scripts/document-intake.js +49 -1
  96. package/scripts/gemini-embedding-policy.js +1 -2
  97. package/scripts/hosted-config.js +12 -0
  98. package/scripts/plausible-domain-config.js +1 -3
  99. package/scripts/reddit-browser-notification-watch.js +230 -0
  100. package/scripts/seo-gsd.js +0 -239
  101. package/scripts/vector-store.js +0 -44
  102. package/scripts/workspace-evolver.js +2 -62
  103. package/src/api/server.js +124 -335
  104. package/adapters/policy-engine/ethicore-guardian-client.js +0 -68
  105. package/adapters/policy-engine/thumbgate-policy-engine-adapter.js +0 -260
  106. package/scripts/hook-stop-anti-claim.js +0 -227
@@ -0,0 +1,260 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>ThumbGate vs Claude for Legal | Runtime Gate Pairs With Anthropic's Practice-Area Plugins</title>
7
+ <meta name="description" content="Anthropic shipped Claude for Legal (May 2026): 12 practice-area plugins + 20+ connectors + Claude Opus 4.7 at 90.9% on Harvey's BigLaw Bench. It is a model + integrations bundle with 'human in the loop' as the safety story. ThumbGate is the runtime gate underneath: PreToolUse enforcement that fires before Claude's proposed tool call executes. Use both." />
8
+ <meta property="og:title" content="ThumbGate vs Claude for Legal | Runtime Gate Pairs With Anthropic's Practice-Area Plugins" />
9
+ <meta property="og:description" content="Claude for Legal generates the action; ThumbGate gates the action. Same architectural insight as Anthropic's published containment: deterministic enforcement at runtime, in your environment, with no LLM in the decision path. Complementary, not competitive." />
10
+ <meta property="og:type" content="article" />
11
+ <meta property="og:url" content="https://thumbgate.ai/compare/anthropic-claude-for-legal" />
12
+ <link rel="canonical" href="https://thumbgate.ai/compare/anthropic-claude-for-legal" />
13
+ <link rel="llm-context" href="/llm-context.md" type="text/markdown" />
14
+ <link rel="icon" type="image/png" href="/thumbgate-icon.png" />
15
+ <link rel="apple-touch-icon" href="/assets/brand/thumbgate-mark.svg" />
16
+ <meta property="og:image" content="/og.png" />
17
+ <style>
18
+ :root { --bg: #0a0a0b; --bg-raised: #111113; --bg-card: #161618; --line: #222225; --text: #e8e8ec; --muted: #8b8b96; --cyan: #22d3ee; --green: #4ade80; --amber: #fbbf24; }
19
+ * { box-sizing: border-box; }
20
+ body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: var(--bg); color: var(--text); line-height: 1.65; }
21
+ a { color: var(--cyan); text-decoration: none; }
22
+ a:hover { text-decoration: underline; }
23
+ .container { max-width: 980px; margin: 0 auto; padding: 0 24px; }
24
+ .topbar { position: sticky; top: 0; z-index: 20; backdrop-filter: blur(12px); background: rgba(10, 10, 11, 0.88); border-bottom: 1px solid var(--line); }
25
+ .topbar .container { display: flex; justify-content: space-between; align-items: center; padding-top: 14px; padding-bottom: 14px; }
26
+ .brand { font-weight: 700; color: var(--text); display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
27
+ .brand .logo-mark { width: 28px; height: 28px; display: block; }
28
+ .hero { padding: 72px 0 32px; }
29
+ .eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; border: 1px solid rgba(34, 211, 238, 0.22); background: rgba(34, 211, 238, 0.1); color: var(--cyan); text-transform: uppercase; letter-spacing: 0.08em; font-size: 12px; font-weight: 700; }
30
+ h1 { font-size: clamp(34px, 5vw, 56px); line-height: 1.06; letter-spacing: -0.04em; margin: 16px 0; max-width: 860px; }
31
+ .hero p { max-width: 760px; color: var(--muted); font-size: 18px; }
32
+ .grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 24px; padding-bottom: 72px; }
33
+ .card, .detail-section, .sidebar-card { background: var(--bg-card); border: 1px solid var(--line); border-radius: 16px; }
34
+ .card { padding: 24px; }
35
+ .detail-section { padding: 24px; margin-bottom: 18px; }
36
+ .detail-section h2 { margin: 0 0 12px; font-size: 24px; letter-spacing: -0.03em; }
37
+ .detail-section p, .detail-section li, .sidebar-card p { color: var(--muted); }
38
+ .detail-section ul, .card ul { padding-left: 18px; color: var(--muted); }
39
+ .comparison-table { width: 100%; border-collapse: collapse; margin-top: 16px; font-size: 14px; }
40
+ .comparison-table th, .comparison-table td { border: 1px solid var(--line); padding: 12px; text-align: left; vertical-align: top; }
41
+ .comparison-table th { background: var(--bg-raised); color: var(--cyan); }
42
+ .pill-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
43
+ .pill { border: 1px solid var(--line); background: var(--bg-raised); border-radius: 999px; padding: 10px 14px; font-size: 14px; font-weight: 650; }
44
+ .pill.good { color: #b8f7c8; border-color: rgba(74, 222, 128, 0.28); background: rgba(74, 222, 128, 0.1); }
45
+ .pill.warn { color: #ffe2a4; border-color: rgba(251, 191, 36, 0.28); background: rgba(251, 191, 36, 0.1); }
46
+ .sidebar { display: flex; flex-direction: column; gap: 18px; }
47
+ .sidebar-card { padding: 20px; }
48
+ .sidebar-card:first-child { position: sticky; top: 84px; max-height: calc(100vh - 104px); overflow-y: auto; -webkit-overflow-scrolling: touch; }
49
+ .cta-button { display: inline-flex; align-items: center; justify-content: center; margin-top: 18px; padding: 12px 16px; border-radius: 10px; background: var(--cyan); color: #071116; font-weight: 700; text-decoration: none; }
50
+ .related-card { display: block; padding: 14px; border-radius: 12px; border: 1px solid var(--line); background: var(--bg-raised); margin-top: 12px; color: var(--text); }
51
+ .related-label { display: block; color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 4px; }
52
+ .faq-item { border-top: 1px solid var(--line); padding: 14px 0; }
53
+ .faq-item summary { cursor: pointer; font-weight: 600; }
54
+ .faq-item p { color: var(--muted); }
55
+ blockquote { border-left: 3px solid var(--cyan); margin: 14px 0; padding: 6px 16px; color: var(--text); font-style: italic; background: rgba(34, 211, 238, 0.05); }
56
+ @media (max-width: 860px) { .grid { grid-template-columns: 1fr; } .sidebar-card:first-child { position: static; max-height: none; overflow: visible; } }
57
+ </style>
58
+ <script type="application/ld+json">
59
+ {
60
+ "@context": "https://schema.org",
61
+ "@type": "TechArticle",
62
+ "headline": "ThumbGate vs Claude for Legal",
63
+ "description": "Anthropic's Claude for Legal (launched 2026-05-12) ships 12 practice-area plugins + 20+ connectors + Claude Opus 4.7 at 90.9% on Harvey's BigLaw Bench. The safety story is 'human in the loop.' ThumbGate is the runtime gate underneath: PreToolUse enforcement that fires before Claude's proposed tool call executes. Same architectural insight as Anthropic's own published containment model, extended to the developer-agent layer.",
64
+ "about": ["thumbgate vs claude for legal", "Anthropic legal AI governance", "PreToolUse runtime enforcement for legal agents", "law firm agent safety architecture"],
65
+ "url": "https://thumbgate.ai/compare/anthropic-claude-for-legal",
66
+ "citation": [
67
+ "https://www.artificiallawyer.com/2026/05/12/claude-for-legal-launches-may-reshape-the-legal-tech-world/",
68
+ "https://fortune.com/2026/05/12/anthropic-legal-plug-in-release-claude-cowork-big-law/",
69
+ "https://www.anthropic.com/engineering/how-we-contain-claude"
70
+ ],
71
+ "publisher": { "@type": "Organization", "name": "ThumbGate", "url": "https://thumbgate.ai" },
72
+ "mainEntityOfPage": "https://thumbgate.ai/compare/anthropic-claude-for-legal"
73
+ }
74
+ </script>
75
+ <script type="application/ld+json">
76
+ {
77
+ "@context": "https://schema.org",
78
+ "@type": "FAQPage",
79
+ "mainEntity": [
80
+ {
81
+ "@type": "Question",
82
+ "name": "Is Claude for Legal a ThumbGate competitor?",
83
+ "acceptedAnswer": {
84
+ "@type": "Answer",
85
+ "text": "No. Claude for Legal is a vertical bundle: Claude Opus 4.7 plus 12 practice-area plugins (Commercial, Employment, Privacy, Product, Corporate, AI Governance, etc.) plus 20+ connectors (DocuSign, Ironclad, iManage, NetDocuments, LexisNexis, Thomson Reuters, Box, Everlaw, LSuite) embedded into Word, Outlook, Claude Cowork, and Claude Projects. It is what the agent uses to do legal work. ThumbGate is the runtime gate that runs at PreToolUse — the moment after Claude proposes a tool call (a fetch from LexisNexis, a write to iManage, an outbound LLM call) and before that tool actually fires. Anthropic generates the action; ThumbGate gates the action. Most BigLaw deployments need both."
86
+ }
87
+ },
88
+ {
89
+ "@type": "Question",
90
+ "name": "Doesn't Claude for Legal already have safety built in?",
91
+ "acceptedAnswer": {
92
+ "@type": "Answer",
93
+ "text": "Anthropic's published safety story for Claude for Legal is 'keep a human in the loop on decision making' — a workflow principle, not a runtime enforcement layer. That principle is correct and necessary, but it relies on the attorney to spot the wrong action before approving. Sullivan & Cromwell apologized to a federal judge in early 2026 for AI-hallucinated citations despite policies, mandatory training, and verification requirements. Policies are not enforcement. A runtime PreToolUse hook inspects the proposed tool call deterministically before the attorney sees it for approval — the gate fires whether or not the human is paying attention."
94
+ }
95
+ },
96
+ {
97
+ "@type": "Question",
98
+ "name": "Does ThumbGate work with Claude for Legal specifically?",
99
+ "acceptedAnswer": {
100
+ "@type": "Answer",
101
+ "text": "Yes. ThumbGate's enforcement runs at the agent runtime's PreToolUse boundary, which exists in every Claude surface that exposes tool calls — Claude Code, Claude Desktop (which is where Claude for Legal's M365 plugins surface for desktop users), and the Claude API when called from Cursor, Codex CLI, Gemini CLI, Sourcegraph Amp, Cline, or OpenCode. The same rule pack — unauthorized-practice patterns, conflict-checker, privilege-marker egress — fires regardless of whether the model proposing the action is Claude Opus 4.7 via Claude for Legal, Claude via direct API, or another vendor's model."
102
+ }
103
+ },
104
+ {
105
+ "@type": "Question",
106
+ "name": "Anthropic's containment architecture also covers tool calls — isn't that the same thing as ThumbGate?",
107
+ "acceptedAnswer": {
108
+ "@type": "Answer",
109
+ "text": "Anthropic's published containment architecture (gVisor ephemeral containers for claude.ai, Seatbelt/bubblewrap sandboxes for Claude Code, hypervisor VMs for Claude Cowork, MITM egress proxy after credential exfiltration was discovered) covers what Anthropic ships. It stops at the Claude Code process boundary. ThumbGate runs the same three-layer model at the IDE-agent layer for the agents that share a developer's environment with Claude — Cursor, Codex CLI, Gemini CLI, Amp, Cline, OpenCode — and at the firm-specific rule layer that Anthropic's general-purpose containment cannot encode (your adverse-parties list, your UPL phrasing, your privilege markers, your matter-specific allowlists). See our /compare/anthropic-containment page for the deeper architectural map."
110
+ }
111
+ },
112
+ {
113
+ "@type": "Question",
114
+ "name": "Why would a BigLaw firm running Claude for Legal need a separate runtime gate?",
115
+ "acceptedAnswer": {
116
+ "@type": "Answer",
117
+ "text": "Three reasons. First, regulatory: the firm-specific rules that satisfy ABA Formal Opinion 512 and state-bar Unauthorized-Practice-of-Law conventions are not in Anthropic's product — they live in your ethics team's policy memo. Second, evidentiary: a procurement review needs structured audit logs that show 'rule X version Y matched proposed action Z and blocked it' — Claude for Legal's safety story is process-level (human in the loop), not artifact-level. Third, vendor independence: the same rule pack must fire when associates use Cursor, Codex, or Gemini CLI alongside Claude for Legal, and Anthropic's safety architecture does not extend to other vendors' agents."
118
+ }
119
+ }
120
+ ]
121
+ }
122
+ </script>
123
+ </head>
124
+ <body>
125
+ <header class="topbar">
126
+ <div class="container">
127
+ <a href="/" class="brand"><img src="/assets/brand/thumbgate-mark-inline.svg" alt="ThumbGate" class="logo-mark" width="28" height="28" /><span>ThumbGate</span></a>
128
+ <nav><a href="/learn">Learn</a> &nbsp; <a href="/pro">Pro</a> &nbsp; <a href="https://github.com/IgorGanapolsky/ThumbGate" target="_blank" rel="noopener">GitHub</a></nav>
129
+ </div>
130
+ </header>
131
+
132
+ <section class="hero">
133
+ <div class="container">
134
+ <span class="eyebrow">ThumbGate vs Claude for Legal</span>
135
+ <h1>Anthropic generates the legal action. ThumbGate learns from the attorney and gates the legal action.</h1>
136
+ <p><strong>Claude for Legal</strong> (launched 2026-05-12) is a vertical bundle: Claude Opus 4.7 (90.9% on Harvey's BigLaw Bench), 12 practice-area plugins (Commercial, Employment, Privacy, Corporate, AI Governance, and more), and 20+ connectors (DocuSign, Ironclad, iManage, NetDocuments, LexisNexis, Thomson Reuters, Box, Everlaw, LSuite) embedded into Word, Outlook, Claude Cowork, and Claude Projects. <strong>ThumbGate</strong> is the full feedback-to-enforcement loop underneath: every 👍 / 👎 an attorney gives on any AI answer becomes a lesson in a local lesson DB, recurring lessons get promoted to prevention rules, and those rules then fire at the PreToolUse hook before Claude's next proposed tool call executes. Anthropic's safety story is <em>"human in the loop on decision making."</em> Ours is <em>"the attorney's vote becomes the rule, and the rule fires deterministically before the next decision is even shown to a human."</em> Most regulated firms need both.</p>
137
+ <p style="margin-top:18px; padding:14px 18px; border-left:3px solid #a78bfa; background:rgba(167,139,250,0.08); border-radius:0 6px 6px 0; max-width:760px;">
138
+ <strong style="color:#a78bfa">No public-facing chatbot? You still have the risk surface.</strong>
139
+ Most BigLaw firms don't take client intake through a chatbot &mdash; but associates already paste matter context into Claude (including Claude for Legal), Cursor, Codex, and internal LLM gateways every day. The risk isn't a bot giving public advice; it's <em>internal</em> agent use the firm can't see. ThumbGate produces a searchable audit log + RAG of every gated detection &mdash; queryable by ethics, risk, and innovation owners. Your conflicts DB and document systems stay where they are.
140
+ </p>
141
+ </div>
142
+ </section>
143
+
144
+ <main class="container">
145
+ <div class="grid">
146
+ <div class="content">
147
+
148
+ <section class="detail-section">
149
+ <h2>Side-by-side scope comparison</h2>
150
+ <table class="comparison-table">
151
+ <thead>
152
+ <tr><th>Dimension</th><th>Claude for Legal</th><th>ThumbGate</th></tr>
153
+ </thead>
154
+ <tbody>
155
+ <tr><td><strong>Product category</strong></td><td>Vertical AI bundle: model + practice-area plugins + connectors</td><td>Runtime governance gate at PreToolUse</td></tr>
156
+ <tr><td><strong>What it does</strong></td><td>Generates legal work product across Word, Outlook, Cowork, Projects</td><td>Inspects the proposed tool call and returns allow / warn / block / route-to-human before the tool fires</td></tr>
157
+ <tr><td><strong>Surfaces</strong></td><td>Word, Outlook, Claude Cowork, Claude Projects, Claude.ai, Microsoft 365</td><td>Claude Code, Claude Desktop, Cursor, OpenAI Codex CLI, Google Gemini CLI, Sourcegraph Amp, Cline, OpenCode</td></tr>
158
+ <tr><td><strong>Safety story</strong></td><td>"Keep a human in the loop on decision making" (workflow principle)</td><td>Deterministic PreToolUse pattern-match against firm-configured rules (artifact)</td></tr>
159
+ <tr><td><strong>Firm-specific rule encoding</strong></td><td>Not in product &mdash; lives in your ethics team's policy memo</td><td>Your adverse-parties list, UPL phrasing, privilege markers, matter-specific allowlists as enforced rules</td></tr>
160
+ <tr><td><strong>Audit evidence</strong></td><td>Process-level (human approvals captured in workflow)</td><td>Artifact-level (rule ID + version + matched pattern + audit ID + ISO 27001 control mapping in downloadable JSON per blocked action)</td></tr>
161
+ <tr><td><strong>Vendor coverage</strong></td><td>Claude only</td><td>Claude + every other agent your associates use alongside it</td></tr>
162
+ <tr><td><strong>Pricing model</strong></td><td>Bundled with paid Claude subscriptions (no separate SKU disclosed at launch)</td><td>Open-source free tier + Pro/Team for hosted evidence, adapter coverage, audit-export</td></tr>
163
+ </tbody>
164
+ </table>
165
+ </section>
166
+
167
+ <section class="detail-section">
168
+ <h2>The full ThumbGate loop &mdash; not just the gate</h2>
169
+ <p>The PreToolUse hook is the endpoint of a four-stage loop, not the whole product. The loop is what makes the gate <em>your firm's gate</em>, not a generic one. Every stage is in your environment:</p>
170
+ <ol>
171
+ <li><strong>Capture.</strong> An attorney reviews an AI answer &mdash; a Claude for Legal drafted clause, a Cowork project summary, a proposed conflict-check action, a research citation. They click 👍 (the answer was good) or 👎 (the answer was wrong, unauthorized, or unsafe). One click. The feedback record is structured: the context, what worked or went wrong, and what should change next time.</li>
172
+ <li><strong>Memory.</strong> The feedback record lands in a local lesson DB (SQLite + LanceDB vector index) on the firm's infrastructure. The same record stores wins, mistakes, and edge cases. Nothing leaves the firm's perimeter. The lesson DB is searchable: when a new intake matches a prior pattern, the relevant lessons are retrieved before the agent answers.</li>
173
+ <li><strong>Rule promotion.</strong> When a 👎 pattern recurs across distinct sessions, Thompson Sampling promotes it from a one-off lesson to a deterministic prevention rule. The rule is human-readable and editable &mdash; your ethics team can audit, soften, or override it. Wins get reinforced the same way: patterns the attorneys consistently approved become the routing the agent prefers.</li>
174
+ <li><strong>Enforcement.</strong> The promoted rules fire at the PreToolUse hook before Claude's next proposed tool call executes. Allow, warn, block, or route-to-human, with an artifact-level audit log (rule ID, version, matched pattern, audit ID, ISO 27001 control mapping). The attorney's vote from stage 1 is now an enforced constraint that fires deterministically before any human is asked to approve again.</li>
175
+ </ol>
176
+ <p>That is what "infrastructure firewall for AI coding agents" means in practice. Claude for Legal generates the legal action. ThumbGate <em>learns from the attorney's vote on that action</em>, then <em>enforces the lesson on the next one</em>. The two products are stacked, not competing.</p>
177
+ </section>
178
+
179
+ <section class="detail-section">
180
+ <h2>The shared architectural insight, made explicit</h2>
181
+ <p>Anthropic's own published <a href="/compare/anthropic-containment">containment architecture</a> (gVisor ephemeral containers for claude.ai, Seatbelt/bubblewrap sandboxes for Claude Code, hypervisor VMs for Claude Cowork, MITM egress proxy added after credential exfiltration was discovered through approved domains, tool-output inspection before context insertion) is the strongest endorsement of ThumbGate's posture from the company that built Claude. They run runtime enforcement at every layer they ship.</p>
182
+ <p>Claude for Legal extends Anthropic's <em>capability</em> surface (legal plugins, M365 integration, connectors) but does not extend the <em>enforcement</em> surface. Their safety language for the legal product is "human in the loop." That principle is right. It is also the same principle Sullivan &amp; Cromwell had codified in policy when their associates filed hallucinated citations with a federal judge in early 2026. Gordon Rees same outcome on a bankruptcy filing. <a href="https://www.damiencharlotin.com/hallucinations/" target="_blank" rel="noopener">Damien Charlotin's public database</a> catalogs 1,369+ AI hallucination rulings. <strong>Policies are not enforcement.</strong> A runtime gate that inspects the proposed action <em>before</em> the human is asked to approve it is.</p>
183
+ <blockquote>"The legal sector is facing mounting pressure to adopt AI, and the firms and in-house teams that move are pulling ahead fast." &mdash; Anthropic, on Claude for Legal launch</blockquote>
184
+ <p>The firms moving fastest are also the firms most exposed to the failure modes Sullivan &amp; Cromwell hit. The combination of Anthropic's capability layer and a deterministic runtime gate is what separates "moves fast and apologizes to a judge" from "moves fast and ships audit evidence to procurement."</p>
185
+ </section>
186
+
187
+ <section class="detail-section">
188
+ <h2>The dual-deploy story for a regulated firm</h2>
189
+ <p>If your firm adopts Claude for Legal &mdash; or is already a paid Claude customer with the plugins available &mdash; the integration with ThumbGate is short and additive:</p>
190
+ <ol>
191
+ <li><strong>Claude for Legal handles capability.</strong> Associates use the Commercial, Corporate, Employment, Privacy, and IP plugins in Word, Outlook, Cowork, and Projects to generate work product. M365 connectors keep one context-carrying agent across tools.</li>
192
+ <li><strong>ThumbGate handles enforcement.</strong> Every tool call Claude proposes &mdash; a LexisNexis fetch, an iManage write, a DocuSign send, an outbound LLM call, a Box upload, a shell command in Claude Code &mdash; is inspected at PreToolUse against your firm-specific rule pack. Allow / warn / block / route-to-human, deterministically, with an audit log per decision.</li>
193
+ <li><strong>Vendor-agnostic coverage.</strong> When associates also use Cursor, Codex, or Gemini CLI alongside Claude for Legal &mdash; which most teams do &mdash; the same rule pack fires there too. Anthropic's containment does not extend to other vendors' agents. ThumbGate does.</li>
194
+ </ol>
195
+ <p>The result is what BigLaw procurement actually asks for: the capability gains Claude for Legal promises, plus the artifact-level audit evidence (rule ID, version, matched pattern, audit ID, ISO 27001 control mapping) a security review needs to sign off on the deployment. Our <a href="/ai-malpractice-prevention">legal-vertical pre-execution-controls page</a> shows the live demos: UPL Gate, Conflict Gate, Egress Gate.</p>
196
+ </section>
197
+
198
+ <section class="detail-section">
199
+ <h2>FAQ</h2>
200
+ <details class="faq-item" open>
201
+ <summary>If Anthropic is going direct to BigLaw, why does ThumbGate matter?</summary>
202
+ <p>Because the demand Anthropic just created &mdash; for AI inside legal workflows &mdash; is also the demand Sullivan &amp; Cromwell created when they apologized to a federal judge. The procurement question after a Claude for Legal pilot is the same question: how does your firm prove the model didn't take an unauthorized action? Anthropic's answer is "human in the loop." Procurement teams want an artifact-level answer too.</p>
203
+ </details>
204
+ <details class="faq-item">
205
+ <summary>Does ThumbGate need to be a Claude partner to gate Claude for Legal?</summary>
206
+ <p>No. The PreToolUse hook is a runtime boundary inside the agent process &mdash; it doesn't require an Anthropic partnership any more than a Node.js middleware library needs a partnership with the framework it sits in. Claude Code, Claude Desktop, and any tool that calls the Anthropic API ship the integration surface ThumbGate uses.</p>
207
+ </details>
208
+ <details class="faq-item">
209
+ <summary>What about firms that only use Claude for Legal, no other agents?</summary>
210
+ <p>Still relevant. Claude for Legal's enforcement is process-level ("human in the loop"); your firm's policy team probably wants rule-level enforcement for ABA Formal Opinion 512 + state-bar UPL conventions + your adverse-parties list. Those rules live in your ethics memo today. ThumbGate moves them into the runtime so they fire whether or not the associate notices the issue.</p>
211
+ </details>
212
+ <details class="faq-item">
213
+ <summary>Is this comparison sponsored or partnered?</summary>
214
+ <p>No. We don't have a partnership with Anthropic. We wrote this page because BigLaw prospects evaluate both products &mdash; we want them to choose by scope, not by confusion. If anything here misrepresents Claude for Legal, open an issue at <a href="https://github.com/IgorGanapolsky/ThumbGate/issues" target="_blank" rel="noopener">our repo</a> and we will correct it.</p>
215
+ </details>
216
+ </section>
217
+
218
+ </div>
219
+
220
+ <aside class="sidebar">
221
+ <div class="sidebar-card">
222
+ <span class="related-label">Install ThumbGate</span>
223
+ <p style="font-size: 14px;">Get PreToolUse rules running alongside Claude for Legal in two minutes.</p>
224
+ <a class="cta-button" href="https://github.com/IgorGanapolsky/ThumbGate" target="_blank" rel="noopener">npx thumbgate init &rarr;</a>
225
+ </div>
226
+
227
+ <div class="sidebar-card">
228
+ <span class="related-label">Try Claude for Legal too</span>
229
+ <p style="font-size: 13px;">Anthropic's vertical bundle. Plugins + connectors in your Word/Outlook/Cowork workspace. Available to all paid Claude customers. <a href="https://www.anthropic.com/" target="_blank" rel="noopener">anthropic.com</a></p>
230
+ </div>
231
+
232
+ <div class="sidebar-card">
233
+ <span class="related-label">Related comparisons</span>
234
+ <a class="related-card" href="/compare/anthropic-containment">
235
+ <strong>ThumbGate vs Anthropic's Claude Containment</strong><br>
236
+ <span style="color: var(--muted); font-size: 13px;">IDE-agent extension of Anthropic's published architecture</span>
237
+ </a>
238
+ <a class="related-card" href="/compare/arcjet">
239
+ <strong>ThumbGate vs Arcjet</strong><br>
240
+ <span style="color: var(--muted); font-size: 13px;">Agent-outbound gate vs app-inbound firewall</span>
241
+ </a>
242
+ <a class="related-card" href="/compare/oak-and-sparrow-gatekeeper">
243
+ <strong>ThumbGate vs Gatekeeper (Oak &amp; Sparrow)</strong><br>
244
+ <span style="color: var(--muted); font-size: 13px;">Agent-action gate vs workforce-input gate</span>
245
+ </a>
246
+ <a class="related-card" href="/ai-malpractice-prevention">
247
+ <strong>Pre-Execution Controls for Legal AI Agents</strong><br>
248
+ <span style="color: var(--muted); font-size: 13px;">Live UPL / Conflict / Egress gate demos</span>
249
+ </a>
250
+ </div>
251
+
252
+ <div class="sidebar-card">
253
+ <span class="related-label">Sources</span>
254
+ <p style="font-size: 13px;">Claude for Legal product facts verified from <a href="https://www.artificiallawyer.com/2026/05/12/claude-for-legal-launches-may-reshape-the-legal-tech-world/" target="_blank" rel="noopener">Artificial Lawyer (2026-05-12)</a>, <a href="https://fortune.com/2026/05/12/anthropic-legal-plug-in-release-claude-cowork-big-law/" target="_blank" rel="noopener">Fortune (2026-05-12)</a>, and Anthropic's launch announcement. Sullivan &amp; Cromwell incident framing from <a href="https://compliancehub.wiki/legal-ai-hallucination-reckoning-2026/" target="_blank" rel="noopener">ComplianceHub</a>. Hallucination ruling count from <a href="https://www.damiencharlotin.com/hallucinations/" target="_blank" rel="noopener">Damien Charlotin's database</a> (1,369+ rulings as of 2026-05-27). If anything here misrepresents Claude for Legal, open an issue at <a href="https://github.com/IgorGanapolsky/ThumbGate/issues" target="_blank" rel="noopener">our repo</a> and we will correct it.</p>
255
+ </div>
256
+ </aside>
257
+ </div>
258
+ </main>
259
+ </body>
260
+ </html>
@@ -0,0 +1,280 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>ThumbGate vs Anthropic's Claude Containment | IDE-Agent Extension of a Published Architecture</title>
7
+ <meta name="description" content="Anthropic published their three-layer containment architecture for Claude: ephemeral containers, OS-level sandboxes (Seatbelt / bubblewrap), and an MITM egress proxy. ThumbGate extends the same model to the IDE-agent layer — Cursor, Codex, Gemini, Amp, Cline, OpenCode — where Anthropic's sandbox stops." />
8
+ <meta property="og:title" content="ThumbGate vs Anthropic's Claude Containment | IDE-Agent Extension" />
9
+ <meta property="og:description" content="Anthropic contains Claude on claude.ai and Claude Code. ThumbGate contains the agents Anthropic does not own: Cursor, Codex, Gemini, Amp, Cline, OpenCode. Same three-layer model, extended to the agents you actually use." />
10
+ <meta property="og:type" content="article" />
11
+ <meta property="og:url" content="https://thumbgate.ai/compare/anthropic-containment" />
12
+ <link rel="canonical" href="https://thumbgate.ai/compare/anthropic-containment" />
13
+ <link rel="llm-context" href="/llm-context.md" type="text/markdown" />
14
+ <link rel="icon" type="image/png" href="/thumbgate-icon.png" />
15
+ <link rel="apple-touch-icon" href="/assets/brand/thumbgate-mark.svg" />
16
+ <meta property="og:image" content="/og.png" />
17
+ <style>
18
+ :root { --bg: #0a0a0b; --bg-raised: #111113; --bg-card: #161618; --line: #222225; --text: #e8e8ec; --muted: #8b8b96; --cyan: #22d3ee; --green: #4ade80; --amber: #fbbf24; }
19
+ * { box-sizing: border-box; }
20
+ body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: var(--bg); color: var(--text); line-height: 1.65; }
21
+ a { color: var(--cyan); text-decoration: none; }
22
+ a:hover { text-decoration: underline; }
23
+ .container { max-width: 980px; margin: 0 auto; padding: 0 24px; }
24
+ .topbar { position: sticky; top: 0; z-index: 20; backdrop-filter: blur(12px); background: rgba(10, 10, 11, 0.88); border-bottom: 1px solid var(--line); }
25
+ .topbar .container { display: flex; justify-content: space-between; align-items: center; padding-top: 14px; padding-bottom: 14px; }
26
+ .brand { font-weight: 700; color: var(--text); display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
27
+ .brand .logo-mark { width: 28px; height: 28px; display: block; }
28
+ .hero { padding: 72px 0 32px; }
29
+ .eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; border: 1px solid rgba(34, 211, 238, 0.22); background: rgba(34, 211, 238, 0.1); color: var(--cyan); text-transform: uppercase; letter-spacing: 0.08em; font-size: 12px; font-weight: 700; }
30
+ h1 { font-size: clamp(34px, 5vw, 56px); line-height: 1.06; letter-spacing: -0.04em; margin: 16px 0; max-width: 860px; }
31
+ .hero p { max-width: 760px; color: var(--muted); font-size: 18px; }
32
+ .grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 24px; padding-bottom: 72px; }
33
+ .card, .detail-section, .sidebar-card { background: var(--bg-card); border: 1px solid var(--line); border-radius: 16px; }
34
+ .card { padding: 24px; }
35
+ .detail-section { padding: 24px; margin-bottom: 18px; }
36
+ .detail-section h2 { margin: 0 0 12px; font-size: 24px; letter-spacing: -0.03em; }
37
+ .detail-section p, .detail-section li, .sidebar-card p { color: var(--muted); }
38
+ .detail-section ul, .card ul { padding-left: 18px; color: var(--muted); }
39
+ .comparison-table { width: 100%; border-collapse: collapse; margin-top: 16px; font-size: 14px; }
40
+ .comparison-table th, .comparison-table td { border: 1px solid var(--line); padding: 12px; text-align: left; vertical-align: top; }
41
+ .comparison-table th { background: var(--bg-raised); color: var(--cyan); }
42
+ .pill-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
43
+ .pill { border: 1px solid var(--line); background: var(--bg-raised); border-radius: 999px; padding: 10px 14px; font-size: 14px; font-weight: 650; }
44
+ .pill.good { color: #b8f7c8; border-color: rgba(74, 222, 128, 0.28); background: rgba(74, 222, 128, 0.1); }
45
+ .pill.warn { color: #ffe2a4; border-color: rgba(251, 191, 36, 0.28); background: rgba(251, 191, 36, 0.1); }
46
+ .sidebar { display: flex; flex-direction: column; gap: 18px; }
47
+ .sidebar-card { padding: 20px; }
48
+ .sidebar-card:first-child { position: sticky; top: 84px; max-height: calc(100vh - 104px); overflow-y: auto; -webkit-overflow-scrolling: touch; }
49
+ .cta-button { display: inline-flex; align-items: center; justify-content: center; margin-top: 18px; padding: 12px 16px; border-radius: 10px; background: var(--cyan); color: #071116; font-weight: 700; text-decoration: none; }
50
+ .related-card { display: block; padding: 14px; border-radius: 12px; border: 1px solid var(--line); background: var(--bg-raised); margin-top: 12px; color: var(--text); }
51
+ .related-label { display: block; color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 4px; }
52
+ .faq-item { border-top: 1px solid var(--line); padding: 14px 0; }
53
+ .faq-item summary { cursor: pointer; font-weight: 600; }
54
+ .faq-item p { color: var(--muted); }
55
+ blockquote { border-left: 3px solid var(--cyan); margin: 14px 0; padding: 6px 16px; color: var(--text); font-style: italic; background: rgba(34, 211, 238, 0.05); }
56
+ @media (max-width: 860px) { .grid { grid-template-columns: 1fr; } .sidebar-card:first-child { position: static; max-height: none; overflow: visible; } }
57
+ </style>
58
+ <script type="application/ld+json">
59
+ {
60
+ "@context": "https://schema.org",
61
+ "@type": "TechArticle",
62
+ "headline": "ThumbGate vs Anthropic's Claude Containment Architecture",
63
+ "description": "Anthropic published their three-layer containment model: environment isolation (ephemeral gVisor containers, Seatbelt/bubblewrap sandboxes, hypervisor VMs), behavioral guidance, and external content controls. ThumbGate extends the same model to the IDE-agent layer where Anthropic's sandbox stops.",
64
+ "about": ["thumbgate vs anthropic containment", "Claude Code sandbox", "IDE agent safety architecture", "PreToolUse hooks for non-Claude agents"],
65
+ "url": "https://thumbgate.ai/compare/anthropic-containment",
66
+ "citation": "https://www.anthropic.com/engineering/how-we-contain-claude",
67
+ "publisher": { "@type": "Organization", "name": "ThumbGate", "url": "https://thumbgate.ai" },
68
+ "mainEntityOfPage": "https://thumbgate.ai/compare/anthropic-containment"
69
+ }
70
+ </script>
71
+ <script type="application/ld+json">
72
+ {
73
+ "@context": "https://schema.org",
74
+ "@type": "FAQPage",
75
+ "mainEntity": [
76
+ {
77
+ "@type": "Question",
78
+ "name": "Is ThumbGate a competitor to Anthropic's Claude containment?",
79
+ "acceptedAnswer": {
80
+ "@type": "Answer",
81
+ "text": "No. Anthropic's published containment architecture (gVisor ephemeral containers on claude.ai, Seatbelt on macOS and bubblewrap on Linux for Claude Code, hypervisor VMs for Claude Cowork, MITM egress proxy) covers what they ship. It stops at the Claude Code process boundary. ThumbGate runs the same three-layer model (environment → permission gate → egress) at the IDE-agent layer for the agents Anthropic does not own: Cursor, OpenAI Codex CLI, Google Gemini CLI, Sourcegraph Amp, Cline, OpenCode, and Claude Desktop. Same architectural model, extended to the agents your team actually uses alongside Claude Code."
82
+ }
83
+ },
84
+ {
85
+ "@type": "Question",
86
+ "name": "What does Anthropic's article tell us about agent containment?",
87
+ "acceptedAnswer": {
88
+ "@type": "Answer",
89
+ "text": "Three lessons we operationalize: (1) Design for containment at the environment layer first, then steer behavior at the model layer. (2) Tool output is an attack surface even when the tool is trusted — a system prompt cannot prevent an exfiltration that the tool itself returns. (3) Battle-tested primitives (hypervisors, seccomp, gVisor) are more reliable than custom proxy components. ThumbGate's PreToolUse hook is the IDE-agent analogue of Anthropic's permission gate; the planned PostToolUse output inspection is the IDE-agent analogue of Anthropic's tool-output check before context insertion."
90
+ }
91
+ },
92
+ {
93
+ "@type": "Question",
94
+ "name": "Where does Anthropic's containment stop and ThumbGate begin?",
95
+ "acceptedAnswer": {
96
+ "@type": "Answer",
97
+ "text": "Anthropic's containment lives inside the products they ship (claude.ai, Claude Code, Claude Cowork). The moment your developer opens Cursor with the Anthropic API key, or runs an OpenAI Codex CLI session against a local repo, or wires up an MCP server in any agent runtime, you've left Anthropic's containment boundary. ThumbGate runs the same PreToolUse-gating model inside those non-Anthropic-owned runtimes. The two compose: Anthropic contains Claude inside their products, ThumbGate contains the agents your team uses outside them."
98
+ }
99
+ },
100
+ {
101
+ "@type": "Question",
102
+ "name": "Why should I use a third-party tool instead of writing my own bubblewrap rules?",
103
+ "acceptedAnswer": {
104
+ "@type": "Answer",
105
+ "text": "Anthropic's own conclusion: 'the software you build yourself is often the weakest.' Their early custom MITM proxy failed in real incidents involving credential exfiltration and allowlist bypasses; they rebuilt on hypervisor primitives. ThumbGate's gate engine, lesson DB, Thompson Sampling auto-promotion, and adapter matrix across eight agent runtimes is the same argument: maintained infrastructure beats per-team shell scripts that go stale the moment Claude Code, Cursor, or Codex ship a breaking change to their hook API."
106
+ }
107
+ },
108
+ {
109
+ "@type": "Question",
110
+ "name": "Does ThumbGate use any of the same primitives Anthropic uses?",
111
+ "acceptedAnswer": {
112
+ "@type": "Answer",
113
+ "text": "Different layer, different primitives. Anthropic relies on OS sandboxes (Seatbelt, bubblewrap, gVisor, hypervisors) because they ship the runtime. ThumbGate runs as a PreToolUse hook inside agent runtimes that don't expose those OS primitives to third parties, so ThumbGate's enforcement layer is pure JavaScript pattern matching against intercepted tool calls — fast, auditable, no LLM on the path. The architectural model is the same; the implementation is what each layer can reach."
114
+ }
115
+ }
116
+ ]
117
+ }
118
+ </script>
119
+ </head>
120
+ <body>
121
+ <div class="topbar">
122
+ <div class="container">
123
+ <a class="brand" href="/"><img src="/assets/brand/thumbgate-mark-inline.svg" alt="ThumbGate" class="logo-mark" width="28" height="28"><span class="logo-text">ThumbGate</span></a>
124
+ <a href="https://github.com/IgorGanapolsky/ThumbGate/blob/main/docs/VERIFICATION_EVIDENCE.md" target="_blank" rel="noopener">Verification evidence</a>
125
+ </div>
126
+ </div>
127
+
128
+ <section class="hero">
129
+ <div class="container">
130
+ <span class="eyebrow">ThumbGate vs Anthropic Containment</span>
131
+ <h1>Anthropic contains Claude inside their products. ThumbGate contains every other agent your team uses.</h1>
132
+ <p>Anthropic published <a href="https://www.anthropic.com/engineering/how-we-contain-claude" target="_blank" rel="noopener">"How we contain Claude"</a> on their engineering blog — a three-layer architecture (environment isolation → behavioral guidance → external content controls) implemented across claude.ai, Claude Code, and Claude Cowork. That coverage stops at the Anthropic product boundary. <strong>ThumbGate runs the same architectural model at the IDE-agent layer</strong> — Cursor, OpenAI Codex CLI, Google Gemini CLI, Sourcegraph Amp, Cline, OpenCode, and Claude Desktop — where Anthropic's sandbox does not reach.</p>
133
+ <div class="pill-row">
134
+ <span class="pill">Same 3-layer model</span>
135
+ <span class="pill">Different runtime layer</span>
136
+ <span class="pill good">Composable, not competitive</span>
137
+ </div>
138
+ </div>
139
+ </section>
140
+
141
+ <div class="container grid">
142
+ <main>
143
+ <article class="detail-section">
144
+ <h2>Anthropic's published architecture, mapped to ThumbGate</h2>
145
+ <table class="comparison-table">
146
+ <thead>
147
+ <tr>
148
+ <th>Anthropic layer (published practice)</th>
149
+ <th>Where ThumbGate fits</th>
150
+ </tr>
151
+ </thead>
152
+ <tbody>
153
+ <tr>
154
+ <td><strong>Ephemeral gVisor containers</strong> (claude.ai per-session filesystem; "no code runs on the local machine")</td>
155
+ <td>Out of scope — Anthropic's hosted product. ThumbGate is local-first by design.</td>
156
+ </tr>
157
+ <tr>
158
+ <td><strong>OS-level sandbox</strong> (Seatbelt on macOS, bubblewrap on Linux for Claude Code; 84% reduction in permission prompts)</td>
159
+ <td><strong>Direct analogue.</strong> ThumbGate's PreToolUse hook is the cross-agent version: same "evaluate before execution" model, but works inside Cursor, Codex, Gemini, Amp, Cline, OpenCode where bubblewrap/Seatbelt don't apply.</td>
160
+ </tr>
161
+ <tr>
162
+ <td><strong>Hypervisor VM isolation</strong> (Claude Cowork; "the agent loop ran inside the guest…executed as an ordinary Linux user with no awareness it was sandboxed")</td>
163
+ <td>Out of scope — Anthropic's managed VM offering. ThumbGate's adjacent value: deterministic rule enforcement that follows the agent across whichever machine you run it on.</td>
164
+ </tr>
165
+ <tr>
166
+ <td><strong>MITM egress proxy</strong> (intercepts API traffic, validates VM-provisioned session tokens after credential exfiltration was discovered through approved domains)</td>
167
+ <td><strong>Roadmap analogue.</strong> ThumbGate's egress-rule gates can block external LLM calls when privilege markers or restricted hostnames appear in the outbound payload — same defense, IDE-agent layer.</td>
168
+ </tr>
169
+ <tr>
170
+ <td><strong>Tool output inspection pre-context</strong> ("tool output is an attack surface even when the tool is trusted")</td>
171
+ <td><strong>Direct roadmap item.</strong> PostToolUse output inspection is the natural extension of ThumbGate's PreToolUse model. Same logic, applied to the returned payload before it enters agent context.</td>
172
+ </tr>
173
+ <tr>
174
+ <td><strong>Model-layer behavioral guidance</strong> (system prompts, model tuning)</td>
175
+ <td>Not us. ThumbGate is deterministic enforcement, not steering. We assume the model will sometimes try the wrong thing; the gate is what stops it from succeeding.</td>
176
+ </tr>
177
+ </tbody>
178
+ </table>
179
+ </article>
180
+
181
+ <article class="detail-section">
182
+ <h2>Three lessons from Anthropic that operationalize for non-Anthropic agents</h2>
183
+ <p><strong>1. Environment first, behavior second.</strong> Anthropic writes:</p>
184
+ <blockquote>"Design for containment at the environment layer first, then steer behavior at the model layer."</blockquote>
185
+ <p>This is exactly why ThumbGate is a PreToolUse hook rather than a system-prompt addition. The gate fires regardless of what the model "tries to do" — it acts on the actual tool-call payload, not on the model's intent.</p>
186
+
187
+ <p><strong>2. Tool output is an attack surface.</strong> Anthropic writes:</p>
188
+ <blockquote>"Tool output is an attack surface even when the tool is trusted."</blockquote>
189
+ <p>This is the architectural justification for ThumbGate's roadmapped PostToolUse output-inspection layer. A trusted internal tool returning poisoned data is the same threat as an untrusted external one — both flow into the model's context window with the same authority.</p>
190
+
191
+ <p><strong>3. Battle-tested primitives beat custom proxies.</strong> Anthropic writes:</p>
192
+ <blockquote>"The software you build yourself is often the weakest."</blockquote>
193
+ <p>Their early custom MITM proxy failed in real incidents involving credential exfiltration and allowlist bypasses; they rebuilt on hypervisor primitives. The same argument applies one layer up: a maintained third-party gate engine, lesson DB, and adapter matrix across eight agent runtimes is more reliable than per-team shell scripts that go stale the moment Claude Code, Cursor, or Codex ship a breaking change to their hook API.</p>
194
+ </article>
195
+
196
+ <article class="detail-section">
197
+ <h2>When you should rely on Anthropic's containment vs ThumbGate</h2>
198
+ <ul>
199
+ <li><strong>You only use claude.ai:</strong> Anthropic's containment is doing the work. ThumbGate adds nothing.</li>
200
+ <li><strong>You only use Claude Code on macOS or Linux:</strong> Anthropic's bubblewrap/Seatbelt covers the bash + filesystem surface. ThumbGate adds value for repeated-mistake prevention (the "thumbs down → blocked next time" loop) and for any MCP servers wired into Claude Code that bubblewrap doesn't gate.</li>
201
+ <li><strong>You use Cursor, Codex CLI, Gemini CLI, Amp, Cline, OpenCode, or Claude Desktop:</strong> Anthropic's sandboxes do not apply. ThumbGate is the only PreToolUse layer that covers all of them with one configuration.</li>
202
+ <li><strong>You use Claude Cowork:</strong> Anthropic's hypervisor VM contains the execution surface. ThumbGate's enforcement persists across whichever VM or machine the agent runs on, useful when you want the same rule to fire in dev + production.</li>
203
+ </ul>
204
+ </article>
205
+
206
+ <article class="detail-section">
207
+ <h2>FAQ</h2>
208
+ <details class="faq-item" open>
209
+ <summary>Is ThumbGate a competitor to Anthropic's Claude containment?</summary>
210
+ <p>No. Anthropic's containment stops at the Claude Code / claude.ai / Claude Cowork product boundary. ThumbGate runs the same three-layer model at the IDE-agent layer — Cursor, Codex, Gemini, Amp, Cline, OpenCode, Claude Desktop — where Anthropic's sandbox does not reach.</p>
211
+ </details>
212
+ <details class="faq-item">
213
+ <summary>What does Anthropic's article tell us about agent containment?</summary>
214
+ <p>Three lessons we operationalize: environment first then behavior, tool output is an attack surface, battle-tested primitives beat custom proxies. ThumbGate's PreToolUse hook is the IDE-agent analogue of Anthropic's permission gate; the planned PostToolUse output inspection is the analogue of Anthropic's tool-output check before context insertion.</p>
215
+ </details>
216
+ <details class="faq-item">
217
+ <summary>Why use a third-party tool instead of writing my own bubblewrap rules?</summary>
218
+ <p>Anthropic's own conclusion: "the software you build yourself is often the weakest." Their early custom MITM proxy failed in real incidents; they rebuilt on hypervisor primitives. ThumbGate's maintained gate engine + lesson DB + adapter matrix is the same argument one layer up: maintained infrastructure beats per-team shell scripts that go stale the moment Claude Code, Cursor, or Codex ship a breaking change to their hook API.</p>
219
+ </details>
220
+ <details class="faq-item">
221
+ <summary>Where does Anthropic's containment stop and ThumbGate begin?</summary>
222
+ <p>Inside Anthropic's products: Anthropic. The moment your dev opens Cursor with the Anthropic API key, or runs Codex against a local repo, or wires up an MCP server in any agent runtime: ThumbGate. The two compose without overlap.</p>
223
+ </details>
224
+ <details class="faq-item">
225
+ <summary>Where do I start?</summary>
226
+ <p>If you use Claude Code: keep using it as-is, install ThumbGate alongside (<code>npx thumbgate init</code>) for the repeated-mistake prevention loop and for the MCP servers Anthropic's sandbox doesn't reach. If you use any other agent runtime: ThumbGate is the only deterministic PreToolUse layer for them.</p>
227
+ </details>
228
+ </article>
229
+ </main>
230
+
231
+ <aside class="sidebar">
232
+ <div class="sidebar-card">
233
+ <h3 style="margin: 0 0 8px;">Install ThumbGate free</h3>
234
+ <p>10 captures/day, 3 active rules, PreToolUse blocking across Claude Code, Cursor, Codex, Gemini, Amp, Cline, OpenCode, Claude Desktop.</p>
235
+ <pre style="background: var(--bg-raised); border: 1px solid var(--line); border-radius: 8px; padding: 12px; font-size: 13px; overflow: auto;">npx thumbgate init</pre>
236
+ <a class="cta-button" href="/pricing">See Pro vs Team pricing →</a>
237
+ <p style="font-size: 12px; margin-top: 16px;">MIT licensed. No telemetry without opt-in. <code>THUMBGATE_NO_TELEMETRY=1</code> disables.</p>
238
+ </div>
239
+
240
+ <div class="sidebar-card">
241
+ <span class="related-label">Read Anthropic's article</span>
242
+ <p style="font-size: 13px;"><a href="https://www.anthropic.com/engineering/how-we-contain-claude" target="_blank" rel="noopener">"How we contain Claude" — Anthropic engineering blog</a>. The published architectural model this page extends to non-Anthropic agent runtimes.</p>
243
+ </div>
244
+
245
+ <div class="sidebar-card">
246
+ <span class="related-label">Related comparisons</span>
247
+ <a class="related-card" href="/compare/bumblebee">
248
+ <strong>ThumbGate vs Bumblebee</strong><br>
249
+ <span style="color: var(--muted); font-size: 13px;">Runtime enforcement vs Perplexity's static MCP inventory</span>
250
+ </a>
251
+ <a class="related-card" href="/compare/claude-code-hooks">
252
+ <strong>ThumbGate vs claude-code-hooks</strong><br>
253
+ <span style="color: var(--muted); font-size: 13px;">Hosted sync vs local shell scripts</span>
254
+ </a>
255
+ <a class="related-card" href="/compare/heidi">
256
+ <strong>ThumbGate vs HEIDI</strong><br>
257
+ <span style="color: var(--muted); font-size: 13px;">Agent behavior vs dependency CVE scanning</span>
258
+ </a>
259
+ <a class="related-card" href="/compare/oak-and-sparrow-gatekeeper">
260
+ <strong>ThumbGate vs Gatekeeper (Oak &amp; Sparrow)</strong><br>
261
+ <span style="color: var(--muted); font-size: 13px;">Agent-action gate vs workforce-input gate</span>
262
+ </a>
263
+ <a class="related-card" href="/compare/arcjet">
264
+ <strong>ThumbGate vs Arcjet</strong><br>
265
+ <span style="color: var(--muted); font-size: 13px;">Agent-outbound gate vs app-inbound firewall</span>
266
+ </a>
267
+ <a class="related-card" href="/compare/anthropic-claude-for-legal">
268
+ <strong>ThumbGate vs Claude for Legal</strong><br>
269
+ <span style="color: var(--muted); font-size: 13px;">Runtime feedback-to-enforcement loop underneath Anthropic's legal bundle</span>
270
+ </a>
271
+ </div>
272
+
273
+ <div class="sidebar-card">
274
+ <span class="related-label">Sources</span>
275
+ <p style="font-size: 13px;">All Anthropic quotes from <a href="https://www.anthropic.com/engineering/how-we-contain-claude" target="_blank" rel="noopener">"How we contain Claude"</a> on the Anthropic engineering blog. If anything here misrepresents Anthropic's published architecture, open an issue at <a href="https://github.com/IgorGanapolsky/ThumbGate/issues" target="_blank" rel="noopener">our repo</a> and we'll correct it.</p>
276
+ </div>
277
+ </aside>
278
+ </div>
279
+ </body>
280
+ </html>