thumbgate 1.27.4 → 1.27.7

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 (104) hide show
  1. package/.claude/commands/dashboard.md +15 -0
  2. package/.claude/commands/thumbgate-blocked.md +27 -0
  3. package/.claude/commands/thumbgate-dashboard.md +15 -0
  4. package/.claude/commands/thumbgate-doctor.md +30 -0
  5. package/.claude/commands/thumbgate-guard.md +36 -0
  6. package/.claude/commands/thumbgate-protect.md +30 -0
  7. package/.claude/commands/thumbgate-rules.md +30 -0
  8. package/.claude-plugin/plugin.json +2 -1
  9. package/.well-known/llms.txt +6 -2
  10. package/.well-known/mcp/server-card.json +1 -1
  11. package/README.md +49 -5
  12. package/adapters/claude/.mcp.json +2 -2
  13. package/adapters/letta/README.md +41 -0
  14. package/adapters/letta/thumbgate-letta-adapter.js +133 -0
  15. package/adapters/mcp/server-stdio.js +16 -1
  16. package/adapters/opencode/opencode.json +1 -1
  17. package/adapters/policy-engine/ethicore-guardian-client.js +68 -0
  18. package/adapters/policy-engine/thumbgate-policy-engine-adapter.js +260 -0
  19. package/bench/observability-eval-suite.json +26 -0
  20. package/bin/cli.js +230 -6
  21. package/bin/postinstall.js +1 -1
  22. package/commands/dashboard.md +15 -0
  23. package/commands/thumbgate-dashboard.md +15 -0
  24. package/config/gate-templates.json +84 -0
  25. package/config/gates/claim-verification.json +12 -0
  26. package/config/gates/default.json +20 -0
  27. package/config/github-about.json +1 -1
  28. package/config/model-candidates.json +50 -0
  29. package/config/post-deploy-marketing-pages.json +5 -0
  30. package/package.json +67 -25
  31. package/public/agent-manager.html +41 -1
  32. package/public/agents-cost-savings.html +1 -1
  33. package/public/ai-malpractice-prevention.html +2 -1
  34. package/public/assets/brand/github-social-preview.png +0 -0
  35. package/public/assets/brand/thumbgate-icon-512.png +0 -0
  36. package/public/assets/brand/thumbgate-icon-pro-512.png +0 -0
  37. package/public/assets/brand/thumbgate-icon-team-512.png +0 -0
  38. package/public/assets/brand/thumbgate-logo-1200x360.png +0 -0
  39. package/public/assets/brand/thumbgate-mark-inline.svg +15 -0
  40. package/public/assets/brand/thumbgate-mark-pro.svg +23 -0
  41. package/public/assets/brand/thumbgate-mark-team.svg +26 -0
  42. package/public/assets/brand/thumbgate-mark.svg +15 -0
  43. package/public/assets/brand/thumbgate-wordmark.svg +20 -0
  44. package/public/assets/claude-thumbgate-statusbar.svg +8 -0
  45. package/public/assets/codex-thumbgate-statusbar-test.svg +9 -0
  46. package/public/assets/legal-intake-control-flow.svg +66 -0
  47. package/public/blog.html +1 -1
  48. package/public/brand/thumbgate-mark.svg +15 -0
  49. package/public/brand/thumbgate-og.svg +16 -0
  50. package/public/codex-enterprise.html +1 -1
  51. package/public/codex-plugin.html +1 -1
  52. package/public/compare.html +23 -3
  53. package/public/dashboard.html +316 -30
  54. package/public/federal.html +1 -1
  55. package/public/guide.html +5 -4
  56. package/public/index.html +167 -49
  57. package/public/js/buyer-intent.js +672 -0
  58. package/public/learn.html +88 -7
  59. package/public/lessons.html +2 -1
  60. package/public/numbers.html +3 -3
  61. package/public/pricing.html +63 -15
  62. package/public/pro.html +7 -7
  63. package/scripts/activation-quickstart.js +187 -0
  64. package/scripts/agent-memory-lifecycle.js +211 -0
  65. package/scripts/async-eval-observability.js +236 -0
  66. package/scripts/auto-promote-gates.js +75 -4
  67. package/scripts/billing.js +12 -1
  68. package/scripts/build-metadata.js +24 -3
  69. package/scripts/cli-schema.js +42 -10
  70. package/scripts/dashboard-chat.js +53 -7
  71. package/scripts/dashboard.js +12 -17
  72. package/scripts/export-databricks-bundle.js +5 -1
  73. package/scripts/export-dpo-pairs.js +7 -2
  74. package/scripts/feedback-aggregate.js +281 -0
  75. package/scripts/feedback-loop.js +121 -0
  76. package/scripts/filesystem-search.js +35 -10
  77. package/scripts/gates-engine.js +234 -7
  78. package/scripts/gemini-embedding-policy.js +2 -1
  79. package/scripts/hook-stop-anti-claim.js +227 -0
  80. package/scripts/hook-thumbgate-cache-updater.js +18 -2
  81. package/scripts/hybrid-feedback-context.js +1 -0
  82. package/scripts/lesson-inference.js +8 -3
  83. package/scripts/lesson-search.js +17 -1
  84. package/scripts/operational-integrity.js +39 -5
  85. package/scripts/plausible-domain-config.js +15 -2
  86. package/scripts/plausible-server-events.js +4 -4
  87. package/scripts/rate-limiter.js +12 -6
  88. package/scripts/secret-redaction.js +166 -0
  89. package/scripts/security-scanner.js +100 -0
  90. package/scripts/self-distill-agent.js +3 -1
  91. package/scripts/self-harness-optimizer.js +141 -0
  92. package/scripts/seo-gsd.js +635 -0
  93. package/scripts/statusline-cache-path.js +17 -2
  94. package/scripts/statusline-cache-read.js +57 -0
  95. package/scripts/statusline-local-stats.js +9 -1
  96. package/scripts/statusline-meta.js +5 -2
  97. package/scripts/statusline.sh +13 -1
  98. package/scripts/sync-telemetry-from-prod.js +374 -0
  99. package/scripts/telemetry-analytics.js +9 -0
  100. package/scripts/thumbgate-search.js +85 -19
  101. package/scripts/tool-contract-validator.js +76 -0
  102. package/scripts/vector-store.js +44 -0
  103. package/scripts/workspace-evolver.js +62 -2
  104. package/src/api/server.js +862 -146
