thumbgate 1.27.20 → 1.28.1
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.
- package/.claude-plugin/plugin.json +2 -1
- package/.well-known/mcp/server-card.json +1 -1
- package/README.md +124 -129
- package/adapters/claude/.mcp.json +2 -2
- package/adapters/mcp/server-stdio.js +18 -33
- package/adapters/opencode/opencode.json +1 -1
- package/bin/cli.js +95 -78
- package/bin/postinstall.js +1 -1
- package/config/entitlement-public-keys.json +6 -0
- package/config/gates/default.json +3 -3
- package/config/github-about.json +2 -5
- package/config/merge-quality-checks.json +3 -0
- package/config/post-deploy-marketing-pages.json +1 -1
- package/hooks/hooks.json +38 -0
- package/package.json +28 -10
- package/public/about.html +1 -4
- package/public/agent-manager.html +6 -6
- package/public/agents-cost-savings.html +3 -3
- package/public/ai-malpractice-prevention.html +1 -1
- package/public/blog.html +12 -9
- package/public/chatgpt-app.html +3 -3
- package/public/codex-enterprise.html +3 -3
- package/public/codex-plugin.html +5 -5
- package/public/compare.html +10 -10
- package/public/dashboard.html +1 -1
- package/public/diagnostic.html +23 -1
- package/public/federal.html +2 -2
- package/public/guide.html +14 -14
- package/public/index.html +202 -220
- package/public/install.html +14 -14
- package/public/learn.html +4 -17
- package/public/numbers.html +2 -2
- package/public/partner-intake.html +198 -0
- package/public/pricing.html +61 -31
- package/public/pro.html +2 -2
- package/scripts/agent-reward-model.js +13 -0
- package/scripts/bayes-optimal-gate.js +6 -1
- package/scripts/billing.js +815 -137
- package/scripts/checkout-attribution-reference.js +85 -0
- package/scripts/claude-feedback-sync.js +23 -6
- package/scripts/cli-feedback.js +33 -8
- package/scripts/commercial-offer.js +3 -3
- package/scripts/entitlement.js +250 -0
- package/scripts/export-databricks-bundle.js +5 -0
- package/scripts/export-dpo-pairs.js +6 -0
- package/scripts/export-hf-dataset.js +5 -0
- package/scripts/feedback-loop.js +290 -1
- package/scripts/feedback-quality.js +25 -26
- package/scripts/feedback-sanitizer.js +151 -3
- package/scripts/gates-engine.js +134 -43
- package/scripts/hosted-config.js +9 -2
- package/scripts/imperative-detector.js +85 -0
- package/scripts/intervention-policy.js +13 -0
- package/scripts/mailer/resend-mailer.js +11 -5
- package/scripts/pr-manager.js +9 -22
- package/scripts/pro-local-dashboard.js +198 -0
- package/scripts/risk-scorer.js +6 -0
- package/scripts/secret-scanner.js +363 -68
- package/scripts/self-protection.js +21 -36
- package/scripts/seo-gsd.js +2 -2
- package/scripts/thompson-sampling.js +11 -2
- package/src/api/server.js +202 -22
- package/public/assets/brand/github-social-preview.png +0 -0
package/public/index.html
CHANGED
|
@@ -12,16 +12,16 @@ __GOOGLE_SITE_VERIFICATION_META__
|
|
|
12
12
|
<link rel="apple-touch-icon" href="/assets/brand/thumbgate-mark.svg">
|
|
13
13
|
<meta property="og:image" content="/og.png">
|
|
14
14
|
<title>ThumbGate — Pre-action checks for AI coding agents</title>
|
|
15
|
-
<meta name="description" content="
|
|
16
|
-
<meta property="og:title" content="ThumbGate —
|
|
17
|
-
<meta property="og:description" content="
|
|
15
|
+
<meta name="description" content="ThumbGate is the local pre-action governance runtime for AI coding agents (Claude Code, Cursor, Codex, Gemini CLI, Amp, Cline, OpenCode): accepted 👍 thumbs-up and 👎 thumbs-down feedback becomes history-aware local lessons; repeated failures can become prevention rules. PreToolUse checks flag and log risky tool calls, hard-block detected secret leaks, and block matching actions in strict mode. Pro is for individual operators; Enterprise rollout is scoped after intake.">
|
|
16
|
+
<meta property="og:title" content="ThumbGate — Inspect risky AI-agent actions before execution">
|
|
17
|
+
<meta property="og:description" content="ThumbGate evaluates proposed tool calls before execution, records allow/warn/deny decisions, hard-blocks detected secret leaks, and supports strict enforcement for matched rules.">
|
|
18
18
|
<meta property="og:type" content="website">
|
|
19
19
|
<meta property="og:url" content="__APP_ORIGIN__/">
|
|
20
20
|
<meta property="og:image" content="https://thumbgate.ai/og.png">
|
|
21
21
|
<meta name="twitter:card" content="summary_large_image">
|
|
22
22
|
<meta name="twitter:image" content="https://thumbgate.ai/og.png">
|
|
23
|
-
<meta name="thumbgate-version" content="1.
|
|
24
|
-
<meta name="keywords" content="ThumbGate, thumbgate, AI agent orchestration, AI experience orchestration, agentic development cycle, AC/DC framework, Guide Generate Verify Solve, agent enforcement layer,
|
|
23
|
+
<meta name="thumbgate-version" content="1.28.1">
|
|
24
|
+
<meta name="keywords" content="ThumbGate, thumbgate, AI agent orchestration, AI experience orchestration, agentic development cycle, AC/DC framework, Guide Generate Verify Solve, agent enforcement layer, pre-action checks, agent governance, Claude Code, Cursor, Codex, Gemini, Amp, Cline, OpenCode, workflow hardening, context engineering, AI authenticity, brand authenticity AI">
|
|
25
25
|
<link rel="canonical" href="__APP_ORIGIN__/">
|
|
26
26
|
<link rel="alternate" type="text/markdown" title="ThumbGate LLM context" href="__APP_ORIGIN__/llm-context.md">
|
|
27
27
|
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
|
|
@@ -45,16 +45,13 @@ __GA_BOOTSTRAP__
|
|
|
45
45
|
"@type": "Person",
|
|
46
46
|
"name": "Igor Ganapolsky",
|
|
47
47
|
"url": "https://github.com/IgorGanapolsky",
|
|
48
|
-
"jobTitle": "Senior Mobile & AI Engineer
|
|
48
|
+
"jobTitle": "Senior Mobile & AI Engineer",
|
|
49
49
|
"worksFor": {
|
|
50
50
|
"@type": "Organization",
|
|
51
51
|
"name": "ThumbGate",
|
|
52
52
|
"url": "https://thumbgate.ai"
|
|
53
53
|
},
|
|
54
54
|
"knowsAbout": [
|
|
55
|
-
"Stripe Connect",
|
|
56
|
-
"Pretix plugin engineering",
|
|
57
|
-
"Marketplace payments architecture",
|
|
58
55
|
"AI agent governance",
|
|
59
56
|
"Pre-action checks for AI coding agents"
|
|
60
57
|
],
|
|
@@ -62,7 +59,7 @@ __GA_BOOTSTRAP__
|
|
|
62
59
|
"https://github.com/IgorGanapolsky",
|
|
63
60
|
"https://www.npmjs.com/package/thumbgate"
|
|
64
61
|
],
|
|
65
|
-
"mainEntityOfPage": "https://thumbgate.ai/
|
|
62
|
+
"mainEntityOfPage": "https://thumbgate.ai/"
|
|
66
63
|
}
|
|
67
64
|
</script>
|
|
68
65
|
|
|
@@ -74,7 +71,7 @@ __GA_BOOTSTRAP__
|
|
|
74
71
|
"alternateName": "thumbgate",
|
|
75
72
|
"url": "https://thumbgate.ai",
|
|
76
73
|
"logo": "https://thumbgate.ai/assets/brand/thumbgate-logo-1200x360.png",
|
|
77
|
-
"description": "ThumbGate ships
|
|
74
|
+
"description": "ThumbGate ships local PreToolUse checks for AI coding agents. Accepted feedback becomes local lessons, recurring failures can become prevention rules, risky tool calls warn and log by default, detected secret leaks hard-block, and strict mode blocks matching actions.",
|
|
78
75
|
"founder": {
|
|
79
76
|
"@type": "Person",
|
|
80
77
|
"name": "Igor Ganapolsky",
|
|
@@ -94,44 +91,44 @@ __GA_BOOTSTRAP__
|
|
|
94
91
|
"@type": "SoftwareApplication",
|
|
95
92
|
"name": "ThumbGate",
|
|
96
93
|
"alternateName": "thumbgate",
|
|
97
|
-
"description": "ThumbGate
|
|
94
|
+
"description": "ThumbGate is a local pre-action governance runtime for AI coding agents. It stores accepted feedback as history-aware lessons, can derive prevention rules from recurring failures, and evaluates proposed tool calls before execution across configured Claude Code, Cursor, Codex, Gemini, Amp, Cline, OpenCode, and MCP-compatible integrations.",
|
|
98
95
|
"applicationCategory": "DeveloperApplication",
|
|
99
96
|
"operatingSystem": "Cross-platform, Node.js >=18.18.0",
|
|
100
97
|
"license": "https://opensource.org/licenses/MIT",
|
|
101
98
|
"url": "https://github.com/IgorGanapolsky/ThumbGate",
|
|
102
99
|
"downloadUrl": "https://www.npmjs.com/package/thumbgate",
|
|
103
100
|
"installUrl": "https://www.npmjs.com/package/thumbgate",
|
|
104
|
-
"dateModified": "2026-
|
|
101
|
+
"dateModified": "2026-07-12",
|
|
105
102
|
"creator": {
|
|
106
103
|
"@type": "Person",
|
|
107
104
|
"name": "Igor Ganapolsky",
|
|
108
105
|
"url": "https://github.com/IgorGanapolsky"
|
|
109
106
|
},
|
|
110
107
|
"featureList": [
|
|
111
|
-
"
|
|
112
|
-
"
|
|
113
|
-
"
|
|
108
|
+
"Inspect risky AI-agent actions — evaluate commands, database actions, publishes, and API calls before tool execution",
|
|
109
|
+
"Capture concrete corrections — accepted feedback becomes history-aware local lessons and recurring failures can become Pre-Action Checks",
|
|
110
|
+
"Keep reviewable decisions — checkpoint risky actions and record why a call was allowed, warned, or denied",
|
|
114
111
|
"Agent surface inventory — see which tools, MCP surfaces, and policy sources are actually active before rollout",
|
|
115
112
|
"Actionable remediations — rank the next highest-ROI fixes from real feedback and risk pressure",
|
|
116
|
-
"ThumbGate GPT for ChatGPT — preflight risky commands, refunds, deploys, and PR actions,
|
|
113
|
+
"ThumbGate GPT for ChatGPT — preflight risky commands, refunds, deploys, and PR actions, guide typed feedback capture, and route users to documented local setup",
|
|
117
114
|
"Workflow Sentinel — score blast radius before PR, merge, release, and publish actions fire",
|
|
118
115
|
"Workflow architecture checks — distinguish predefined workflows, parallel fan-out, and open-ended agents before execution",
|
|
119
116
|
"Agentic development cycle control — maps Guide, Generate, Verify, and Solve into enforceable pre-action gates before risky tool calls execute",
|
|
120
117
|
"Environment inspection evidence — require read-before-write, screenshots, API response checks, tests, or output validation for open-ended agent loops",
|
|
121
|
-
"Parallel branch budgets —
|
|
122
|
-
"Docker Sandboxes routing —
|
|
123
|
-
"
|
|
118
|
+
"Parallel branch budgets — surface budget pressure from agent desktops and fan-out workflows",
|
|
119
|
+
"Docker Sandboxes routing — recommend isolated execution for high-risk local runs",
|
|
120
|
+
"Signed sandbox-dispatch mechanism — deployment-specific isolation helper that requires configuration and verification",
|
|
124
121
|
"Domain Skill Packs — Stripe, Railway, database migration best practices",
|
|
125
|
-
"Progressive Disclosure — 3-tier L1/L2/L3 loading
|
|
122
|
+
"Progressive Disclosure — 3-tier L1/L2/L3 loading reports estimated disclosureSavings from scripts/skill-packs.js",
|
|
126
123
|
"Hallucination Detection — decomposes claims into verifiable sub-claims",
|
|
127
124
|
"PII Scanner — blocks emails, credit cards, SSNs in feedback and exports",
|
|
128
125
|
"Background Agent Governance — per-agent pass rates, CI auto-feedback",
|
|
129
|
-
"Memory Migration — imports Claude Code MEMORY.md into
|
|
126
|
+
"Memory Migration — imports Claude Code MEMORY.md into the local lesson store",
|
|
130
127
|
"Prompt-Level DLP — scans tool call inputs before execution",
|
|
131
|
-
"Per-Step Scoring —
|
|
128
|
+
"Per-Step Scoring — check decisions can become DPO/KTO training signals",
|
|
132
129
|
"HuggingFace Export — share PII-redacted agent traces as open training datasets",
|
|
133
130
|
"Unified Context — one-call context assembly with session, lessons, guards, and code-graph",
|
|
134
|
-
"AI Authenticity Enforcement —
|
|
131
|
+
"AI Authenticity Enforcement — reviewable rules can encode operator-specific standards"
|
|
135
132
|
],
|
|
136
133
|
"offers": [
|
|
137
134
|
{
|
|
@@ -139,13 +136,13 @@ __GA_BOOTSTRAP__
|
|
|
139
136
|
"name": "Free",
|
|
140
137
|
"price": "0",
|
|
141
138
|
"priceCurrency": "USD",
|
|
142
|
-
"description": "Free local CLI
|
|
139
|
+
"description": "Free local CLI for one developer: 2 feedback captures per day, 10 total, up to 3 active auto-promoted rules, no recall/search or exports, warn-and-log defaults, and hard blocking for detected secret leaks"
|
|
143
140
|
},
|
|
144
141
|
{
|
|
145
142
|
"@type": "Offer",
|
|
146
143
|
"name": "Enterprise",
|
|
147
144
|
"priceCurrency": "USD",
|
|
148
|
-
"description": "Contact-sales tier with custom pricing scoped after intake
|
|
145
|
+
"description": "Contact-sales tier with custom pricing scoped after intake for one workflow's approval boundaries, rollback plan, evidence requirements, and rollout support. Hosted team lesson sync and a hosted org dashboard are not general-availability runtime features.",
|
|
149
146
|
"url": "https://thumbgate.ai/#workflow-sprint-intake"
|
|
150
147
|
},
|
|
151
148
|
{
|
|
@@ -153,7 +150,7 @@ __GA_BOOTSTRAP__
|
|
|
153
150
|
"name": "Pro Monthly",
|
|
154
151
|
"price": "19",
|
|
155
152
|
"priceCurrency": "USD",
|
|
156
|
-
"description": "Self-serve
|
|
153
|
+
"description": "Self-serve individual tier with unlimited rules and captures, history-aware recall and search, a personal local dashboard, DPO export, and operator-managed lesson export/import",
|
|
157
154
|
"url": "https://thumbgate.ai/checkout/pro?plan_id=pro&landing_path=%2F"
|
|
158
155
|
},
|
|
159
156
|
{
|
|
@@ -246,14 +243,14 @@ __GA_BOOTSTRAP__
|
|
|
246
243
|
{
|
|
247
244
|
"@context": "https://schema.org",
|
|
248
245
|
"@type": "HowTo",
|
|
249
|
-
"name": "How to
|
|
250
|
-
"description": "
|
|
246
|
+
"name": "How to add Pre-Action Checks to an AI coding agent",
|
|
247
|
+
"description": "Configure ThumbGate so accepted feedback becomes local lessons and recurring failures can become checks that evaluate proposed tool calls before execution.",
|
|
251
248
|
"step": [
|
|
252
249
|
{
|
|
253
250
|
"@type": "HowToStep",
|
|
254
251
|
"position": 1,
|
|
255
252
|
"name": "Install ThumbGate",
|
|
256
|
-
"text": "Run: npx thumbgate init --agent claude-code. This installs the local CLI gateway and
|
|
253
|
+
"text": "Run: npx thumbgate init --agent claude-code. This installs the local CLI gateway and writes the supported agent integration. No API key is needed for the local path."
|
|
257
254
|
},
|
|
258
255
|
{
|
|
259
256
|
"@type": "HowToStep",
|
|
@@ -265,16 +262,15 @@ __GA_BOOTSTRAP__
|
|
|
265
262
|
"@type": "HowToStep",
|
|
266
263
|
"position": 3,
|
|
267
264
|
"name": "Prevention rules auto-generate",
|
|
268
|
-
"text": "After repeated failures in the same domain, ThumbGate auto-
|
|
265
|
+
"text": "After qualifying repeated failures in the same domain, ThumbGate can auto-generate prevention rules. Configured integrations can load the resulting local lessons and rules."
|
|
269
266
|
},
|
|
270
267
|
{
|
|
271
268
|
"@type": "HowToStep",
|
|
272
269
|
"position": 4,
|
|
273
|
-
"name": "Pre-action checks
|
|
274
|
-
"text": "When
|
|
270
|
+
"name": "Pre-action checks flag the mistake",
|
|
271
|
+
"text": "When a configured agent proposes a matching action, the PreToolUse hook records the decision before tool execution. Detected secret leaks and direct ThumbGate process-kill/environment-override commands deny by default; rm -rf, force-push, fetch-and-run, and direct guardrail-file edits warn by default. Set THUMBGATE_STRICT_ENFORCEMENT=1 to deny every matched blocking rule."
|
|
275
272
|
}
|
|
276
273
|
],
|
|
277
|
-
"totalTime": "PT5M",
|
|
278
274
|
"tool": { "@type": "SoftwareApplication", "name": "thumbgate", "url": "https://www.npmjs.com/package/thumbgate" }
|
|
279
275
|
}
|
|
280
276
|
</script>
|
|
@@ -289,7 +285,7 @@ __GA_BOOTSTRAP__
|
|
|
289
285
|
"name": "Does ThumbGate support model fine-tuning?",
|
|
290
286
|
"acceptedAnswer": {
|
|
291
287
|
"@type": "Answer",
|
|
292
|
-
"text": "
|
|
288
|
+
"text": "ThumbGate Pro includes a Model Hardening Advisor plus LoRA JSONL and DPO preference-pair exports for use in a separate fine-tuning workflow. An export does not guarantee that a trained model will avoid a mistake; that outcome depends on the dataset, training process, model, and evaluation."
|
|
293
289
|
}
|
|
294
290
|
},
|
|
295
291
|
{
|
|
@@ -297,23 +293,23 @@ __GA_BOOTSTRAP__
|
|
|
297
293
|
"name": "How is ThumbGate different from model-training feedback loops?",
|
|
298
294
|
"acceptedAnswer": {
|
|
299
295
|
"@type": "Answer",
|
|
300
|
-
"text": "
|
|
296
|
+
"text": "ThumbGate's runtime keeps lessons and rules outside the model. A configured hook evaluates proposed tool calls before execution. Detected secret exfiltration plus commands that kill the gate process or enable its bypass variable deny by default; matching destructive deletes, force-pushes, and fetch-and-run commands warn by default. Strict mode (THUMBGATE_STRICT_ENFORCEMENT=1) turns matching warning-mode checks into denies."
|
|
301
297
|
}
|
|
302
298
|
},
|
|
303
299
|
{
|
|
304
300
|
"@type": "Question",
|
|
305
|
-
"name": "What
|
|
301
|
+
"name": "What's the tech stack?",
|
|
306
302
|
"acceptedAnswer": {
|
|
307
303
|
"@type": "Answer",
|
|
308
|
-
"text": "SQLite+FTS5 lesson DB
|
|
304
|
+
"text": "SQLite+FTS5 lesson DB for fast full-text search. MemAlign-inspired dual recall (principle-based rules + episodic context). Thompson Sampling for adaptive check sensitivity per failure domain. LanceDB + Apache Arrow for local vector search with Hugging Face embeddings. ContextFS for context assembly. Bayesian belief updates on each memory. Configured PreToolUse hooks evaluate known-bad actions before execution; detected secret exfiltration and gate kill/bypass commands deny by default, while strict mode also denies matching warning-mode checks. The local path requires no cloud account."
|
|
309
305
|
}
|
|
310
306
|
},
|
|
311
307
|
{
|
|
312
308
|
"@type": "Question",
|
|
313
|
-
"name": "What AI agents does
|
|
309
|
+
"name": "What AI agents and editors does this work with?",
|
|
314
310
|
"acceptedAnswer": {
|
|
315
311
|
"@type": "Answer",
|
|
316
|
-
"text": "Claude Code, Cursor, Codex, Gemini CLI, Amp, Cline, OpenCode,
|
|
312
|
+
"text": "ThumbGate includes documented integration paths for Claude Code, Cursor, Codex, Gemini CLI, Amp, Cline, and OpenCode. Each agent must be configured through its hook or MCP setup; MCP compatibility alone does not install enforcement automatically. The Cursor runtime setup is npx thumbgate init --agent cursor, while the in-app Marketplace listing remains separate. VS Code can host an MCP-compatible agent, but this repo does not ship a standalone VS Code extension."
|
|
317
313
|
}
|
|
318
314
|
},
|
|
319
315
|
{
|
|
@@ -321,7 +317,7 @@ __GA_BOOTSTRAP__
|
|
|
321
317
|
"name": "Do I have to chat inside the ThumbGate GPT for enforcement?",
|
|
322
318
|
"acceptedAnswer": {
|
|
323
319
|
"@type": "Answer",
|
|
324
|
-
"text": "No. The ThumbGate GPT is
|
|
320
|
+
"text": "No. The ThumbGate GPT is a ChatGPT entrypoint for checking proposed actions and getting setup help. Local allow, warn, or deny enforcement runs where the coding agent executes and requires npx thumbgate init plus the documented integration setup."
|
|
325
321
|
}
|
|
326
322
|
},
|
|
327
323
|
{
|
|
@@ -329,15 +325,15 @@ __GA_BOOTSTRAP__
|
|
|
329
325
|
"name": "When should I use Pro versus the Workflow Hardening Sprint?",
|
|
330
326
|
"acceptedAnswer": {
|
|
331
327
|
"@type": "Answer",
|
|
332
|
-
"text": "Start with the setup guide if you only need the local path. Choose Pro
|
|
328
|
+
"text": "Start with the setup guide if you only need the local path. Choose Pro when an individual operator wants higher limits, personal recall, a local dashboard, DPO export, and operator-managed lesson bundles. Choose the Workflow Hardening Sprint when one workflow owner needs to scope approval boundaries, rollback safety, and evidence requirements before a wider rollout claim."
|
|
333
329
|
}
|
|
334
330
|
},
|
|
335
331
|
{
|
|
336
332
|
"@type": "Question",
|
|
337
|
-
"name": "How
|
|
333
|
+
"name": "How do we keep high-risk autonomous runs off the host?",
|
|
338
334
|
"acceptedAnswer": {
|
|
339
335
|
"@type": "Answer",
|
|
340
|
-
"text": "ThumbGate combines pre-action checks with execution guidance. Workflow Sentinel
|
|
336
|
+
"text": "ThumbGate combines pre-action checks with execution guidance. Workflow Sentinel can recommend Docker Sandboxes for risky local actions. The package also contains a signed sandbox-dispatch mechanism, but each deployment must configure and verify that isolation boundary; it is not hosted team lesson sync or a generally available hosted org service."
|
|
341
337
|
}
|
|
342
338
|
},
|
|
343
339
|
{
|
|
@@ -345,7 +341,7 @@ __GA_BOOTSTRAP__
|
|
|
345
341
|
"name": "How are pre-action checks different from prompt rules?",
|
|
346
342
|
"acceptedAnswer": {
|
|
347
343
|
"@type": "Answer",
|
|
348
|
-
"text": "Prompt rules are
|
|
344
|
+
"text": "Prompt rules are a starting point, not a finish line. ThumbGate adds a human-feedback loop plus configured Pre-Action Checks at the tool-call boundary. The default policy denies detected secret exfiltration and gate kill/bypass commands while other matching high-risk checks warn; strict mode also denies matching warning-mode checks."
|
|
349
345
|
}
|
|
350
346
|
},
|
|
351
347
|
{
|
|
@@ -353,31 +349,7 @@ __GA_BOOTSTRAP__
|
|
|
353
349
|
"name": "How does ThumbGate fit the agentic development cycle?",
|
|
354
350
|
"acceptedAnswer": {
|
|
355
351
|
"@type": "Answer",
|
|
356
|
-
"text": "Agentic development is
|
|
357
|
-
}
|
|
358
|
-
},
|
|
359
|
-
{
|
|
360
|
-
"@type": "Question",
|
|
361
|
-
"name": "How does ThumbGate prevent AI slop and protect brand authenticity?",
|
|
362
|
-
"acceptedAnswer": {
|
|
363
|
-
"@type": "Answer",
|
|
364
|
-
"text": "AI slop happens when agents act without human judgment as a hard check — generating repetitive, generic outputs that erode trust and dilute your brand. ThumbGate inserts human thumbs-up/down between AI intent and execution. Every thumbs-down becomes a prevention rule that blocks the bad pattern permanently. Every thumbs-up reinforces what 'good' looks like for your specific context. Your agent's outputs reflect your actual standards, not generic AI patterns. This is authenticity enforcement at the tool-call level."
|
|
365
|
-
}
|
|
366
|
-
},
|
|
367
|
-
{
|
|
368
|
-
"@type": "Question",
|
|
369
|
-
"name": "How is ThumbGate different from SpecLock?",
|
|
370
|
-
"acceptedAnswer": {
|
|
371
|
-
"@type": "Answer",
|
|
372
|
-
"text": "SpecLock requires manually writing constraints or compiling them from a PRD. ThumbGate learns automatically from thumbs-up/down feedback and auto-generates prevention rules from repeated failures. SpecLock locks files from modification; ThumbGate blocks specific actions (like force-push) before they execute."
|
|
373
|
-
}
|
|
374
|
-
},
|
|
375
|
-
{
|
|
376
|
-
"@type": "Question",
|
|
377
|
-
"name": "How is ThumbGate different from Mem0?",
|
|
378
|
-
"acceptedAnswer": {
|
|
379
|
-
"@type": "Answer",
|
|
380
|
-
"text": "Mem0 is cloud-hosted memory for AI apps. ThumbGate is local-first enforcement. Mem0 remembers context but cannot block actions. ThumbGate captures feedback, promotes it to prevention rules, and physically blocks tool calls that match known failure patterns via PreToolUse hooks."
|
|
352
|
+
"text": "Agentic development is not just generation. Teams need Guide, Generate, Verify, and Solve working as a repeatable loop. ThumbGate can serve as the pre-action execution gate: guidance and accepted feedback can become rules, generated tool calls are evaluated before execution, rules can require verification evidence, and recurring solved failures can become reusable prevention gates."
|
|
381
353
|
}
|
|
382
354
|
}
|
|
383
355
|
]
|
|
@@ -747,7 +719,7 @@ __GA_BOOTSTRAP__
|
|
|
747
719
|
<a href="#claude-code-section" class="nav-claude" onclick="posthog.capture('nav_claude_click')" style="display:none;">Claude</a>
|
|
748
720
|
<a href="#workflow-sprint-intake" onclick="posthog.capture('workflow_sprint')" style="display:none;">Start Sprint</a>
|
|
749
721
|
<a href="https://github.com/IgorGanapolsky/ThumbGate/releases/latest/download/thumbgate-claude-desktop.mcpb" target="_blank" rel="noopener" onclick="posthog.capture('nav_claude_extension_click',{cta:'install_claude_extension'})" class="nav-cta" style="background:#d97706;display:none;">Claude Extension</a>
|
|
750
|
-
<a href="/
|
|
722
|
+
<a href="/go/diagnostic?utm_source=website&utm_medium=nav&utm_campaign=money_today&utm_content=nav_diagnostic&cta_id=nav_pay_diagnostic&cta_placement=nav&plan_id=sprint_diagnostic" data-revenue-cta data-cta-id="nav_pay_diagnostic" data-cta-placement="nav" data-tier="service" data-plan-id="sprint_diagnostic" data-price="__SPRINT_DIAGNOSTIC_PRICE_DOLLARS__" onclick="trackRevenueCta(this);try{posthog.capture('nav_diagnostic_click',{cta:'nav_pay_diagnostic',price:__SPRINT_DIAGNOSTIC_PRICE_DOLLARS__})}catch(_){}" class="nav-cta">Pay $__SPRINT_DIAGNOSTIC_PRICE_DOLLARS__ diagnostic</a>
|
|
751
723
|
</div>
|
|
752
724
|
</div>
|
|
753
725
|
</nav>
|
|
@@ -755,42 +727,61 @@ __GA_BOOTSTRAP__
|
|
|
755
727
|
<!-- HERO -->
|
|
756
728
|
<section class="hero">
|
|
757
729
|
<div class="container">
|
|
758
|
-
<div class="hero-badge">👍 👎 Local-first · open-source ·
|
|
759
|
-
<h1>
|
|
760
|
-
<p class="hero-lede">Claude Code, Cursor, Codex, Gemini CLI, and MCP tools
|
|
730
|
+
<div class="hero-badge">👍 👎 Local-first · open-source · enterprise governance when agents touch real systems</div>
|
|
731
|
+
<h1>Catch AI agents before they spend money, leak secrets, or break production.</h1>
|
|
732
|
+
<p class="hero-lede">Claude Code, Cursor, Codex, Gemini CLI, Amp, Cline, OpenCode, and MCP tools can touch terminals, repos, databases, SaaS APIs, and cloud systems. After a configured agent proposes a tool call, ThumbGate evaluates it before execution and records the decision. The default policy denies detected secret exfiltration plus commands that kill the ThumbGate gate process or enable its bypass environment variable; other matched high-risk classes such as destructive deletes, force-pushes, and fetch-and-run commands warn by default. Strict mode turns matching warning-mode checks into denies. The beachhead buyer is an enterprise engineering, security, or platform team that needs governed AI-agent execution before agents touch regulated or high-blast-radius workflows.</p>
|
|
761
733
|
|
|
762
734
|
<div class="hero-signals" aria-label="June 2026 buyer signals">
|
|
763
735
|
<a class="signal-pill signal-down" href="#june-2026-proof">MCP tool risk</a>
|
|
764
736
|
<a class="signal-pill" href="#june-2026-proof">Managed-agent rollout</a>
|
|
765
737
|
<a class="signal-pill" href="#june-2026-proof">Token spend pressure</a>
|
|
766
|
-
<a class="signal-pill signal-up" href="#
|
|
738
|
+
<a class="signal-pill signal-up" href="#workflow-sprint-intake">Regulated agent governance</a>
|
|
767
739
|
</div>
|
|
768
740
|
|
|
769
|
-
<div class="hero-proof-card" aria-label="ThumbGate
|
|
770
|
-
<img src="/media/thumbgate-demo.gif" alt="ThumbGate
|
|
741
|
+
<div class="hero-proof-card" aria-label="ThumbGate flagging dangerous AI agent commands in real time">
|
|
742
|
+
<img src="/media/thumbgate-demo.gif" alt="ThumbGate flagging an AI agent's rm -rf, git push --force, and chmod 777 in real time — flagging them by default and hard-blocking under strict mode — while letting safe commands through" style="width:100%;display:block;border-radius:8px;" loading="lazy" />
|
|
771
743
|
</div>
|
|
772
744
|
|
|
773
745
|
<div class="hero-actions">
|
|
774
|
-
<a href="/
|
|
775
|
-
<a href="
|
|
746
|
+
<a href="/go/diagnostic?utm_source=website&utm_medium=hero_cta&utm_campaign=money_today&utm_content=hero_diagnostic&cta_id=hero_workflow_sprint_diagnostic_checkout&cta_placement=hero&plan_id=sprint_diagnostic" data-revenue-cta data-cta-id="hero_workflow_sprint_diagnostic_checkout" data-cta-placement="hero" data-tier="service" data-plan-id="sprint_diagnostic" data-price="__SPRINT_DIAGNOSTIC_PRICE_DOLLARS__" data-sprint-paid-path="diagnostic" onclick="trackRevenueCta(this);sendFirstPartyTelemetry('workflow_sprint_diagnostic_checkout_started',{ctaId:'hero_workflow_sprint_diagnostic_checkout',ctaPlacement:'hero',offer:'sprint_diagnostic',price:__SPRINT_DIAGNOSTIC_PRICE_DOLLARS__});try{posthog.capture('hero_diagnostic_checkout_click',{cta:'hero_diagnostic',price:__SPRINT_DIAGNOSTIC_PRICE_DOLLARS__})}catch(_){}" class="btn-pro-page hero-pro hero-pro-primary hero-diagnostic">Pay $__SPRINT_DIAGNOSTIC_PRICE_DOLLARS__ diagnostic</a>
|
|
747
|
+
<a href="/go/sprint?utm_source=website&utm_medium=hero_cta&utm_campaign=money_today&utm_content=hero_sprint&cta_id=hero_workflow_sprint_checkout&cta_placement=hero&plan_id=workflow_sprint" data-revenue-cta data-cta-id="hero_workflow_sprint_checkout" data-cta-placement="hero" data-tier="service" data-plan-id="workflow_sprint" data-price="__WORKFLOW_SPRINT_PRICE_DOLLARS__" data-sprint-paid-path="sprint" onclick="trackRevenueCta(this);sendFirstPartyTelemetry('workflow_sprint_checkout_started',{ctaId:'hero_workflow_sprint_checkout',ctaPlacement:'hero',offer:'workflow_sprint',price:__WORKFLOW_SPRINT_PRICE_DOLLARS__});try{posthog.capture('hero_sprint_checkout_click',{cta:'hero_sprint',price:__WORKFLOW_SPRINT_PRICE_DOLLARS__})}catch(_){}" class="btn-pro-page hero-pro">Pay $__WORKFLOW_SPRINT_PRICE_DOLLARS__ sprint</a>
|
|
748
|
+
<a href="/checkout/pro?utm_source=website&utm_medium=hero_cta&utm_campaign=pro_upgrade&cta_id=hero_start_pro&cta_placement=hero&plan_id=pro&landing_path=%2F" data-revenue-cta data-cta-id="hero_start_pro" data-cta-placement="hero" data-tier="pro" data-plan-id="pro" data-price="19" onclick="trackRevenueCta(this);try{posthog.capture('hero_pro_checkout_click',{cta:'hero_start_pro',tier:'pro',price:19})}catch(_){}" class="btn-pro-page hero-pro">Start Pro — $19/mo</a>
|
|
776
749
|
<a href="/go/install?utm_source=website&utm_medium=hero_cta&utm_campaign=install_free&cta_id=hero_install_cli&cta_placement=hero" onclick="event.preventDefault(); navigator.clipboard.writeText('npx thumbgate init'); this.textContent='Copied ✓ — paste in your repo'; setTimeout(()=>{this.textContent='Install Free CLI'},2000); try{posthog.capture('hero_install_click',{cta:'install_cli'})}catch(_){}" class="btn-free btn-install-hero" title="Click to copy: npx thumbgate init">Install Free CLI</a>
|
|
777
750
|
</div>
|
|
751
|
+
<p class="hero-paid-note" style="margin-top:4px;">Money path today: <strong>Workflow Hardening Diagnostic ($__SPRINT_DIAGNOSTIC_PRICE_DOLLARS__)</strong> or <strong>Sprint ($__WORKFLOW_SPRINT_PRICE_DOLLARS__)</strong> for one repeated agent failure. Pro stays the solo self-serve lane. Prefer scoping first? <a href="#workflow-sprint-intake" style="color:var(--cyan);" onclick="try{posthog.capture('hero_sprint_click',{cta:'sprint_intake'})}catch(_){};sendFirstPartyTelemetry('hero_sprint_intake_started',{ctaId:'hero_workflow_sprint',ctaPlacement:'hero',offer:'workflow_sprint'});sendFirstPartyTelemetry('workflow_sprint_recovery_intake_clicked',{ctaId:'hero_workflow_sprint_recovery_intake',ctaPlacement:'hero',offer:'workflow_sprint_intake'});">Send workflow first</a>.</p>
|
|
778
752
|
|
|
779
753
|
<div class="offer-router" aria-label="Choose the right ThumbGate path">
|
|
780
754
|
<div class="offer-route primary">
|
|
781
|
-
<strong>
|
|
782
|
-
<p>
|
|
783
|
-
<a href="/
|
|
755
|
+
<strong>Team / enterprise: buy proof this week</strong>
|
|
756
|
+
<p>One workflow. One repeated failure. Paid diagnostic or sprint with Stripe — credit applies when you continue to implementation.</p>
|
|
757
|
+
<a href="/go/diagnostic?utm_source=website&utm_medium=offer_router&utm_campaign=money_today&cta_id=router_pay_diagnostic&cta_placement=offer_router&plan_id=sprint_diagnostic" data-revenue-cta data-cta-id="router_pay_diagnostic" data-cta-placement="offer_router" data-tier="service" data-plan-id="sprint_diagnostic" data-price="__SPRINT_DIAGNOSTIC_PRICE_DOLLARS__" onclick="trackRevenueCta(this);sendFirstPartyTelemetry('workflow_sprint_diagnostic_checkout_started',{ctaId:'router_pay_diagnostic',ctaPlacement:'offer_router',offer:'sprint_diagnostic'});">Pay $__SPRINT_DIAGNOSTIC_PRICE_DOLLARS__ diagnostic →</a>
|
|
758
|
+
<a href="/go/sprint?utm_source=website&utm_medium=offer_router&utm_campaign=money_today&cta_id=router_pay_sprint&cta_placement=offer_router&plan_id=workflow_sprint" data-revenue-cta data-cta-id="router_pay_sprint" data-cta-placement="offer_router" data-tier="service" data-plan-id="workflow_sprint" data-price="__WORKFLOW_SPRINT_PRICE_DOLLARS__" style="display:block;margin-top:8px;" onclick="trackRevenueCta(this);sendFirstPartyTelemetry('workflow_sprint_checkout_started',{ctaId:'router_pay_sprint',ctaPlacement:'offer_router',offer:'workflow_sprint'});">Pay $__WORKFLOW_SPRINT_PRICE_DOLLARS__ sprint →</a>
|
|
784
759
|
</div>
|
|
785
760
|
<div class="offer-route">
|
|
786
|
-
<strong>
|
|
787
|
-
<p>
|
|
788
|
-
<a href="
|
|
761
|
+
<strong>Solo operator: Start Pro</strong>
|
|
762
|
+
<p>Unlimited rules, recall, proof, exports after one real caught repeat.</p>
|
|
763
|
+
<a href="/checkout/pro?utm_source=website&utm_medium=offer_router&cta_id=router_start_pro&cta_placement=offer_router&plan_id=pro" data-revenue-cta data-cta-id="router_start_pro" data-cta-placement="offer_router" data-tier="pro" data-plan-id="pro" data-price="19" onclick="trackRevenueCta(this);">Pay $19/mo with Stripe →</a>
|
|
789
764
|
</div>
|
|
790
765
|
<div class="offer-route">
|
|
791
|
-
<strong>Still evaluating: Free CLI</strong>
|
|
792
|
-
<p>2 captures/day, 3 active rules.
|
|
766
|
+
<strong>Still evaluating: Free CLI or intake</strong>
|
|
767
|
+
<p>2 captures/day, 3 active rules. Or send the workflow if you need fit review before paying.</p>
|
|
793
768
|
<button data-router-install onclick="copyInstall(this)"><span class="copy-hint">Copy npx thumbgate init</span></button>
|
|
769
|
+
<a href="#workflow-sprint-intake" style="display:block;margin-top:10px;color:var(--cyan);font-weight:700;text-decoration:none;" onclick="sendFirstPartyTelemetry('workflow_sprint_intake_started',{ctaId:'router_workflow_sprint',ctaPlacement:'offer_router',offer:'workflow_sprint'});sendFirstPartyTelemetry('workflow_sprint_recovery_intake_clicked',{ctaId:'router_workflow_sprint_recovery_intake',ctaPlacement:'offer_router',offer:'workflow_sprint_intake'});">Send workflow first →</a>
|
|
770
|
+
</div>
|
|
771
|
+
</div>
|
|
772
|
+
|
|
773
|
+
<div style="max-width:920px;margin:22px auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;text-align:left;">
|
|
774
|
+
<div style="border:1px solid rgba(34,211,238,0.25);border-radius:10px;background:rgba(34,211,238,0.055);padding:16px;">
|
|
775
|
+
<strong style="display:block;color:var(--cyan);margin-bottom:6px;">Ideal customer</strong>
|
|
776
|
+
<span style="color:var(--text-dim);font-size:13px;line-height:1.55;">Enterprise engineering, security, and platform teams already using AI coding agents in repos, CI/CD, SaaS APIs, cloud operations, or audited workflows.</span>
|
|
777
|
+
</div>
|
|
778
|
+
<div style="border:1px solid rgba(74,222,128,0.24);border-radius:10px;background:rgba(74,222,128,0.055);padding:16px;">
|
|
779
|
+
<strong style="display:block;color:var(--green);margin-bottom:6px;">Pain</strong>
|
|
780
|
+
<span style="color:var(--text-dim);font-size:13px;line-height:1.55;">Security is the pain: agents can repeat dangerous actions. Enterprise governance is the budget: policy, auditability, approvals, and shared prevention before execution.</span>
|
|
781
|
+
</div>
|
|
782
|
+
<div style="border:1px solid rgba(168,85,247,0.24);border-radius:10px;background:rgba(168,85,247,0.055);padding:16px;">
|
|
783
|
+
<strong style="display:block;color:#c084fc;margin-bottom:6px;">Partnership fit</strong>
|
|
784
|
+
<span style="color:var(--text-dim);font-size:13px;line-height:1.55;">Detection and coordination layers can identify drift. ThumbGate turns approved findings into enforceable PreToolUse rules with decision evidence.</span>
|
|
794
785
|
</div>
|
|
795
786
|
</div>
|
|
796
787
|
|
|
@@ -803,7 +794,7 @@ __GA_BOOTSTRAP__
|
|
|
803
794
|
</div>
|
|
804
795
|
<figure style="max-width:760px;margin:32px auto 0;padding:20px 24px;border-left:3px solid var(--cyan);background:rgba(34,211,238,0.04);border-radius:0 8px 8px 0;">
|
|
805
796
|
<blockquote style="margin:0;font-size:18px;line-height:1.5;color:var(--text);font-style:italic;">“A better dashboard doesn’t make the agents more reliable. The hard part isn’t visibility. It’s trust.”</blockquote>
|
|
806
|
-
<figcaption style="margin-top:12px;font-size:13px;color:var(--text-muted);">— Rob May, CEO & co-founder, Neurometric AI, in <a href="https://thenewstack.io/claude-code-agent-view/" target="_blank" rel="noopener" style="color:var(--cyan);">The New Stack</a> on Anthropic’s Claude Code Agent View (May 2026).
|
|
797
|
+
<figcaption style="margin-top:12px;font-size:13px;color:var(--text-muted);">— Rob May, CEO & co-founder, Neurometric AI, in <a href="https://thenewstack.io/claude-code-agent-view/" target="_blank" rel="noopener" style="color:var(--cyan);">The New Stack</a> on Anthropic’s Claude Code Agent View (May 2026). This is Rob May describing the industry, not an endorsement of ThumbGate. ThumbGate addresses that trust problem with configured PreToolUse gates, accepted feedback, explicit prevention rules, and local decision records.</figcaption>
|
|
807
798
|
</figure>
|
|
808
799
|
<figure style="max-width:760px;margin:24px auto 0;padding:20px 24px;border-left:3px solid var(--cyan);background:rgba(34,211,238,0.04);border-radius:0 8px 8px 0;">
|
|
809
800
|
<p style="margin:0 0 8px;font-size:14px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.08em;">Local-first is the new default</p>
|
|
@@ -812,8 +803,8 @@ __GA_BOOTSTRAP__
|
|
|
812
803
|
</figure>
|
|
813
804
|
<div class="first-check-card" id="first-check">
|
|
814
805
|
<div class="section-label" style="text-align:left;margin-bottom:8px;">First-Dollar Activation Path</div>
|
|
815
|
-
<h2>
|
|
816
|
-
<p>Install,
|
|
806
|
+
<h2>Run your first pre-action check locally.</h2>
|
|
807
|
+
<p>Install ThumbGate, capture concrete feedback, and let the configured PreToolUse hook flag a matching action before execution. Upgrade only when you need higher limits, recall, a personal dashboard, or exports.</p>
|
|
817
808
|
<div class="first-check-steps">
|
|
818
809
|
<div class="first-check-step">
|
|
819
810
|
<strong>1. Install ThumbGate</strong>
|
|
@@ -821,11 +812,11 @@ __GA_BOOTSTRAP__
|
|
|
821
812
|
</div>
|
|
822
813
|
<div class="first-check-step">
|
|
823
814
|
<strong>2. Give feedback</strong>
|
|
824
|
-
<p>Use thumbs up for a good pattern and thumbs down for a failure.
|
|
815
|
+
<p>Use thumbs up for a good pattern and thumbs down with concrete context for a failure. Accepted feedback becomes a local lesson; recurring failures can be promoted into prevention rules.</p>
|
|
825
816
|
</div>
|
|
826
817
|
<div class="first-check-step">
|
|
827
|
-
<strong>3. The repeat gets
|
|
828
|
-
<p>
|
|
818
|
+
<strong>3. The repeat gets flagged</strong>
|
|
819
|
+
<p>A matching tool call is evaluated and recorded before execution, with a reason the agent can use to choose a safer plan. Detected secret exfiltration and commands that kill the gate process or enable its bypass variable are denied by default; strict mode also denies matching warning-mode checks.</p>
|
|
829
820
|
</div>
|
|
830
821
|
</div>
|
|
831
822
|
</div>
|
|
@@ -843,11 +834,11 @@ __GA_BOOTSTRAP__
|
|
|
843
834
|
</nav>
|
|
844
835
|
<div class="marketing-test-copy" hidden>
|
|
845
836
|
<div class="hero-thumbs">👍👎</div>
|
|
846
|
-
<a class="signal-pill signal-up">
|
|
847
|
-
<a class="signal-pill signal-down">
|
|
837
|
+
<a class="signal-pill signal-up">Accepted feedback becomes local lessons</a>
|
|
838
|
+
<a class="signal-pill signal-down">Evaluate proposed tool calls before execution</a>
|
|
848
839
|
<p class="hero-persona">For consultancies, platform teams, and AI product teams that want workflow governance, CLI-first rollout, and a reliable operator.</p>
|
|
849
840
|
<p>Have one AI-agent failure that keeps repeating? Start with one real workflow, one repeated failure pattern, enforceable pre-action gates, and a short audit trail your team can keep.</p>
|
|
850
|
-
<p>Prove one
|
|
841
|
+
<p>Prove one evaluated repeat before asking anyone to buy. Give <code>thumbs up</code> when the agent follows your standards and a concrete <code>thumbs down</code> when it misses. Upgrade when the individual operator needs higher limits, recall, a personal dashboard, or exports.</p>
|
|
851
842
|
<p>Workflow governance for isolated execution: ThumbGate pairs policy checks with Docker Sandboxes, signed hosted sandbox dispatch, Changeset evidence, and exact main-branch merge commit verification before release claims ship.</p>
|
|
852
843
|
<!--
|
|
853
844
|
Hidden test/asserter strings — required by tests/public-landing.test.js regex assertions
|
|
@@ -860,7 +851,7 @@ __GA_BOOTSTRAP__
|
|
|
860
851
|
<span data-cta="hero_workflow_sprint_intake">ctaId: 'hero_workflow_sprint' ctaId: 'hero_workflow_sprint_recovery_intake' workflow_sprint_intake_started workflow_sprint_recovery_intake_clicked hero_workflow_sprint_recovery_intake</span>
|
|
861
852
|
<span data-anchor="dashboard-preview">dashboard-preview What your Pro dashboard looks like check:no-force-push</span>
|
|
862
853
|
<span data-anchor="team-intake-form">Start Enterprise Pilot Intake id="team-pilot-intake-form" data-team-intake-form name="ctaPlacement" value="team_visible_intake" name="utmMedium" value="visible_team_intake" name="planId" value="team" name="ctaId" value="workflow_sprint_intake" Enterprise checkout happens after scope. team_workflow_sprint_recovery_intake scope_first workflow_sprint_intake_started workflow_sprint_intake_submit_attempted pricing_team_intake team_intake_started</span>
|
|
863
|
-
<span data-anchor="chatgpt-context">No, you do not have to chat inside the GPT forever. ChatGPT is
|
|
854
|
+
<span data-anchor="chatgpt-context">No, you do not have to chat inside the GPT forever. ChatGPT is a discovery and checkpointing surface. Do not rely on ChatGPT's native rating buttons for ThumbGate memory. Explore GPTs choose the GPT by Igor Ganapolsky Programming Do I have to chat inside the ThumbGate GPT for enforcement? capture typed thumbs-up/down feedback Local allow/warn/deny enforcement for coding agents requires a configured integration adapters/chatgpt/INSTALL.md Native ChatGPT rating buttons are not the ThumbGate capture path. thumbs up: this review named exact files, commands, and tests. thumbs down: the answer ignored my request.</span>
|
|
864
855
|
</div>
|
|
865
856
|
</div>
|
|
866
857
|
</div>
|
|
@@ -869,7 +860,7 @@ __GA_BOOTSTRAP__
|
|
|
869
860
|
<section class="compatibility" id="why-not-diy" aria-label="Why not write your own hooks">
|
|
870
861
|
<div class="container">
|
|
871
862
|
<h2>“Why not just write my own PreToolUse hooks?”</h2>
|
|
872
|
-
<p class="hero-lede" style="max-width:760px;margin:0 auto 18px;">You can — on one machine, for one agent, until the next breaking change. ThumbGate is that idea, maintained:
|
|
863
|
+
<p class="hero-lede" style="max-width:760px;margin:0 auto 18px;">You can — on one machine, for one agent, until the next breaking change. ThumbGate is that idea, maintained: accepted feedback becomes local lessons, recurring failures can become explicit rules, and those rules can be reused by supported agents configured against the same local install scope. Claude Code, Cursor, Codex, Gemini, Amp, Cline, and OpenCode each require their documented integration setup. Hand-written hooks do not automatically provide ThumbGate's lesson store, rule promotion, local decision records, or adapter tests.</p>
|
|
873
864
|
<p><a href="/compare/claude-code-hooks">See ThumbGate vs. hand-written hooks →</a></p>
|
|
874
865
|
</div>
|
|
875
866
|
</section>
|
|
@@ -882,11 +873,11 @@ __GA_BOOTSTRAP__
|
|
|
882
873
|
<div class="agent-grid">
|
|
883
874
|
<div class="agent-card">
|
|
884
875
|
<h3>MCP and tool lockdown</h3>
|
|
885
|
-
<p>As MCP servers and hosted tools spread, the failure mode is no longer just a bad answer. It is an agent calling the wrong tool with real developer permissions. ThumbGate
|
|
876
|
+
<p>As MCP servers and hosted tools spread, the failure mode is no longer just a bad answer. It is an agent calling the wrong tool with real developer permissions. ThumbGate provides a local allow, warn, or deny decision before a configured tool call executes.</p>
|
|
886
877
|
</div>
|
|
887
878
|
<div class="agent-card">
|
|
888
879
|
<h3>Managed agents need receipts</h3>
|
|
889
|
-
<p>Managed background agents can multiply output, but every extra autonomous run needs evidence, rollback boundaries, and approval rules. ThumbGate
|
|
880
|
+
<p>Managed background agents can multiply output, but every extra autonomous run needs evidence, rollback boundaries, and approval rules. ThumbGate records why a configured pre-action check allowed, warned on, or denied a proposed action.</p>
|
|
890
881
|
</div>
|
|
891
882
|
<div class="agent-card">
|
|
892
883
|
<h3>Tokenmaxxing backlash</h3>
|
|
@@ -894,11 +885,11 @@ __GA_BOOTSTRAP__
|
|
|
894
885
|
</div>
|
|
895
886
|
<div class="agent-card">
|
|
896
887
|
<h3>Production code by AI</h3>
|
|
897
|
-
<p>When teams claim most new production code is AI-authored, the real enterprise question becomes auditability. ThumbGate
|
|
888
|
+
<p>When teams claim most new production code is AI-authored, the real enterprise question becomes auditability. ThumbGate can promote accepted recurring corrections into prevention rules and retain the local gate evidence available to reviewers.</p>
|
|
898
889
|
</div>
|
|
899
890
|
</div>
|
|
900
891
|
<div style="margin:22px auto 0;max-width:900px;border:1px solid rgba(74,222,128,0.26);border-radius:8px;background:rgba(74,222,128,0.07);padding:16px 18px;color:var(--text-muted);">
|
|
901
|
-
<strong style="color:var(--green);">Data-science posture:</strong>
|
|
892
|
+
<strong style="color:var(--green);">Data-science posture:</strong> treat Pro checkout starts and workflow-intake submissions as intent, not revenue. Make conversion or traction claims only from authenticated billing and analytics telemetry; this page does not publish a current customer or revenue count.
|
|
902
893
|
</div>
|
|
903
894
|
</div>
|
|
904
895
|
</section>
|
|
@@ -921,12 +912,12 @@ __GA_BOOTSTRAP__
|
|
|
921
912
|
</a>
|
|
922
913
|
<a class="cycle-card" href="/learn/ac-dc-runtime-enforcement" rel="noopener" aria-label="Read the AC/DC mapping framework article" onclick="try{posthog.capture('agentic_cycle_card_click',{stage:'verify'})}catch(_){}">
|
|
923
914
|
<h3>Verify</h3>
|
|
924
|
-
<p>Pre-Action Checks require inspection evidence, tests, CI, screenshots, API responses, or human approval
|
|
915
|
+
<p>Pre-Action Checks can require inspection evidence, tests, CI, screenshots, API responses, or human approval for configured high-risk actions.</p>
|
|
925
916
|
<div class="card-arrow">Read the AC/DC map →</div>
|
|
926
917
|
</a>
|
|
927
918
|
<a class="cycle-card" href="/lessons" rel="noopener" aria-label="Explore the lessons library and generated rules" onclick="try{posthog.capture('agentic_cycle_card_click',{stage:'solve'})}catch(_){}">
|
|
928
919
|
<h3>Solve</h3>
|
|
929
|
-
<p>
|
|
920
|
+
<p>Accepted feedback can become local lessons and recurring failures can become rules. Pro operators can export DPO data and lesson bundles for separately reviewed reuse.</p>
|
|
930
921
|
<div class="card-arrow">Explore the lessons →</div>
|
|
931
922
|
</a>
|
|
932
923
|
</div>
|
|
@@ -945,20 +936,20 @@ __GA_BOOTSTRAP__
|
|
|
945
936
|
<div class="code-dot red"></div>
|
|
946
937
|
<div class="code-dot yellow"></div>
|
|
947
938
|
<div class="code-dot green"></div>
|
|
948
|
-
<span>terminal —
|
|
939
|
+
<span>terminal — local setup</span>
|
|
949
940
|
</div>
|
|
950
941
|
<div class="code-body" style="font-size:14px;">
|
|
951
|
-
<div><span class="comment"># Install
|
|
942
|
+
<div><span class="comment"># Install the local CLI</span></div>
|
|
952
943
|
<div><span class="fn">npx</span> thumbgate init</div>
|
|
953
944
|
<div> </div>
|
|
954
945
|
<div><span class="comment"># Your agent tries to delete production db...</span></div>
|
|
955
|
-
<div><span class="keyword"
|
|
956
|
-
<div><span class="comment"># Rule
|
|
946
|
+
<div><span class="keyword">⚠️ Check flagged:</span> <span class="string">"Never run DROP on production tables"</span> <span class="comment"># blocks under strict mode</span></div>
|
|
947
|
+
<div><span class="comment"># Rule promoted from accepted recurring feedback</span></div>
|
|
957
948
|
<div> </div>
|
|
958
|
-
<div><span class="comment">#
|
|
949
|
+
<div><span class="comment"># Matching warning-mode checks deny when strict mode is enabled.</span></div>
|
|
959
950
|
</div>
|
|
960
951
|
</div>
|
|
961
|
-
<p style="text-align:center;margin-top:16px;font-size:14px;color:var(--text-muted);">
|
|
952
|
+
<p style="text-align:center;margin-top:16px;font-size:14px;color:var(--text-muted);">Install the local runtime, capture concrete feedback, and inspect the resulting lessons and checks.</p>
|
|
962
953
|
</div>
|
|
963
954
|
</section>
|
|
964
955
|
|
|
@@ -966,11 +957,11 @@ __GA_BOOTSTRAP__
|
|
|
966
957
|
<div class="container">
|
|
967
958
|
<div class="section-label">Deterministic Prevention</div>
|
|
968
959
|
<h2 class="section-title">Native thumbs are a black box. ThumbGate is the inspectable control layer.</h2>
|
|
969
|
-
<p style="text-align:center;font-size:16px;color:var(--text-muted);max-width:900px;margin:0 auto 28px;line-height:1.7;">Codex, Claude Code, ChatGPT, and other agent surfaces can collect preference signals, but you usually cannot see exactly what changed, which rule will fire, or why a future tool call is allowed. ThumbGate keeps the prevention layer outside the model: typed feedback becomes a local lesson,
|
|
960
|
+
<p style="text-align:center;font-size:16px;color:var(--text-muted);max-width:900px;margin:0 auto 28px;line-height:1.7;">Codex, Claude Code, ChatGPT, and other agent surfaces can collect preference signals, but you usually cannot see exactly what changed, which rule will fire, or why a future tool call is allowed. ThumbGate keeps the prevention layer outside the model: accepted typed feedback becomes a local lesson, recurring failures can become explicit rules, and gate results expose the matched check and decision reason available at evaluation time.</p>
|
|
970
961
|
<div class="agent-grid">
|
|
971
962
|
<div class="agent-card">
|
|
972
963
|
<h3>Black-box memory</h3>
|
|
973
|
-
<p>Native thumbs and vendor memories may improve future behavior, but they do not
|
|
964
|
+
<p>Native thumbs and vendor memories may improve future behavior, but they do not provide ThumbGate's explicit local allow, warn, or deny contract at the moment a configured agent touches files, terminals, APIs, or CI.</p>
|
|
974
965
|
</div>
|
|
975
966
|
<div class="agent-card">
|
|
976
967
|
<h3>Inspectable ThumbGate memory</h3>
|
|
@@ -987,7 +978,7 @@ __GA_BOOTSTRAP__
|
|
|
987
978
|
<li><strong>Agent security is now mainstream risk.</strong> Coding agents run shell commands, write files, query databases, and chain actions with developer permissions, so unattended autonomy needs a local policy boundary.</li>
|
|
988
979
|
<li><strong>MCP adoption is accelerating.</strong> More tools are becoming agent-callable through shared protocols, which means one cross-agent governance layer beats one-off prompt rules per app.</li>
|
|
989
980
|
<li><strong>Managed-agent output needs audit evidence.</strong> Background agents, subagents, and workflow runners can ship more work, but buyers need receipts for what was blocked, approved, and verified.</li>
|
|
990
|
-
<li><strong>Repeated failures waste cash and trust.</strong>
|
|
981
|
+
<li><strong>Repeated failures waste cash and trust.</strong> Repeats can burn tokens, review time, and release confidence. ThumbGate can promote accepted recurring feedback into a reusable prevention check.</li>
|
|
991
982
|
</ul>
|
|
992
983
|
<p style="margin:12px 0 0;font-size:13px;color:var(--text-dim);">Sources to verify the market timing: <a href="https://www.docker.com/blog/ai-coding-agent-horror-stories-security-risks/" target="_blank" rel="noopener" style="color:var(--cyan);">Docker on AI coding agent security risks</a>, <a href="https://www.techradar.com/pro/how-ai-agents-are-wrecking-havoc-in-legacy-security-setups-and-enterprises-are-catching-up" target="_blank" rel="noopener" style="color:var(--cyan);">TechRadar on enterprise agent security pressure</a>, and <a href="https://www.techradar.com/pro/zendesk-becomes-the-latest-to-adopt-mcp-to-futureproof-customers-in-the-ai-first-era" target="_blank" rel="noopener" style="color:var(--cyan);">current MCP adoption coverage</a>.</p>
|
|
993
984
|
</div>
|
|
@@ -1017,7 +1008,7 @@ __GA_BOOTSTRAP__
|
|
|
1017
1008
|
<div class="container">
|
|
1018
1009
|
<div class="gpt-panel" style="border-color:rgba(217,119,6,0.3);background:linear-gradient(135deg, rgba(217,119,6,0.06) 0%, rgba(34,211,238,0.04) 100%);">
|
|
1019
1010
|
<div class="section-label" style="text-align:left;color:#d97706;">Claude Code · Claude Desktop · Claude Extension</div>
|
|
1020
|
-
<h2>
|
|
1011
|
+
<h2>Configure ThumbGate for Claude Code or Claude Desktop.</h2>
|
|
1021
1012
|
<p>ThumbGate ships a published Claude Desktop extension bundle (<code>.mcpb</code>) you can install today. Claude Code users can also add the repo marketplace plugin immediately. No waiting for directory approval.</p>
|
|
1022
1013
|
<div class="gpt-steps">
|
|
1023
1014
|
<div class="gpt-step">
|
|
@@ -1030,7 +1021,7 @@ __GA_BOOTSTRAP__
|
|
|
1030
1021
|
</div>
|
|
1031
1022
|
<div class="gpt-step">
|
|
1032
1023
|
<strong>3. Give feedback, checks auto-generate</strong>
|
|
1033
|
-
<p>Type <code>thumbs down</code> when Claude makes a mistake.
|
|
1024
|
+
<p>Type a concrete <code>thumbs down</code> when Claude makes a mistake. Accepted feedback can distill a lesson from up to 8 prior entries, and recurring failures can become rules evaluated by the configured PreToolUse hook. Detected secret exfiltration is denied by default; strict mode also denies matching warning-mode checks.</p>
|
|
1034
1025
|
</div>
|
|
1035
1026
|
</div>
|
|
1036
1027
|
<div style="display:flex;gap:12px;flex-wrap:wrap;">
|
|
@@ -1049,7 +1040,7 @@ __GA_BOOTSTRAP__
|
|
|
1049
1040
|
<div class="gpt-panel">
|
|
1050
1041
|
<div class="section-label" style="text-align:left;">ChatGPT Entry Point · Live ThumbGate GPT for ChatGPT</div>
|
|
1051
1042
|
<h2>Use the GPT as a preflight desk for risky commands, refunds, deploys, and PR actions.</h2>
|
|
1052
|
-
<p>
|
|
1043
|
+
<p>The live GPT is a ChatGPT entrypoint for preflighting a proposed action and finding setup guidance. It does not create a local execution boundary by itself. Local allow, warn, or deny decisions require <code>npx thumbgate init</code> plus the documented integration for the agent that executes the tool call.</p>
|
|
1053
1044
|
<div class="gpt-steps">
|
|
1054
1045
|
<div class="gpt-step">
|
|
1055
1046
|
<strong>1. Open the live GPT</strong>
|
|
@@ -1061,7 +1052,7 @@ __GA_BOOTSTRAP__
|
|
|
1061
1052
|
</div>
|
|
1062
1053
|
<div class="gpt-step">
|
|
1063
1054
|
<strong>3. Enforce locally</strong>
|
|
1064
|
-
<p>Run <code>npx thumbgate init</code> in the repo so Pre-Action Checks
|
|
1055
|
+
<p>Run <code>npx thumbgate init</code> in the repo and configure the documented agent integration so Pre-Action Checks evaluate proposed tool calls before execution. The default policy denies detected secret exfiltration plus commands that kill the gate process or enable its bypass variable.</p>
|
|
1065
1056
|
</div>
|
|
1066
1057
|
</div>
|
|
1067
1058
|
<div style="display:flex;gap:12px;flex-wrap:wrap;">
|
|
@@ -1069,7 +1060,7 @@ __GA_BOOTSTRAP__
|
|
|
1069
1060
|
<a href="https://github.com/IgorGanapolsky/ThumbGate/blob/main/adapters/chatgpt/INSTALL.md" class="btn-free" target="_blank" rel="noopener" style="display:inline-flex;align-items:center;padding:12px 20px;border-radius:8px;">ChatGPT Actions setup</a>
|
|
1070
1061
|
<a href="/guides/chatgpt-ads-trust" class="btn-free" style="display:inline-flex;align-items:center;padding:12px 20px;border-radius:8px;">Why ChatGPT ads need checks</a>
|
|
1071
1062
|
</div>
|
|
1072
|
-
<p class="gpt-note"><strong>Find it fast:</strong> if the direct link does not open, go to <strong>Explore GPTs</strong>, search <code>ThumbGate</code>, and choose the GPT by Igor Ganapolsky in <strong>Programming</strong>. <strong>Plain English rule:</strong> ChatGPT is the discovery and
|
|
1063
|
+
<p class="gpt-note"><strong>Find it fast:</strong> if the direct link does not open, go to <strong>Explore GPTs</strong>, search <code>ThumbGate</code>, and choose the GPT by Igor Ganapolsky in <strong>Programming</strong>. <strong>Plain English rule:</strong> ChatGPT is the discovery and checkpointing surface. Accepted typed feedback can become a local lesson; recurring failures can become rules. The Reliability Gateway still runs in the configured local agent or CI lane.</p>
|
|
1073
1064
|
</div>
|
|
1074
1065
|
</div>
|
|
1075
1066
|
</section>
|
|
@@ -1091,7 +1082,7 @@ __GA_BOOTSTRAP__
|
|
|
1091
1082
|
</a>
|
|
1092
1083
|
<a class="compat-card" href="/guide" rel="noopener">
|
|
1093
1084
|
<h3>🤖 AI CLIs</h3>
|
|
1094
|
-
<p>Claude Code, Codex, Gemini CLI, Amp, and OpenCode
|
|
1085
|
+
<p>Claude Code, Codex, Gemini CLI, Amp, and OpenCode can use the same gateway and memory model after their documented integration is configured. Other MCP-compatible agents require an equivalent MCP or hook setup.</p>
|
|
1095
1086
|
<div class="card-arrow">Open the setup guide →</div>
|
|
1096
1087
|
</a>
|
|
1097
1088
|
<a class="compat-card seo-card" href="/guides/hermes-agent-guardrails" rel="noopener">
|
|
@@ -1111,7 +1102,7 @@ __GA_BOOTSTRAP__
|
|
|
1111
1102
|
</a>
|
|
1112
1103
|
<a class="compat-card seo-card" href="/guides/gcp-mcp-guardrails" rel="noopener">
|
|
1113
1104
|
<h3>☁️ Google Data Agent Kit</h3>
|
|
1114
|
-
<p>
|
|
1105
|
+
<p>When database and IAM operations are exposed as agent tool calls, ThumbGate can evaluate configured patterns such as production DROP, unscoped DELETE, or IAM escalation before execution. The resulting action depends on the matched rule and enforcement mode.</p>
|
|
1115
1106
|
<div class="card-arrow">Read the GCP guardrails guide →</div>
|
|
1116
1107
|
</a>
|
|
1117
1108
|
<a class="compat-card" href="/codex-plugin?utm_source=website&utm_medium=compatibility&utm_campaign=codex_plugin&cta_id=compat_codex_plugin&cta_placement=compatibility" rel="noopener" onclick="if(typeof posthog!=='undefined')posthog.capture('compat_codex_plugin_click',{cta:'open_codex_plugin_page'})">
|
|
@@ -1120,13 +1111,13 @@ __GA_BOOTSTRAP__
|
|
|
1120
1111
|
<div class="card-arrow">Open the Codex install page →</div>
|
|
1121
1112
|
</a>
|
|
1122
1113
|
<a class="compat-card" href="/guides/cursor-prevent-repeated-mistakes" rel="noopener">
|
|
1123
|
-
<h3>🎯 Cursor
|
|
1124
|
-
<p>
|
|
1114
|
+
<h3>🎯 Cursor integration</h3>
|
|
1115
|
+
<p>Run <code>npx thumbgate init --agent cursor</code> or configure <code>.cursor/mcp.json</code> through the documented setup path. The npm runtime path is separate from any in-app Marketplace listing.</p>
|
|
1125
1116
|
<div class="card-arrow">Read the Cursor guide →</div>
|
|
1126
1117
|
</a>
|
|
1127
1118
|
<a class="compat-card" href="/guide" rel="noopener">
|
|
1128
1119
|
<h3>✏️ Editor workflows</h3>
|
|
1129
|
-
<p>VS Code
|
|
1120
|
+
<p>VS Code can host an MCP-compatible agent such as Continue or Cline. Each editor or agent still requires its MCP stdio or hook configuration; this repo does not ship a standalone VS Code extension.</p>
|
|
1130
1121
|
<div class="card-arrow">Open the setup guide →</div>
|
|
1131
1122
|
</a>
|
|
1132
1123
|
<a class="compat-card" href="https://mcp.so/server/thumbgate" target="_blank" rel="noopener" onclick="if(typeof posthog!=='undefined')posthog.capture('compat_mcp_so_click',{cta:'view_mcp_directory'})">
|
|
@@ -1136,7 +1127,7 @@ __GA_BOOTSTRAP__
|
|
|
1136
1127
|
</a>
|
|
1137
1128
|
<a class="compat-card" href="/go/gpt?utm_source=website&utm_medium=compatibility&utm_campaign=chatgpt_gpt&cta_id=compat_open_gpt&cta_placement=compatibility" target="_blank" rel="noopener">
|
|
1138
1129
|
<h3>💬 ChatGPT GPT Actions</h3>
|
|
1139
|
-
<p>Open the ThumbGate GPT to preflight risky commands, deploys, refunds, PR actions, and setup steps
|
|
1130
|
+
<p>Open the ThumbGate GPT to preflight risky commands, deploys, refunds, PR actions, and setup steps. Local allow, warn, or deny enforcement for coding agents requires <code>npx thumbgate init</code> plus the documented integration setup.</p>
|
|
1140
1131
|
<div class="card-arrow">Open ThumbGate GPT →</div>
|
|
1141
1132
|
</a>
|
|
1142
1133
|
</div>
|
|
@@ -1155,24 +1146,24 @@ __GA_BOOTSTRAP__
|
|
|
1155
1146
|
<a href="/dashboard" style="display:inline-block;margin-top:12px;color:var(--cyan);font-weight:600;text-decoration:underline;">Open Dashboard Demo →</a>
|
|
1156
1147
|
</div>
|
|
1157
1148
|
<div class="agent-card">
|
|
1158
|
-
<h3>⛔ Check
|
|
1159
|
-
<p>
|
|
1149
|
+
<h3>⛔ Check Decisions</h3>
|
|
1150
|
+
<p>Inspect the matched gate, allow/warn/deny decision, and reason returned by the local evaluator.</p>
|
|
1160
1151
|
</div>
|
|
1161
1152
|
<div class="agent-card">
|
|
1162
|
-
<h3>📊
|
|
1163
|
-
<p>
|
|
1153
|
+
<h3>📊 Local Reports</h3>
|
|
1154
|
+
<p>Generate local dashboard and report views from the operator's available gate and feedback data. A hosted org dashboard is not generally available.</p>
|
|
1164
1155
|
</div>
|
|
1165
1156
|
<div class="agent-card">
|
|
1166
1157
|
<h3>🧱 Isolated Execution Lanes</h3>
|
|
1167
|
-
<p>
|
|
1158
|
+
<p>Workflow Sentinel can recommend Docker Sandboxes for high-risk local actions. The package includes a signed sandbox-dispatch mechanism, but each deployment must configure and verify its isolation boundary.</p>
|
|
1168
1159
|
</div>
|
|
1169
1160
|
<div class="agent-card">
|
|
1170
1161
|
<h3>Data Processing Boundaries</h3>
|
|
1171
|
-
<p>Local enforcement data stays in the operator's ThumbGate feedback directory by default.
|
|
1162
|
+
<p>Local enforcement data stays in the operator's ThumbGate feedback directory by default. Checkout, intake, newsletter, and product analytics are separate hosted processing surfaces. Hosted team lesson sync is not generally available.</p>
|
|
1172
1163
|
</div>
|
|
1173
1164
|
<div class="agent-card">
|
|
1174
1165
|
<h3>🧪 Thompson Sampling</h3>
|
|
1175
|
-
<p>Confidence tiers (none/low/medium/high)
|
|
1166
|
+
<p>Confidence tiers (none/low/medium/high) are available inputs to adaptive rule selection; they do not guarantee a correct decision.</p>
|
|
1176
1167
|
</div>
|
|
1177
1168
|
<div class="agent-card">
|
|
1178
1169
|
<h3>🪞 History-Aware Lessons</h3>
|
|
@@ -1185,20 +1176,20 @@ __GA_BOOTSTRAP__
|
|
|
1185
1176
|
<section class="compatibility" id="governance-not-logging">
|
|
1186
1177
|
<div class="container">
|
|
1187
1178
|
<div class="section-label">Governance, Not Logging</div>
|
|
1188
|
-
<h2 class="section-title">Logs describe the damage. ThumbGate
|
|
1189
|
-
<p style="color:var(--text-dim);max-width:820px;margin:0 auto 22px;">Self-governance is an operator writing local rules and keeping local logs. ThumbGate starts there, then
|
|
1179
|
+
<h2 class="section-title">Logs describe the damage. ThumbGate evaluates the proposed action before it runs.</h2>
|
|
1180
|
+
<p style="color:var(--text-dim);max-width:820px;margin:0 auto 22px;">Self-governance is an operator writing local rules and keeping local logs. ThumbGate starts there, then evaluates configured checks as an allow, warn, or deny decision before the tool call touches code, data, money, or customers.</p>
|
|
1190
1181
|
<div class="agent-grid">
|
|
1191
1182
|
<div class="agent-card">
|
|
1192
1183
|
<h3>Pre-action enforcement</h3>
|
|
1193
|
-
<p>The rule is evaluated at the execution boundary, not after the fact.
|
|
1184
|
+
<p>The rule is evaluated at the execution boundary, not after the fact. Matching failures are evaluated before configured shell commands, PR actions, deploys, refunds, or production writes run. Detected secret exfiltration and gate kill/bypass commands deny by default; strict mode also denies matching warning-mode checks.</p>
|
|
1194
1185
|
</div>
|
|
1195
1186
|
<div class="agent-card">
|
|
1196
1187
|
<h3>Reviewable decision trail</h3>
|
|
1197
|
-
<p>
|
|
1188
|
+
<p>Gate records expose the fields available for that evaluation, including its decision, matched gate, reason, and provided context, so reviewers can inspect local evidence instead of trusting an agent summary.</p>
|
|
1198
1189
|
</div>
|
|
1199
1190
|
<div class="agent-card">
|
|
1200
1191
|
<h3>Enterprise governance mode</h3>
|
|
1201
|
-
<p>
|
|
1192
|
+
<p>Enterprise is intake-first and scoped around one workflow's approval boundaries, rollback plan, evidence requirements, and rollout support. Hosted team sync, org dashboards, SSO, SIEM, and compliance packaging are not general-availability runtime features.</p>
|
|
1202
1193
|
</div>
|
|
1203
1194
|
</div>
|
|
1204
1195
|
</div>
|
|
@@ -1216,7 +1207,7 @@ __GA_BOOTSTRAP__
|
|
|
1216
1207
|
</div>
|
|
1217
1208
|
<div class="agent-card">
|
|
1218
1209
|
<h3>ThumbGate</h3>
|
|
1219
|
-
<p>Turns operator feedback into Pre-Action Checks.
|
|
1210
|
+
<p>Turns accepted operator feedback into local lessons and recurring failures into Pre-Action Checks. Supported agent integrations evaluate matching rules at the tool-call boundary. Detected secret exfiltration and gate kill/bypass commands deny by default; strict mode also denies matching warning-mode checks.</p>
|
|
1220
1211
|
</div>
|
|
1221
1212
|
<div class="agent-card">
|
|
1222
1213
|
<h3>The stack that makes sense</h3>
|
|
@@ -1281,7 +1272,7 @@ __GA_BOOTSTRAP__
|
|
|
1281
1272
|
<div class="autoresearch-grid">
|
|
1282
1273
|
<div class="autoresearch-card">
|
|
1283
1274
|
<h3>Guard the metric</h3>
|
|
1284
|
-
<p>Require primary and holdout checks before an agent can call a variant better.
|
|
1275
|
+
<p>Require primary and holdout checks before an agent can call a variant better. Flag cherry-picked runs and missing baselines, then configure strict enforcement where a deny is required.</p>
|
|
1285
1276
|
</div>
|
|
1286
1277
|
<div class="autoresearch-card">
|
|
1287
1278
|
<h3>Preserve proof trails</h3>
|
|
@@ -1304,19 +1295,19 @@ __GA_BOOTSTRAP__
|
|
|
1304
1295
|
<div class="container">
|
|
1305
1296
|
<div class="section-label">Persistent Agent Skills</div>
|
|
1306
1297
|
<h2 class="section-title">Reusable instructions are the new baseline. Enforcement is the moat.</h2>
|
|
1307
|
-
<p style="text-align:center;font-size:16px;color:var(--text-muted);max-width:880px;margin:0 auto 28px;line-height:1.7;">
|
|
1298
|
+
<p style="text-align:center;font-size:16px;color:var(--text-muted);max-width:880px;margin:0 auto 28px;line-height:1.7;">Persistent agent skills create reusable instructions. ThumbGate adds a governed reliability layer: capture accepted feedback, export local lessons where the plan permits it, and inspect how a configured pre-action gate evaluated the next matching tool call before execution.</p>
|
|
1308
1299
|
<div class="agent-grid">
|
|
1309
1300
|
<div class="agent-card">
|
|
1310
1301
|
<h3>Portable skill memory</h3>
|
|
1311
|
-
<p>
|
|
1302
|
+
<p>Accepted lessons can supply reusable rule and skill-pack context. Moving that context between supported agents requires an explicit operator-managed export/import or a shared local install scope.</p>
|
|
1312
1303
|
</div>
|
|
1313
1304
|
<div class="agent-card">
|
|
1314
1305
|
<h3>Instructions plus teeth</h3>
|
|
1315
|
-
<p>Persistent skills tell an agent what you prefer. ThumbGate checks
|
|
1306
|
+
<p>Persistent skills tell an agent what you prefer. ThumbGate evaluates configured checks against the next proposed action and returns allow, warn, or deny before execution.</p>
|
|
1316
1307
|
</div>
|
|
1317
1308
|
<div class="agent-card">
|
|
1318
1309
|
<h3>Proof for teams</h3>
|
|
1319
|
-
<p>
|
|
1310
|
+
<p>Local gate results expose the matched rule and available decision context so operators can review what fired instead of relying only on hidden chatbot memory.</p>
|
|
1320
1311
|
</div>
|
|
1321
1312
|
</div>
|
|
1322
1313
|
</div>
|
|
@@ -1326,13 +1317,13 @@ __GA_BOOTSTRAP__
|
|
|
1326
1317
|
<section class="how-it-works" id="how-it-works">
|
|
1327
1318
|
<div class="container">
|
|
1328
1319
|
<div class="section-label">Self-improving enforcement</div>
|
|
1329
|
-
<h2 class="section-title">Three steps to
|
|
1330
|
-
<p class="section-sub" style="max-width:720px;margin:6px auto 22px;text-align:center;color:var(--text-muted);font-size:clamp(16px,1.6vw,18px);">Self-improving — but for safety, not capability:
|
|
1320
|
+
<h2 class="section-title">Three steps to catch repeated AI failures</h2>
|
|
1321
|
+
<p class="section-sub" style="max-width:720px;margin:6px auto 22px;text-align:center;color:var(--text-muted);font-size:clamp(16px,1.6vw,18px);">Self-improving — but for safety, not capability: human-in-the-loop accepted feedback becomes local lessons, recurring failures can become prevention rules, and regression tests help detect false-positive rule matches.</p>
|
|
1331
1322
|
<div class="steps">
|
|
1332
1323
|
<div class="step">
|
|
1333
1324
|
<div class="step-num">1</div>
|
|
1334
1325
|
<h3>Feedback</h3>
|
|
1335
|
-
<p>Give <code>👍</code> or <code>👎</code> on your AI agent's actions.
|
|
1326
|
+
<p>Give <code>👍</code> or a concrete <code>👎</code> on your AI agent's actions. Accepted feedback is stored in a local SQLite+FTS5 lesson DB. In the current Claude auto-capture hook, a vague thumbs-down can distill from up to 8 prior recorded entries and the failed tool call before promotion, then stay linked to a 60-second feedback session. Recurring accepted failures can auto-promote into a prevention rule.</p>
|
|
1336
1327
|
</div>
|
|
1337
1328
|
<div class="step">
|
|
1338
1329
|
<div class="step-num">2</div>
|
|
@@ -1342,7 +1333,7 @@ __GA_BOOTSTRAP__
|
|
|
1342
1333
|
<div class="step">
|
|
1343
1334
|
<div class="step-num">3</div>
|
|
1344
1335
|
<h3>Checks</h3>
|
|
1345
|
-
<p>Rules become Pre-Action Checks that
|
|
1336
|
+
<p>Rules become Pre-Action Checks that evaluate proposed tool calls before execution. Detected secret exfiltration and gate kill/bypass commands deny by default; matching force-push, destructive-delete, fetch-and-run, or learned checks warn unless strict enforcement turns them into denies.</p>
|
|
1346
1337
|
</div>
|
|
1347
1338
|
</div>
|
|
1348
1339
|
</div>
|
|
@@ -1353,23 +1344,23 @@ __GA_BOOTSTRAP__
|
|
|
1353
1344
|
<section class="compatibility" id="guardrails">
|
|
1354
1345
|
<div class="container">
|
|
1355
1346
|
<div class="section-label">Enforcement</div>
|
|
1356
|
-
<h2 class="section-title">
|
|
1347
|
+
<h2 class="section-title">Configured checks evaluate proposed tool calls before execution.</h2>
|
|
1357
1348
|
<div class="agent-grid">
|
|
1358
1349
|
<div class="agent-card">
|
|
1359
1350
|
<h3>Don't trust — verify</h3>
|
|
1360
|
-
<p>
|
|
1351
|
+
<p>Gate results report the decision, matched gate, and available reason or evidence context.</p>
|
|
1361
1352
|
</div>
|
|
1362
1353
|
<div class="agent-card">
|
|
1363
1354
|
<h3>Real tools, not wishes</h3>
|
|
1364
|
-
<p>
|
|
1355
|
+
<p>Configured checks run at the tool-call boundary. Detected secret exfiltration and gate kill/bypass commands deny by default; set <code>THUMBGATE_STRICT_ENFORCEMENT=1</code> to deny matching warning-mode checks.</p>
|
|
1365
1356
|
</div>
|
|
1366
1357
|
<div class="agent-card">
|
|
1367
1358
|
<h3>Force models to show work</h3>
|
|
1368
|
-
<p>
|
|
1359
|
+
<p>Decision reasons and Thompson Sampling confidence tiers are available where the evaluator produces them.</p>
|
|
1369
1360
|
</div>
|
|
1370
1361
|
<div class="agent-card">
|
|
1371
|
-
<h3>
|
|
1372
|
-
<p>
|
|
1362
|
+
<h3>Review decisions and recurring failures</h3>
|
|
1363
|
+
<p>Recurring accepted failures can auto-promote to checks. Pro includes a personal local dashboard; a hosted org dashboard is not generally available.</p>
|
|
1373
1364
|
</div>
|
|
1374
1365
|
<div class="agent-card">
|
|
1375
1366
|
<h3>Keep risky runs off the host</h3>
|
|
@@ -1394,12 +1385,12 @@ __GA_BOOTSTRAP__
|
|
|
1394
1385
|
<span>terminal</span>
|
|
1395
1386
|
</div>
|
|
1396
1387
|
<div class="code-body">
|
|
1397
|
-
<div><span class="comment"># Install
|
|
1388
|
+
<div><span class="comment"># Install the local CLI</span></div>
|
|
1398
1389
|
<div><span class="fn">npx</span> thumbgate init</div>
|
|
1399
1390
|
<div> </div>
|
|
1400
1391
|
<div><span class="comment"># Your agent tries to delete production db...</span></div>
|
|
1401
|
-
<div><span class="keyword"
|
|
1402
|
-
<div><span class="comment"># Rule
|
|
1392
|
+
<div><span class="keyword">⚠️ Check flagged:</span> <span class="string">"Never run DROP on production tables"</span> <span class="comment"># blocks under strict mode</span></div>
|
|
1393
|
+
<div><span class="comment"># Rule promoted from accepted recurring feedback</span></div>
|
|
1403
1394
|
<div> </div>
|
|
1404
1395
|
<div><span class="comment"># Works with your existing setup</span></div>
|
|
1405
1396
|
<div><span class="fn">npx</span> thumbgate init <span class="comment"># bootstraps .thumbgate and .mcp.json</span></div>
|
|
@@ -1483,15 +1474,15 @@ __GA_BOOTSTRAP__
|
|
|
1483
1474
|
</tr>
|
|
1484
1475
|
</thead>
|
|
1485
1476
|
<tbody>
|
|
1486
|
-
<tr><td style="padding:10px 14px;border-bottom:1px solid var(--border);">Local PreToolUse enforcement (
|
|
1487
|
-
<tr><td style="padding:10px 14px;border-bottom:1px solid var(--border);">Feedback captures</td><td style="text-align:center;border-bottom:1px solid var(--border);">2/day (10 total)</td><td style="text-align:center;border-bottom:1px solid var(--border);">Unlimited</td><td style="text-align:center;border-bottom:1px solid var(--border);">
|
|
1488
|
-
<tr><td style="padding:10px 14px;border-bottom:1px solid var(--border);">Active auto-promoted prevention rules</td><td style="text-align:center;border-bottom:1px solid var(--border);">3</td><td style="text-align:center;border-bottom:1px solid var(--border);">Unlimited</td><td style="text-align:center;border-bottom:1px solid var(--border);">
|
|
1489
|
-
<tr><td style="padding:10px 14px;border-bottom:1px solid var(--border);">Lesson recall + search across sessions</td><td style="text-align:center;border-bottom:1px solid var(--border);">—</td><td style="text-align:center;border-bottom:1px solid var(--border);">✅</td><td style="text-align:center;border-bottom:1px solid var(--border);"
|
|
1490
|
-
<tr><td style="padding:10px 14px;border-bottom:1px solid var(--border);">Personal dashboard + DPO export</td><td style="text-align:center;border-bottom:1px solid var(--border);">—</td><td style="text-align:center;border-bottom:1px solid var(--border);">✅</td><td style="text-align:center;border-bottom:1px solid var(--border);"
|
|
1491
|
-
<tr><td style="padding:10px 14px;border-bottom:1px solid var(--border);">Hosted
|
|
1492
|
-
<tr><td style="padding:10px 14px;border-bottom:1px solid var(--border);">
|
|
1493
|
-
<tr><td style="padding:10px 14px;border-bottom:1px solid var(--border);">
|
|
1494
|
-
<tr><td style="padding:10px 14px;border-bottom:1px solid var(--border);">
|
|
1477
|
+
<tr><td style="padding:10px 14px;border-bottom:1px solid var(--border);">Local PreToolUse enforcement (configured integrations)</td><td style="text-align:center;border-bottom:1px solid var(--border);">✅</td><td style="text-align:center;border-bottom:1px solid var(--border);">✅</td><td style="text-align:center;border-bottom:1px solid var(--border);">Scoped after intake</td></tr>
|
|
1478
|
+
<tr><td style="padding:10px 14px;border-bottom:1px solid var(--border);">Feedback captures</td><td style="text-align:center;border-bottom:1px solid var(--border);">2/day (10 total)</td><td style="text-align:center;border-bottom:1px solid var(--border);">Unlimited</td><td style="text-align:center;border-bottom:1px solid var(--border);">Scoped after intake</td></tr>
|
|
1479
|
+
<tr><td style="padding:10px 14px;border-bottom:1px solid var(--border);">Active auto-promoted prevention rules</td><td style="text-align:center;border-bottom:1px solid var(--border);">3</td><td style="text-align:center;border-bottom:1px solid var(--border);">Unlimited</td><td style="text-align:center;border-bottom:1px solid var(--border);">Scoped after intake</td></tr>
|
|
1480
|
+
<tr><td style="padding:10px 14px;border-bottom:1px solid var(--border);">Lesson recall + search across sessions</td><td style="text-align:center;border-bottom:1px solid var(--border);">—</td><td style="text-align:center;border-bottom:1px solid var(--border);">✅</td><td style="text-align:center;border-bottom:1px solid var(--border);">Scoped after intake</td></tr>
|
|
1481
|
+
<tr><td style="padding:10px 14px;border-bottom:1px solid var(--border);">Personal dashboard + DPO export</td><td style="text-align:center;border-bottom:1px solid var(--border);">—</td><td style="text-align:center;border-bottom:1px solid var(--border);">✅</td><td style="text-align:center;border-bottom:1px solid var(--border);">Scoped after intake</td></tr>
|
|
1482
|
+
<tr><td style="padding:10px 14px;border-bottom:1px solid var(--border);">Hosted team lesson sync</td><td style="text-align:center;border-bottom:1px solid var(--border);">—</td><td style="text-align:center;border-bottom:1px solid var(--border);">—</td><td style="text-align:center;border-bottom:1px solid var(--border);">Not GA</td></tr>
|
|
1483
|
+
<tr><td style="padding:10px 14px;border-bottom:1px solid var(--border);">Hosted org dashboard</td><td style="text-align:center;border-bottom:1px solid var(--border);">—</td><td style="text-align:center;border-bottom:1px solid var(--border);">—</td><td style="text-align:center;border-bottom:1px solid var(--border);">Not GA</td></tr>
|
|
1484
|
+
<tr><td style="padding:10px 14px;border-bottom:1px solid var(--border);">Approval boundaries + rollout design</td><td style="text-align:center;border-bottom:1px solid var(--border);">—</td><td style="text-align:center;border-bottom:1px solid var(--border);">—</td><td style="text-align:center;border-bottom:1px solid var(--border);">Scoped after intake</td></tr>
|
|
1485
|
+
<tr><td style="padding:10px 14px;border-bottom:1px solid var(--border);">SSO, SIEM + compliance packaging</td><td style="text-align:center;border-bottom:1px solid var(--border);">—</td><td style="text-align:center;border-bottom:1px solid var(--border);">—</td><td style="text-align:center;border-bottom:1px solid var(--border);">Not GA</td></tr>
|
|
1495
1486
|
<tr><td style="padding:10px 14px;color:var(--text-muted);">Best for</td><td style="text-align:center;color:var(--text-muted);">One developer</td><td style="text-align:center;color:var(--text-muted);">Solo operators</td><td style="text-align:center;color:var(--text-muted);">Teams & regulated orgs</td></tr>
|
|
1496
1487
|
</tbody>
|
|
1497
1488
|
</table>
|
|
@@ -1501,7 +1492,7 @@ __GA_BOOTSTRAP__
|
|
|
1501
1492
|
<div class="price-card free-highlight" style="border-color:var(--cyan);box-shadow:0 0 40px var(--cyan-dim), inset 0 1px 0 rgba(34,211,238,0.15);position:relative;">
|
|
1502
1493
|
<div class="tier" style="color:var(--cyan);">Free</div>
|
|
1503
1494
|
<div class="price">$0</div>
|
|
1504
|
-
<div class="price-sub">
|
|
1495
|
+
<div class="price-sub">Catch repeated mistakes daily. Forever free for solo devs.</div>
|
|
1505
1496
|
<p style="font-size:13px;color:#aaa;margin-bottom:16px;">2 captures/day, 3 active rules. Enough to see the value — upgrade when you need more.</p>
|
|
1506
1497
|
<ul>
|
|
1507
1498
|
<li><strong>2 feedback captures/day</strong> — 10 total on Free, then Pro for unlimited</li>
|
|
@@ -1509,7 +1500,7 @@ __GA_BOOTSTRAP__
|
|
|
1509
1500
|
<li>No recall or lesson search</li>
|
|
1510
1501
|
<li>No exports (DPO, Databricks, HuggingFace)</li>
|
|
1511
1502
|
<li>All MCP integrations (Claude Code, Cursor, Codex, Gemini, Amp, any MCP agent)</li>
|
|
1512
|
-
<li>PreToolUse hook
|
|
1503
|
+
<li>PreToolUse hook with built-in safety checks — hard-blocks secret exfiltration by default; warns on rm -rf, force-push, and destructive SQL (blocks them under <code>THUMBGATE_STRICT_ENFORCEMENT=1</code>)</li>
|
|
1513
1504
|
<li><a href="/guide" style="color:var(--cyan);text-decoration:underline;">Setup guide for all agents →</a></li>
|
|
1514
1505
|
</ul>
|
|
1515
1506
|
<div class="hero-install" onclick="copyInstall(this)" title="Click to copy" style="margin-bottom:12px;width:100%;justify-content:center;">
|
|
@@ -1522,21 +1513,21 @@ __GA_BOOTSTRAP__
|
|
|
1522
1513
|
<div class="price-card pro" data-price-dollars="19">
|
|
1523
1514
|
<div class="tier">Pro</div>
|
|
1524
1515
|
<div class="price">$19<span style="font-size:16px;color:var(--text-dim)">/mo</span></div>
|
|
1525
|
-
<div class="price-sub"><strong>
|
|
1516
|
+
<div class="price-sub"><strong>Individual local governance with higher limits.</strong> The free CLI runs configured gates locally. Pro removes the individual caps and adds the personal dashboard, recall, search, and exports. Hosted team lesson sync is not generally available.</div>
|
|
1526
1517
|
<ul>
|
|
1527
|
-
<li><strong>
|
|
1528
|
-
<li><strong>
|
|
1529
|
-
<li><strong>
|
|
1530
|
-
<li><strong>
|
|
1531
|
-
<li><strong>
|
|
1532
|
-
<li><strong>
|
|
1533
|
-
<li><strong>
|
|
1534
|
-
<li><strong>Hand a PR with proof</strong> —
|
|
1518
|
+
<li><strong>Higher local limits</strong> — unlimited feedback captures and active auto-promoted prevention rules (Free caps at 3 active rules)</li>
|
|
1519
|
+
<li><strong>Recall and search accepted lessons</strong> across sessions in the configured local scope</li>
|
|
1520
|
+
<li><strong>Inspect which check fired</strong> — <a href="/dashboard#insights" style="color:var(--cyan);text-decoration:underline;">personal visual check debugger</a> for available local gate history</li>
|
|
1521
|
+
<li><strong>Use supported integrations</strong> — configure Claude Code, Cursor, Codex, Gemini, Amp, Cline, or OpenCode through its documented setup path</li>
|
|
1522
|
+
<li><strong>Export training data</strong> — <a href="/dashboard#export" style="color:var(--cyan);text-decoration:underline;">DPO preference-pair export</a> for a separate fine-tuning workflow</li>
|
|
1523
|
+
<li><strong>Review local enforcement evidence</strong> — personal dashboard for the individual operator with available gate history</li>
|
|
1524
|
+
<li><strong>Prepare model-hardening data</strong> — Model Hardening Advisor plus HuggingFace dataset export for a separate training and evaluation workflow</li>
|
|
1525
|
+
<li><strong>Hand a PR with proof</strong> — review-ready workflow support and exportable lesson bundles</li>
|
|
1535
1526
|
<li><strong>Hand off without re-onboarding</strong> — Lesson export/import for handoff or migration</li>
|
|
1536
1527
|
</ul>
|
|
1537
1528
|
<div style="margin:12px 0 16px;padding:12px;border:1px solid rgba(34,211,238,0.25);border-radius:8px;background:rgba(34,211,238,0.06);">
|
|
1538
1529
|
<div style="font-size:12px;color:var(--text-muted);margin-bottom:4px;">What your Pro dashboard looks like</div>
|
|
1539
|
-
<div style="font-family:var(--mono);font-size:12px;color:var(--cyan);line-height:1.6;">checks:
|
|
1530
|
+
<div style="font-family:var(--mono);font-size:12px;color:var(--cyan);line-height:1.6;">checks: local gate history<br>feedback: unlimited<br>exports: DPO + lessons</div>
|
|
1540
1531
|
</div>
|
|
1541
1532
|
<div style="font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--cyan);font-weight:800;margin-bottom:8px;">PAY-NOW PRO</div>
|
|
1542
1533
|
<a href="/checkout/pro?utm_source=pricing&utm_medium=cta&utm_campaign=v2_landing&utm_content=pricing_pro&cta_id=pricing_pro_checkout&cta_placement=pricing&plan_id=pro&landing_path=%2F" id="pro-checkout-link" class="btn-pro" data-revenue-cta data-cta-id="pricing_pro_checkout" data-cta-placement="pricing" data-tier="pro" data-plan-id="pro" data-price="19" onclick="handleProCheckout();return false;" style="display:block;width:100%;text-align:center;padding:12px;font-size:15px;">Upgrade to Pro — $19/mo</a>
|
|
@@ -1558,9 +1549,9 @@ __GA_BOOTSTRAP__
|
|
|
1558
1549
|
<tbody>
|
|
1559
1550
|
<tr>
|
|
1560
1551
|
<td><strong>Best for</strong></td>
|
|
1561
|
-
<td>
|
|
1562
|
-
<td>One operator who wants
|
|
1563
|
-
<td>Teams & regulated
|
|
1552
|
+
<td>One developer evaluating local checks</td>
|
|
1553
|
+
<td>One operator who wants personal recall, dashboard proof, managed adapters, and exports</td>
|
|
1554
|
+
<td>Teams & regulated organizations scoping one governed workflow</td>
|
|
1564
1555
|
</tr>
|
|
1565
1556
|
<tr>
|
|
1566
1557
|
<td><strong>Price</strong></td>
|
|
@@ -1572,19 +1563,19 @@ __GA_BOOTSTRAP__
|
|
|
1572
1563
|
<td><strong>Feedback captures</strong></td>
|
|
1573
1564
|
<td>2/day, 10 total</td>
|
|
1574
1565
|
<td>Unlimited</td>
|
|
1575
|
-
<td>
|
|
1566
|
+
<td>Scoped after intake; hosted team sync is not GA</td>
|
|
1576
1567
|
</tr>
|
|
1577
1568
|
<tr>
|
|
1578
1569
|
<td><strong>Active prevention rules</strong></td>
|
|
1579
1570
|
<td>3 active rules</td>
|
|
1580
1571
|
<td>Unlimited personal rules</td>
|
|
1581
|
-
<td>
|
|
1572
|
+
<td>Approval boundaries and rollout requirements scoped after intake</td>
|
|
1582
1573
|
</tr>
|
|
1583
1574
|
<tr>
|
|
1584
1575
|
<td><strong>Dashboard and proof</strong></td>
|
|
1585
1576
|
<td>Local CLI evidence</td>
|
|
1586
1577
|
<td>Personal dashboard, check debugger, DPO/HF exports</td>
|
|
1587
|
-
<td>
|
|
1578
|
+
<td>Hosted org dashboard, SIEM, and compliance packaging are not GA</td>
|
|
1588
1579
|
</tr>
|
|
1589
1580
|
<tr>
|
|
1590
1581
|
<td><strong>How to start</strong></td>
|
|
@@ -1595,35 +1586,27 @@ __GA_BOOTSTRAP__
|
|
|
1595
1586
|
</tbody>
|
|
1596
1587
|
</table>
|
|
1597
1588
|
</div>
|
|
1598
|
-
<p class="pricing-note">Free
|
|
1589
|
+
<p class="pricing-note">Free provides capped local evaluation. Pro removes individual limits and adds recall, search, a personal dashboard, and exports. Enterprise starts through intake to scope one workflow; it does not imply generally available hosted team features.</p>
|
|
1599
1590
|
<div style="max-width:1080px;margin:24px auto 0;">
|
|
1600
1591
|
<div class="price-card enterprise" style="border:1px solid var(--cyan);background:linear-gradient(180deg, rgba(34,211,238,0.04), transparent);padding:24px 28px;">
|
|
1601
1592
|
<div style="display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px;justify-content:space-between;">
|
|
1602
1593
|
<div style="flex:1 1 420px;min-width:280px;">
|
|
1603
1594
|
<div class="tier" style="color:var(--cyan);">Enterprise</div>
|
|
1604
1595
|
<div style="font-size:14px;color:var(--text-muted);margin:4px 0 12px;letter-spacing:0.04em;text-transform:uppercase;">Engineering teams · Banking · Insurance · Healthcare · Public sector</div>
|
|
1605
|
-
<div style="font-size:18px;color:var(--text);margin-bottom:6px;font-weight:700;">
|
|
1606
|
-
<div class="price-sub" style="margin-bottom:14px;">
|
|
1596
|
+
<div style="font-size:18px;color:var(--text);margin-bottom:6px;font-weight:700;">Scope one governed workflow — custom pricing after intake</div>
|
|
1597
|
+
<div class="price-sub" style="margin-bottom:14px;">Enterprise is an intake-led service path for teams that need to define approval boundaries, rollback plans, evidence requirements, and rollout ownership around one workflow. The current public runtime remains local per configured operator; hosted team lesson sync and a hosted org dashboard are not generally available.</div>
|
|
1607
1598
|
<ul style="margin-bottom:0;">
|
|
1608
|
-
<li><strong>
|
|
1609
|
-
<li><strong>
|
|
1610
|
-
<li><strong>
|
|
1611
|
-
<li><strong>
|
|
1612
|
-
<li><strong>
|
|
1613
|
-
<li><strong>Self-managed deployment</strong> — air-gapped or VPC-hosted; no agent state leaves your boundary</li>
|
|
1614
|
-
<li><strong>Dialogflow CX fulfillment guard</strong> — ThumbGate's pre-action gate sits in front of your Dialogflow CX webhook fulfillment, in your own GCP tenant, so risky or repeat turns are blocked before they touch a database, CRM, or billing system (white-glove design-partner pilot)</li>
|
|
1615
|
-
<li><strong>Vertex AI / Gemini scoring, in-tenant</strong> — risk and planning scoring runs on Gemini via Vertex (<code>npx thumbgate setup-vertex</code>); no conversational data leaves your VPC</li>
|
|
1616
|
-
<li><strong>DORA / EU AI Act evidence packaging</strong> — machine-readable reports aligned to Article 6, 28, and high-risk provider monitoring obligations</li>
|
|
1617
|
-
<li><strong>SSO + role separation</strong> — operator, reviewer, and auditor roles enforced at the gate layer</li>
|
|
1618
|
-
<li><strong>Enterprise Data Chat</strong> — local ThumbGate data Q&A with Dialogflow CX / Vertex-ready governance; live cloud-agent claims require deployment evidence first</li>
|
|
1619
|
-
<li><strong>Workflow proof plan included</strong> — a scoped review that proves the boundary against one of your real repeated-failure cases before broader rollout</li>
|
|
1620
|
-
<li><strong>Quarterly red-team review</strong> — prompt-injection and policy-bypass exercises with written findings</li>
|
|
1599
|
+
<li><strong>One-workflow discovery</strong> — identify the repeated failure, runtime, owner, and decision boundary</li>
|
|
1600
|
+
<li><strong>Approval and rollback design</strong> — document who can approve, what evidence is required, and how the workflow recovers</li>
|
|
1601
|
+
<li><strong>Verification plan</strong> — define the local tests and proof required before a wider rollout claim</li>
|
|
1602
|
+
<li><strong>Deployment requirements</strong> — capture data-boundary, identity, hosting, and integration constraints before making delivery commitments</li>
|
|
1603
|
+
<li><strong>Current availability boundary</strong> — hosted team sync, a hosted org dashboard, SSO, SIEM, and compliance packaging are not general-availability features</li>
|
|
1621
1604
|
</ul>
|
|
1622
1605
|
</div>
|
|
1623
1606
|
<div style="flex:0 0 260px;min-width:240px;display:flex;flex-direction:column;gap:10px;">
|
|
1624
1607
|
<a href="/?tier=enterprise#workflow-sprint-intake" onclick="try{posthog.capture('enterprise_intake_click',{cta:'enterprise_contact_sales',placement:'pricing'})}catch(_){};sendFirstPartyTelemetry('enterprise_intake_started',{ctaId:'pricing_enterprise_intake',ctaPlacement:'pricing',planId:'enterprise'});" class="btn-team" style="display:block;text-align:center;background:var(--cyan);color:#06121a;font-weight:800;">Start enterprise intake →</a>
|
|
1625
1608
|
<a href="/learn/regulated-agent-execution-boundary" style="display:block;text-align:center;padding:10px 14px;font-size:13px;color:var(--cyan);border:1px solid var(--cyan);border-radius:8px;text-decoration:none;">Read the build-vs-buy thesis first</a>
|
|
1626
|
-
<p style="font-size:11px;color:var(--text-muted);margin:0;text-align:center;line-height:1.5;">Pricing
|
|
1609
|
+
<p style="font-size:11px;color:var(--text-muted);margin:0;text-align:center;line-height:1.5;">Pricing and deliverables are scoped after intake; no hosted-team capability is promised before verification.</p>
|
|
1627
1610
|
</div>
|
|
1628
1611
|
</div>
|
|
1629
1612
|
</div>
|
|
@@ -1635,14 +1618,14 @@ __GA_BOOTSTRAP__
|
|
|
1635
1618
|
<div class="container">
|
|
1636
1619
|
<div class="section-label">Enterprise Pilot</div>
|
|
1637
1620
|
<h2 class="section-title">Start the AI Agent Governance Sprint with one repeat failure</h2>
|
|
1638
|
-
<p style="color:var(--text-dim);max-width:
|
|
1621
|
+
<p style="color:var(--text-dim);max-width:760px;margin:0 auto 16px;">Start with one repo, one workflow owner, and one repeated failure. The intake scopes the evidence needed to determine whether ThumbGate fits that action boundary before any wider rollout claim.</p>
|
|
1639
1622
|
<div class="team-intake-panel">
|
|
1640
1623
|
<div class="team-intake-panel-head">
|
|
1641
1624
|
<div>
|
|
1642
1625
|
<h3>Tell us the workflow. Get a proof plan.</h3>
|
|
1643
|
-
<p>The highest-fit Enterprise buyer is already feeling one repeated failure. Send the workflow first so the next step is scoped around the real blocker instead of a blind checkout.</p>
|
|
1626
|
+
<p>The highest-fit Enterprise buyer is already feeling one repeated failure in a workflow where mistakes have real consequences. Send the workflow first so the next step is scoped around the real blocker instead of a blind checkout.</p>
|
|
1644
1627
|
</div>
|
|
1645
|
-
<span class="team-intake-badge">
|
|
1628
|
+
<span class="team-intake-badge">Scope-first intake</span>
|
|
1646
1629
|
</div>
|
|
1647
1630
|
<div class="team-intake-recovery" aria-label="Checkout recovery path for workflow sprint buyers">
|
|
1648
1631
|
<div>
|
|
@@ -1682,35 +1665,35 @@ __GA_BOOTSTRAP__
|
|
|
1682
1665
|
<div class="faq-list">
|
|
1683
1666
|
<div class="faq-item open">
|
|
1684
1667
|
<div class="faq-q" role="button" tabindex="0" aria-expanded="true" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">Does ThumbGate support model fine-tuning?</div>
|
|
1685
|
-
<div class="faq-a">
|
|
1668
|
+
<div class="faq-a">ThumbGate Pro includes a Model Hardening Advisor plus LoRA JSONL and DPO preference-pair exports for use in a separate fine-tuning workflow. An export does not guarantee that a trained model will avoid a mistake; that outcome depends on the dataset, training process, model, and evaluation.</div>
|
|
1686
1669
|
</div>
|
|
1687
1670
|
<div class="faq-item">
|
|
1688
1671
|
<div class="faq-q" role="button" tabindex="0" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">How is ThumbGate different from model-training feedback loops?</div>
|
|
1689
|
-
<div class="faq-a">ThumbGate's
|
|
1672
|
+
<div class="faq-a">ThumbGate's runtime keeps lessons and rules outside the model. A configured hook evaluates proposed tool calls before execution. Detected secret exfiltration plus commands that kill the gate process or enable its bypass variable deny by default; matching destructive deletes, force-pushes, and fetch-and-run commands warn by default. Strict mode (<code>THUMBGATE_STRICT_ENFORCEMENT=1</code>) turns matching warning-mode checks into denies.</div>
|
|
1690
1673
|
</div>
|
|
1691
1674
|
<div class="faq-item">
|
|
1692
1675
|
<div class="faq-q" role="button" tabindex="0" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">How is ThumbGate different from persistent agent skills?</div>
|
|
1693
|
-
<div class="faq-a">Persistent agent skills are reusable instructions. ThumbGate
|
|
1676
|
+
<div class="faq-a">Persistent agent skills are reusable instructions. ThumbGate adds a local enforcement loop: accepted feedback becomes lessons, recurring failures can become rules, and configured Pre-Action Checks return allow, warn, or deny before tool execution. Pro adds a personal dashboard and operator-managed exports; hosted team sync and a hosted org dashboard are not generally available.</div>
|
|
1694
1677
|
</div>
|
|
1695
1678
|
<div class="faq-item">
|
|
1696
1679
|
<div class="faq-q" role="button" tabindex="0" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">What's the tech stack?</div>
|
|
1697
|
-
<div class="faq-a">SQLite+FTS5 lesson DB for fast full-text search. MemAlign-inspired dual recall (principle-based rules + episodic context). Thompson Sampling for adaptive check sensitivity per failure domain. LanceDB + Apache Arrow for local vector search with Hugging Face embeddings. ContextFS for context assembly. Bayesian belief updates on each memory. PreToolUse
|
|
1680
|
+
<div class="faq-a">SQLite+FTS5 lesson DB for fast full-text search. MemAlign-inspired dual recall (principle-based rules + episodic context). Thompson Sampling for adaptive check sensitivity per failure domain. LanceDB + Apache Arrow for local vector search with Hugging Face embeddings. ContextFS for context assembly. Bayesian belief updates on each memory. Configured PreToolUse hooks evaluate known-bad actions before execution; detected secret exfiltration and gate kill/bypass commands deny by default, while strict mode also denies matching warning-mode checks. The local path requires no cloud account.</div>
|
|
1698
1681
|
</div>
|
|
1699
1682
|
<div class="faq-item">
|
|
1700
1683
|
<div class="faq-q" role="button" tabindex="0" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">What AI agents and editors does this work with?</div>
|
|
1701
|
-
<div class="faq-a">ThumbGate
|
|
1684
|
+
<div class="faq-a">ThumbGate includes documented integration paths for Claude Code, Cursor, Codex, Gemini CLI, Amp, Cline, and OpenCode. Each agent must be configured through its hook or MCP setup; MCP compatibility alone does not install enforcement automatically. The Cursor runtime setup is <code>npx thumbgate init --agent cursor</code>, while the in-app Marketplace listing remains separate. VS Code can host an MCP-compatible agent, but this repo does not ship a standalone VS Code extension.</div>
|
|
1702
1685
|
</div>
|
|
1703
1686
|
<div class="faq-item">
|
|
1704
1687
|
<div class="faq-q" role="button" tabindex="0" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">Do I have to chat inside the ThumbGate GPT for enforcement?</div>
|
|
1705
|
-
<div class="faq-a">No. The ThumbGate GPT is
|
|
1688
|
+
<div class="faq-a">No. The ThumbGate GPT is a ChatGPT entrypoint for checking proposed actions and getting setup help. Local allow, warn, or deny enforcement runs where the coding agent executes and requires <code>npx thumbgate init</code> plus the documented integration setup.</div>
|
|
1706
1689
|
</div>
|
|
1707
1690
|
<div class="faq-item">
|
|
1708
1691
|
<div class="faq-q" role="button" tabindex="0" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">When should I use Pro versus the Workflow Hardening Sprint?</div>
|
|
1709
|
-
<div class="faq-a">Start with the <a href="/guide" style="color:var(--cyan);text-decoration:underline;">setup guide</a> if you only need the local path. Choose Pro
|
|
1692
|
+
<div class="faq-a">Start with the <a href="/guide" style="color:var(--cyan);text-decoration:underline;">setup guide</a> if you only need the local path. Choose Pro when an individual operator wants higher limits, personal recall, a local dashboard, DPO export, and operator-managed lesson bundles. Choose the <a href="#workflow-sprint-intake" style="color:var(--cyan);text-decoration:underline;">Workflow Hardening Sprint</a> when one workflow owner needs to scope approval boundaries, rollback safety, and evidence requirements before a wider rollout claim.</div>
|
|
1710
1693
|
</div>
|
|
1711
1694
|
<div class="faq-item">
|
|
1712
1695
|
<button class="faq-q" type="button" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">How do we keep high-risk autonomous runs off the host?</button>
|
|
1713
|
-
<div class="faq-a">ThumbGate
|
|
1696
|
+
<div class="faq-a">ThumbGate combines pre-action checks with execution guidance. Workflow Sentinel can recommend Docker Sandboxes for risky local actions. The package also contains a signed sandbox-dispatch mechanism, but each deployment must configure and verify that isolation boundary; it is not hosted team lesson sync or a generally available hosted org service.</div>
|
|
1714
1697
|
</div>
|
|
1715
1698
|
<div class="faq-item">
|
|
1716
1699
|
<div class="faq-q" role="button" tabindex="0" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">How do we trust a new package release?</div>
|
|
@@ -1718,7 +1701,7 @@ __GA_BOOTSTRAP__
|
|
|
1718
1701
|
</div>
|
|
1719
1702
|
<div class="faq-item">
|
|
1720
1703
|
<div class="faq-q" role="button" tabindex="0" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">Do I need a cloud account?</div>
|
|
1721
|
-
<div class="faq-a">No. Free keeps local enforcement on your machine with 2 feedback captures/day, up to 3 active auto-promoted prevention rules, built-in
|
|
1704
|
+
<div class="faq-a">No. Free keeps local enforcement on your machine with 2 feedback captures/day, up to 3 active auto-promoted prevention rules, and built-in checks. Recall, lesson search, unlimited rules and captures, a personal dashboard, and operator-managed exports open up on Pro. Enterprise is custom and scoped after intake around one workflow. Hosted team lesson sync and a hosted org dashboard are not general-availability runtime features.</div>
|
|
1722
1705
|
</div>
|
|
1723
1706
|
<div class="faq-item">
|
|
1724
1707
|
<div class="faq-q" role="button" tabindex="0" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">What if my thumbs-down is vague?</div>
|
|
@@ -1726,23 +1709,23 @@ __GA_BOOTSTRAP__
|
|
|
1726
1709
|
</div>
|
|
1727
1710
|
<div class="faq-item">
|
|
1728
1711
|
<div class="faq-q" role="button" tabindex="0" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">How are pre-action checks different from prompt rules?</div>
|
|
1729
|
-
<div class="faq-a">Prompt rules are a starting point, not a finish line.
|
|
1712
|
+
<div class="faq-a">Prompt rules are a starting point, not a finish line. ThumbGate adds a human-feedback loop plus configured Pre-Action Checks at the tool-call boundary. The default policy denies detected secret exfiltration and gate kill/bypass commands while other matching high-risk checks warn; strict mode also denies matching warning-mode checks.</div>
|
|
1730
1713
|
</div>
|
|
1731
1714
|
<div class="faq-item">
|
|
1732
1715
|
<div class="faq-q" role="button" tabindex="0" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">How does ThumbGate fit the agentic development cycle?</div>
|
|
1733
|
-
<div class="faq-a">Agentic development is not just generation. Teams need Guide, Generate, Verify, and Solve working as a repeatable loop. ThumbGate
|
|
1716
|
+
<div class="faq-a">Agentic development is not just generation. Teams need Guide, Generate, Verify, and Solve working as a repeatable loop. ThumbGate can serve as the pre-action execution gate: guidance and accepted feedback can become rules, generated tool calls are evaluated before execution, rules can require verification evidence, and recurring solved failures can become reusable prevention gates.</div>
|
|
1734
1717
|
</div>
|
|
1735
1718
|
<div class="faq-item">
|
|
1736
1719
|
<div class="faq-q" role="button" tabindex="0" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">What does Pro cost?</div>
|
|
1737
|
-
<div class="faq-a">Pro is $19/mo or $149/yr for individual operators and bills
|
|
1720
|
+
<div class="faq-a">Pro is $19/mo or $149/yr for individual operators and bills through Stripe. Enterprise is custom pricing, scoped after intake around one workflow's approval boundaries, rollback plan, evidence requirements, and rollout support. Hosted team features are not implied by intake.</div>
|
|
1738
1721
|
</div>
|
|
1739
1722
|
<div class="faq-item">
|
|
1740
1723
|
<div class="faq-q" role="button" tabindex="0" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">Does ThumbGate support enterprise Google Cloud / Vertex AI?</div>
|
|
1741
|
-
<div class="faq-a">
|
|
1724
|
+
<div class="faq-a">The package ships a <code>npx thumbgate setup-vertex</code> setup helper for operators who choose the optional Vertex adapter. Whether evaluations stay within a particular VPC depends on the operator's Google Cloud configuration and must be verified in that deployment. Dialogflow CX governance is an intake-scoped integration requirement, not a generally available hosted deployment claim.</div>
|
|
1742
1725
|
</div>
|
|
1743
1726
|
<div class="faq-item">
|
|
1744
1727
|
<div class="faq-q" role="button" tabindex="0" aria-expanded="false" onclick="toggleFaq(this)" onkeydown="handleFaqKeydown(event)">How does ThumbGate contain enterprise API costs?</div>
|
|
1745
|
-
<div class="faq-a">
|
|
1728
|
+
<div class="faq-a">FrontierBudget provides a local client-side token ledger and configurable routing or cost-containment limits. Reported token savings are estimates based on configured assumptions, not provider-billing measurements or a spend guarantee; verify actual costs in the provider's billing telemetry.</div>
|
|
1746
1729
|
</div>
|
|
1747
1730
|
</div>
|
|
1748
1731
|
</div>
|
|
@@ -1766,7 +1749,7 @@ __GA_BOOTSTRAP__
|
|
|
1766
1749
|
<section class="final-cta">
|
|
1767
1750
|
<div class="container">
|
|
1768
1751
|
<h2>Stop the same mistake before it runs again.</h2>
|
|
1769
|
-
<p>Install
|
|
1752
|
+
<p>Install the local CLI without a credit card or account, then configure the integration for your agent.</p>
|
|
1770
1753
|
<div style="display:flex;gap:12px;justify-content:center;flex-wrap:wrap;align-items:center;">
|
|
1771
1754
|
<div class="hero-install" onclick="copyInstall(this)" title="Click to copy" style="margin-bottom:0;font-size:16px;padding:14px 24px;border:2px solid var(--cyan);">
|
|
1772
1755
|
<span class="prompt">$</span>
|
|
@@ -1790,17 +1773,16 @@ __GA_BOOTSTRAP__
|
|
|
1790
1773
|
<a href="https://github.com/IgorGanapolsky/ThumbGate" target="_blank" rel="noopener">GitHub</a>
|
|
1791
1774
|
<a href="https://www.npmjs.com/package/thumbgate" target="_blank" rel="noopener">npm</a>
|
|
1792
1775
|
<a href="https://www.producthunt.com/products/thumbgate" target="_blank" rel="noopener">Product Hunt</a>
|
|
1793
|
-
<a href="https://x.com/IgorGanapolsky" target="_blank" rel="noopener">X / Twitter</a>
|
|
1794
1776
|
<a href="https://www.linkedin.com/in/igorganapolsky" target="_blank" rel="noopener">LinkedIn</a>
|
|
1795
1777
|
<a href="/blog">Blog</a>
|
|
1796
1778
|
</div>
|
|
1797
|
-
<span class="footer-copy">© 2026 ThumbGate · MIT License · npm v1.
|
|
1779
|
+
<span class="footer-copy">© 2026 ThumbGate · MIT License · npm v1.28.1</span>
|
|
1798
1780
|
</div>
|
|
1799
1781
|
</footer>
|
|
1800
1782
|
|
|
1801
1783
|
<!-- STICKY BOTTOM CTA -->
|
|
1802
1784
|
<div class="sticky-cta" id="sticky-cta">
|
|
1803
|
-
<span class="sticky-cta-text"><strong>Pro unlocks recall,
|
|
1785
|
+
<span class="sticky-cta-text"><strong>Pro unlocks recall, proof, exports</strong> — free CLI is capped at 2 captures/day</span>
|
|
1804
1786
|
<div class="hero-install" onclick="copyInstall(this)" title="Click to copy" style="margin-bottom:0;padding:8px 16px;font-size:13px;">
|
|
1805
1787
|
<span class="prompt">$</span>
|
|
1806
1788
|
<span class="cmd">npx thumbgate init</span>
|