@@ -0,0 +1,8 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1600" height="320" viewBox="0 0 1600 320" fill="none">
2
+ <rect width="1600" height="320" rx="24" fill="#050816"/>
3
+ <rect x="24" y="24" width="1552" height="272" rx="20" fill="#0B1220" stroke="#1F2A44"/>
4
+ <text x="56" y="72" fill="#7DD3FC" font-family="SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, monospace" font-size="28">Claude Code · live ThumbGate footer</text>
5
+ <rect x="56" y="116" width="1488" height="108" rx="16" fill="#111827" stroke="#243041"/>
6
+ <text x="88" y="180" fill="#E5E7EB" font-family="SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, monospace" font-size="28">ThumbGate v1.5.1 · Pro · 21👍 107👎 → · Dashboard · Lessons</text>
7
+ <text x="88" y="258" fill="#94A3B8" font-family="SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, monospace" font-size="24">Latest mistake 04/15/2026 20:24:42: Treated user as QA instead of doing TDD. Went in circles ...</text>
8
+ </svg>
@@ -0,0 +1,9 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1600" height="360" viewBox="0 0 1600 360" fill="none">
2
+ <rect width="1600" height="360" rx="24" fill="#050816"/>
3
+ <rect x="24" y="24" width="1552" height="312" rx="20" fill="#0B1220" stroke="#1F2A44"/>
4
+ <text x="56" y="72" fill="#A78BFA" font-family="SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, monospace" font-size="28">OpenAI Codex v0.120.0 · published ThumbGate test lane</text>
5
+ <rect x="56" y="116" width="1488" height="96" rx="16" fill="#111827" stroke="#243041"/>
6
+ <text x="88" y="176" fill="#E5E7EB" font-family="SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, monospace" font-size="28">gpt-5.4 xhigh fast · fix/codex-statusline · Context [ ] · 0 in · 0 out</text>
7
+ <text x="56" y="270" fill="#7DD3FC" font-family="SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, monospace" font-size="24">Published branch installs ThumbGate PreToolUse, UserPromptSubmit, PostToolUse, SessionStart, and statusLine wiring.</text>
8
+ <text x="56" y="310" fill="#94A3B8" font-family="SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, monospace" font-size="22">Current Codex CLI footer remains native on v0.120.0, so this is the reproducible test lane you can run after npx thumbgate init --agent codex.</text>
9
+ </svg>
@@ -0,0 +1,66 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1200" height="780" viewBox="0 0 1200 780" role="img" aria-labelledby="title desc">
2
+ <title id="title">ThumbGate legal intake control flow</title>
3
+ <desc id="desc">A four-step diagram showing a prospect question, a ThumbGate pre-action check, an attorney review handoff, and an exportable audit event.</desc>
4
+ <defs>
5
+ <linearGradient id="bg" x1="0" x2="1" y1="0" y2="1">
6
+ <stop offset="0" stop-color="#101318"/>
7
+ <stop offset="1" stop-color="#08090b"/>
8
+ </linearGradient>
9
+ <filter id="shadow" x="-20%" y="-20%" width="140%" height="140%">
10
+ <feDropShadow dx="0" dy="18" stdDeviation="22" flood-color="#000000" flood-opacity="0.35"/>
11
+ </filter>
12
+ </defs>
13
+ <rect width="1200" height="780" rx="34" fill="url(#bg)"/>
14
+ <rect x="44" y="42" width="1112" height="696" rx="26" fill="#14161a" stroke="#2c313a" stroke-width="2"/>
15
+ <text x="86" y="105" fill="#f2f4f8" font-family="Inter, Arial, sans-serif" font-size="34" font-weight="800">Legal AI intake: pre-action control flow</text>
16
+ <text x="86" y="145" fill="#a7afbd" font-family="Inter, Arial, sans-serif" font-size="19">The agent can help with intake, but risky actions pass through policy checks before execution.</text>
17
+
18
+ <g filter="url(#shadow)">
19
+ <rect x="86" y="210" width="238" height="250" rx="18" fill="#1b1f26" stroke="#2c313a" stroke-width="2"/>
20
+ <circle cx="122" cy="250" r="20" fill="#2dd4bf"/>
21
+ <text x="116" y="257" fill="#071116" font-family="Inter, Arial, sans-serif" font-size="20" font-weight="900">1</text>
22
+ <text x="86" y="504" fill="#a7afbd" font-family="Inter, Arial, sans-serif" font-size="15">Prospect asks</text>
23
+ <text x="116" y="306" fill="#f2f4f8" font-family="Inter, Arial, sans-serif" font-size="24" font-weight="800">Intake question</text>
24
+ <text x="116" y="350" fill="#d8deea" font-family="Inter, Arial, sans-serif" font-size="18">Can I sue my</text>
25
+ <text x="116" y="378" fill="#d8deea" font-family="Inter, Arial, sans-serif" font-size="18">former employer in</text>
26
+ <text x="116" y="406" fill="#d8deea" font-family="Inter, Arial, sans-serif" font-size="18">Florida?</text>
27
+ </g>
28
+
29
+ <path d="M348 334 H430" stroke="#62a4ff" stroke-width="5" stroke-linecap="round"/>
30
+ <path d="M430 334 l-18 -13 v26 z" fill="#62a4ff"/>
31
+
32
+ <g filter="url(#shadow)">
33
+ <rect x="454" y="188" width="292" height="294" rx="18" fill="#21161a" stroke="#fb7185" stroke-opacity="0.72" stroke-width="2"/>
34
+ <circle cx="490" cy="230" r="20" fill="#fb7185"/>
35
+ <text x="484" y="237" fill="#19070a" font-family="Inter, Arial, sans-serif" font-size="20" font-weight="900">2</text>
36
+ <text x="486" y="286" fill="#f2f4f8" font-family="Inter, Arial, sans-serif" font-size="24" font-weight="800">ThumbGate check</text>
37
+ <text x="486" y="329" fill="#d8deea" font-family="Inter, Arial, sans-serif" font-size="18">Advice-shaped response</text>
38
+ <text x="486" y="357" fill="#d8deea" font-family="Inter, Arial, sans-serif" font-size="18">detected before delivery.</text>
39
+ <rect x="486" y="393" width="220" height="42" rx="10" fill="#fb7185" fill-opacity="0.18" stroke="#fb7185" stroke-opacity="0.55"/>
40
+ <text x="508" y="421" fill="#ffd9df" font-family="Inter, Arial, sans-serif" font-size="17" font-weight="800">Route to review</text>
41
+ </g>
42
+
43
+ <path d="M770 334 H852" stroke="#62a4ff" stroke-width="5" stroke-linecap="round"/>
44
+ <path d="M852 334 l-18 -13 v26 z" fill="#62a4ff"/>
45
+
46
+ <g filter="url(#shadow)">
47
+ <rect x="876" y="210" width="238" height="250" rx="18" fill="#16231d" stroke="#72e3a5" stroke-opacity="0.65" stroke-width="2"/>
48
+ <circle cx="912" cy="250" r="20" fill="#72e3a5"/>
49
+ <text x="906" y="257" fill="#06120b" font-family="Inter, Arial, sans-serif" font-size="20" font-weight="900">3</text>
50
+ <text x="906" y="306" fill="#f2f4f8" font-family="Inter, Arial, sans-serif" font-size="24" font-weight="800">Safe handoff</text>
51
+ <text x="906" y="350" fill="#d8deea" font-family="Inter, Arial, sans-serif" font-size="18">Collect neutral facts.</text>
52
+ <text x="906" y="378" fill="#d8deea" font-family="Inter, Arial, sans-serif" font-size="18">Schedule attorney</text>
53
+ <text x="906" y="406" fill="#d8deea" font-family="Inter, Arial, sans-serif" font-size="18">review.</text>
54
+ </g>
55
+
56
+ <path d="M994 484 V566 H724" stroke="#62a4ff" stroke-width="5" stroke-linecap="round" fill="none"/>
57
+ <path d="M724 566 l18 -13 v26 z" fill="#62a4ff"/>
58
+
59
+ <g filter="url(#shadow)">
60
+ <rect x="414" y="548" width="286" height="122" rx="18" fill="#1b1f26" stroke="#2c313a" stroke-width="2"/>
61
+ <circle cx="450" cy="588" r="20" fill="#62a4ff"/>
62
+ <text x="444" y="595" fill="#06111f" font-family="Inter, Arial, sans-serif" font-size="20" font-weight="900">4</text>
63
+ <text x="486" y="592" fill="#f2f4f8" font-family="Inter, Arial, sans-serif" font-size="23" font-weight="800">Audit event</text>
64
+ <text x="486" y="631" fill="#d8deea" font-family="Inter, Arial, sans-serif" font-size="17">Rule, source, action, outcome, reviewer, timestamp.</text>
65
+ </g>
66
+ </svg>
package/public/blog.html CHANGED
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>ThumbGate Blog — Agent Governance Engineering</title>
7
- <script defer data-domain="thumbgate-production.up.railway.app" src="https://plausible.io/js/script.js"></script>
7
+ <script defer data-domain="thumbgate.ai" src="https://plausible.io/js/script.js"></script>
8
8
  <meta
9
9
  name="description"
10
10
  content="Technical breakdowns, release notes, and agent governance insights from the ThumbGate team."
@@ -0,0 +1,15 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-labelledby="title desc">
2
+ <title id="title">ThumbGate</title>
3
+ <desc id="desc">ThumbGate TG gate monogram.</desc>
4
+ <defs>
5
+ <linearGradient id="tg-frame" x1="8" y1="8" x2="56" y2="56" gradientUnits="userSpaceOnUse">
6
+ <stop offset="0" stop-color="#8cf5d1"/>
7
+ <stop offset="1" stop-color="#22d3ee"/>
8
+ </linearGradient>
9
+ </defs>
10
+ <rect width="64" height="64" rx="14" fill="#061015"/>
11
+ <rect x="9" y="9" width="46" height="46" rx="12" fill="#0b1820" stroke="url(#tg-frame)" stroke-width="3.5"/>
12
+ <path d="M19 44V25c0-5.5 4.5-10 10-10h6c5.5 0 10 4.5 10 10v19" fill="none" stroke="#8cf5d1" stroke-width="4.5" stroke-linecap="round" stroke-linejoin="round"/>
13
+ <text x="32" y="39" text-anchor="middle" fill="#e7fbff" font-family="Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Arial, sans-serif" font-size="19" font-weight="900">TG</text>
14
+ <rect x="18" y="44" width="28" height="4" rx="2" fill="#22d3ee"/>
15
+ </svg>
@@ -0,0 +1,16 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 630" role="img" aria-label="ThumbGate">
2
+ <title>ThumbGate</title>
3
+ <rect width="1200" height="630" fill="#0a1929"/>
4
+ <!-- Mark, scaled and positioned -->
5
+ <g transform="translate(430 155) scale(5)">
6
+ <rect width="64" height="64" rx="12" fill="#0c2239"/>
7
+ <g fill="#40e0d0">
8
+ <path d="M20 30 h22 a4 4 0 0 1 4 4 v14 a4 4 0 0 1 -4 4 h-22 a4 4 0 0 1 -4 -4 v-14 a4 4 0 0 1 4 -4 z"/>
9
+ <path d="M28 12 a5 5 0 0 1 10 0 v16 a2 2 0 0 1 -2 2 h-6 a2 2 0 0 1 -2 -2 z"/>
10
+ <rect x="18" y="50" width="26" height="4" rx="1.5" fill="#0c2239"/>
11
+ </g>
12
+ </g>
13
+ <!-- Wordmark -->
14
+ <text x="600" y="540" text-anchor="middle" font-family="-apple-system, 'Segoe UI', system-ui, sans-serif" font-weight="700" font-size="72" fill="#f5f7fb" letter-spacing="-2">ThumbGate</text>
15
+ <text x="600" y="590" text-anchor="middle" font-family="-apple-system, 'Segoe UI', system-ui, sans-serif" font-weight="500" font-size="24" fill="#40e0d0" letter-spacing="1">Pre-action checks for AI coding agents</text>
16
+ </svg>
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>ThumbGate for Codex in the Enterprise — Governance for OpenAI Codex (Dell-Distributed or Self-Hosted)</title>
7
- <script defer data-domain="thumbgate-production.up.railway.app" src="https://plausible.io/js/script.js"></script>
7
+ <script defer data-domain="thumbgate.ai" src="https://plausible.io/js/script.js"></script>
8
8
  <meta name="description" content="OpenAI and Dell are distributing Codex into the enterprise. Codex in production needs a governance layer — capture every agent decision, promote repeat failures to PreToolUse gates, ship the audit trail procurement requires.">
9
9
  <meta property="og:title" content="ThumbGate for Codex in the Enterprise">
10
10
  <meta property="og:description" content="Dell-distributed or self-hosted, Codex agents repeat the same mistakes. ThumbGate is the governance layer underneath — capture, promote, audit.">
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>ThumbGate for Codex - CLI Setup and Plugin Bundle</title>
7
- <script defer data-domain="thumbgate-production.up.railway.app" src="https://plausible.io/js/script.js"></script>
7
+ <script defer data-domain="thumbgate.ai" src="https://plausible.io/js/script.js"></script>
8
8
  <meta name="description" content="Install ThumbGate for Codex with CLI setup first, plus a portable Codex plugin bundle for review, marketplace, and offline workflows. Includes Pre-Action Checks and thumbs-up/down feedback memory.">
9
9
  <meta name="keywords" content="ThumbGate Codex plugin, Codex MCP server, Codex pre-action checks, Codex guardrails, thumbgate latest, AI coding agent reliability">
10
10
  <meta property="og:title" content="ThumbGate for Codex">
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Best Pre-Action Check Tools for AI Coding Agents (2026 Comparison)</title>
7
7
  <!-- Privacy-friendly analytics by Plausible -->
8
- <script defer data-domain="thumbgate-production.up.railway.app" src="https://plausible.io/js/script.js"></script>
8
+ <script defer data-domain="thumbgate.ai" src="https://plausible.io/js/script.js"></script>
9
9
  <meta name="description" content="Compare pre-action check tools that prevent AI coding agents from making costly mistakes. ThumbGate vs manual review vs post-hoc fixes.">
10
10
  <meta name="keywords" content="AI agent safety, pre-action checks, AI coding agent comparison, ThumbGate vs manual review, AI agent guardrails, PreToolUse hooks, Claude Code safety, Codex safety, Gemini safety, Cursor rules alternative">
11
11
  <meta property="og:title" content="Best Pre-Action Check Tools for AI Coding Agents (2026 Comparison)">
@@ -62,7 +62,7 @@
62
62
  "name": "Is ThumbGate free?",
63
63
  "acceptedAnswer": {
64
64
  "@type": "Answer",
65
- "text": "ThumbGate has a free tier that includes local enforcement with 5 feedback captures/day, 25 total captures, up to 3 active auto-promoted prevention rules, and pre-action check blocking. Pro ($19/mo or $149/yr) adds hosted sync, a personal local dashboard, recall, lesson search, unlimited captures/rules, and DPO export. Enterprise (custom pricing, scoped after intake) adds a shared lesson database and org dashboard."
65
+ "text": "ThumbGate has a free tier that includes local enforcement with 2 feedback captures/day, 10 total captures, up to 3 active auto-promoted prevention rules, and pre-action check blocking. Pro ($19/mo or $149/yr) adds hosted sync, a personal local dashboard, recall, lesson search, unlimited captures/rules, and DPO export. Enterprise (custom pricing, scoped after intake) adds a shared lesson database and org dashboard."
66
66
  }
67
67
  },
68
68
  {
@@ -267,6 +267,26 @@
267
267
  <p><a href="/compare/rein" class="cta">Read ThumbGate vs Rein</a></p>
268
268
  </div>
269
269
 
270
+ <h2>All ThumbGate comparisons</h2>
271
+ <p style="color:var(--muted);">Every head-to-head in one place. ThumbGate is the local-first, learning enforcement layer at the tool-call boundary — most of these tools sit at a different layer and are complementary.</p>
272
+ <ul class="compare-index">
273
+ <li><a href="/compare/sigmashake">ThumbGate vs SigmaShake</a> — learns the rule from your thumbs-down vs a hand-picked ruleset hub</li>
274
+ <li><a href="/compare/claude-code-hooks">ThumbGate vs claude-code-hooks</a> — hosted sync &amp; learning on top of local shell-script hooks</li>
275
+ <li><a href="/compare/arcjet">ThumbGate vs Arcjet</a> — agent-outbound gate pairs with an app-inbound firewall</li>
276
+ <li><a href="/compare/bumblebee">ThumbGate vs Bumblebee</a> — runtime enforcement pairs with static inventory</li>
277
+ <li><a href="/compare/anthropic-containment">ThumbGate vs Anthropic's Claude Containment</a> — an IDE-agent extension of Anthropic's published architecture</li>
278
+ <li><a href="/compare/oak-and-sparrow-gatekeeper">ThumbGate vs Gatekeeper (Oak &amp; Sparrow)</a> — agent-action gate pairs with a workforce-input gate</li>
279
+ <li><a href="/compare/fallow">ThumbGate vs Fallow</a> — static analysis vs agent-action enforcement</li>
280
+ <li><a href="/compare/heidi">ThumbGate vs HEIDI</a> — behavior enforcement vs supply-chain scanning</li>
281
+ <li><a href="/compare/rein">ThumbGate vs Rein</a> — coding-agent governance vs generic decorator governance</li>
282
+ <li><a href="/compare/anthropic-claude-for-legal">ThumbGate vs Claude for Legal</a> — runtime gate pairs with Anthropic's practice-area plugins</li>
283
+ <li><a href="/compare/mem0">ThumbGate vs Mem0</a> — enforcement vs memory for AI agents</li>
284
+ <li><a href="/compare/speclock">ThumbGate vs SpecLock</a> — thumbs-feedback enforcement vs manual specs</li>
285
+ <li><a href="/compare/ai-experience-orchestration">ThumbGate vs AI Experience Orchestration</a> — orchestration vs execution enforcement</li>
286
+ <li><a href="/compare/agentix-labs">ThumbGate vs Agentix Labs</a> — productized enforcement vs custom AI-agent services</li>
287
+ <li><a href="/compare/adopt-ai">ThumbGate vs Adopt AI</a> — pre-execution firewall vs evals-first gating for production blast radius</li>
288
+ </ul>
289
+
270
290
  <h2>How It Works</h2>
271
291
  <div class="step-grid">
272
292
  <div class="step-card">
@@ -311,7 +331,7 @@
311
331
 
312
332
  <div class="card">
313
333
  <h3>Is ThumbGate free?</h3>
314
- <p>ThumbGate has a free tier that includes local enforcement with 5 feedback captures/day, 25 total captures, up to 3 active auto-promoted prevention rules, and pre-action check blocking. Pro ($19/mo or $149/yr) adds hosted sync, a personal local dashboard, recall, lesson search, unlimited captures/rules, and DPO export. Enterprise (custom pricing, scoped after intake) adds a shared lesson database and org dashboard.</p>
334
+ <p>ThumbGate has a free tier that includes local enforcement with 2 feedback captures/day, 10 total captures, up to 3 active auto-promoted prevention rules, and pre-action check blocking. Pro ($19/mo or $149/yr) adds hosted sync, a personal local dashboard, recall, lesson search, unlimited captures/rules, and DPO export. Enterprise (custom pricing, scoped after intake) adds a shared lesson database and org dashboard.</p>
315
335
  </div>
316
336
 
317
337
  <div class="card">