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/README.md
CHANGED
|
@@ -8,27 +8,27 @@
|
|
|
8
8
|
|
|
9
9
|
**AI coding agents repeat mistakes — and one wrong tool call can wipe a directory, leak a key, or push broken code.**
|
|
10
10
|
|
|
11
|
-
ThumbGate is the local-first
|
|
11
|
+
ThumbGate is the local-first Pre-Action Checks engine for AI coding agents. It runs in the PreToolUse hook on your machine: it evaluates a proposed tool call and logs the decision before tool execution. It **hard-blocks detected secret leaks and two direct self-disable command classes by default** — commands that terminate the ThumbGate gate process or enable its bypass environment override. Other high-risk classes, including destructive deletes (`rm -rf`), force-push, fetch-and-run, direct guardrail-file edits, off-scope edits, and deploys, **warn and log by default**. Set `THUMBGATE_STRICT_ENFORCEMENT=1` to preserve deny decisions for every matched blocking rule. Works across configured Claude Code, Cursor, Codex, Gemini, Amp, Cline, and OpenCode integrations. No server is required on the local enforcement path. (Regulated-industry policy templates are roadmap directions, not shipped compliance claims.)
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Accepted feedback is stored as local lessons. Repeated concrete failures can become prevention rules that flag or block matching tool calls according to policy.
|
|
14
14
|
|
|
15
15
|
<p align="center">
|
|
16
|
-
<img src="docs/media/thumbgate-demo.gif" alt="ThumbGate
|
|
16
|
+
<img src="docs/media/thumbgate-demo.gif" alt="ThumbGate gating an AI agent's dangerous commands (rm -rf, force-push, chmod 777) in real time — flagging them by default and hard-blocking under strict mode, while letting safe commands through" width="820" />
|
|
17
17
|
</p>
|
|
18
18
|
|
|
19
19
|
```
|
|
20
20
|
Agent tries: rm -rf tests/
|
|
21
|
-
ThumbGate:
|
|
21
|
+
ThumbGate: ⚠️ WARN + LOG — "Never delete test directories"
|
|
22
22
|
Pattern matched: rm.*-rf.*tests
|
|
23
23
|
Source: your thumbs-down from last Tuesday
|
|
24
|
-
|
|
24
|
+
Strict mode: DENY before tool execution
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
|
-
npx thumbgate init # auto-detects
|
|
28
|
+
npx thumbgate init # auto-detects the supported agent and wires its integration
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
Works with **Claude Code, Cursor, Codex, Gemini CLI, Amp, Cline, OpenCode** and
|
|
31
|
+
Works with **Claude Code, Cursor, Codex, Gemini CLI, Amp, Cline, OpenCode** and MCP-compatible agents after their integration is configured. Free tier: 2 feedback captures/day (10 total) and up to 3 active auto-promoted prevention rules. [Pro: $19/mo or $149/yr](https://thumbgate.ai/checkout/pro?utm_source=github&utm_medium=readme) is the individual tier for unlimited rules, history-aware lessons, feedback sessions, a personal dashboard, and DPO export. Enterprise is custom and scoped after intake; hosted team sync and a hosted org dashboard are not in the current general-availability runtime.
|
|
32
32
|
|
|
33
33
|
[](https://github.com/IgorGanapolsky/ThumbGate/actions/workflows/ci.yml)
|
|
34
34
|
[](https://www.npmjs.com/package/thumbgate)
|
|
@@ -40,18 +40,18 @@ Works with **Claude Code, Cursor, Codex, Gemini CLI, Amp, Cline, OpenCode** and
|
|
|
40
40
|
>
|
|
41
41
|
> — **Rob May**, CEO & co-founder, Neurometric AI, quoted in [The New Stack](https://thenewstack.io/claude-code-agent-view/) on Anthropic's Claude Code Agent View (May 2026).
|
|
42
42
|
>
|
|
43
|
-
> ThumbGate is
|
|
43
|
+
> ThumbGate is our open-source attempt at that trust problem: inspectable PreToolUse decisions, accepted feedback captured as lessons, and recurring failures promoted into reviewable rules.
|
|
44
44
|
|
|
45
45
|
---
|
|
46
46
|
|
|
47
47
|
## Agentic development cycle fit
|
|
48
48
|
|
|
49
|
-
Agentic development is becoming a loop: **Guide → Generate → Verify → Solve**. ThumbGate
|
|
49
|
+
Agentic development is becoming a loop: **Guide → Generate → Verify → Solve**. ThumbGate adds a pre-action decision point before tool execution.
|
|
50
50
|
|
|
51
51
|
- **Guide:** standards, prior thumbs-downs, and approval policies become concrete context.
|
|
52
52
|
- **Generate:** Claude Code, Cursor, Codex, Gemini, Amp, Cline, OpenCode, and MCP agents keep producing plans and tool calls.
|
|
53
53
|
- **Verify:** risky actions need evidence before execution, not just after PR review.
|
|
54
|
-
- **Solve:**
|
|
54
|
+
- **Solve:** flagged or denied failures can become reusable lessons, prevention rules, DPO exports, and audit events.
|
|
55
55
|
|
|
56
56
|
In that stack, ThumbGate is the pre-action gate between generated intent and executed action.
|
|
57
57
|
|
|
@@ -59,7 +59,7 @@ In that stack, ThumbGate is the pre-action gate between generated intent and exe
|
|
|
59
59
|
|
|
60
60
|
## Discoverable slash-commands — the guardrail layer for spec-driven agents
|
|
61
61
|
|
|
62
|
-
Spec-driven agent frameworks like **GSD** (get-shit-done) and **GitHub Spec Kit** are great at *planning and generating* work — they expose dozens of discoverable `/gsd-*` / `/specify` commands in the agent command palette. ThumbGate is the **guardrail layer for spec-driven agents**: it sits *after* the plan, on the boundary between a generated tool call and its execution. It works **alongside GSD / Spec-Kit, not instead of them** — they decide *what* to build; ThumbGate
|
|
62
|
+
Spec-driven agent frameworks like **GSD** (get-shit-done) and **GitHub Spec Kit** are great at *planning and generating* work — they expose dozens of discoverable `/gsd-*` / `/specify` commands in the agent command palette. ThumbGate is the **guardrail layer for spec-driven agents**: it sits *after* the plan, on the boundary between a generated tool call and its execution. It works **alongside GSD / Spec-Kit, not instead of them** — they decide *what* to build; configured ThumbGate policies evaluate the proposed actions used to build it.
|
|
63
63
|
|
|
64
64
|
`npx thumbgate init` installs these commands into your agent's palette (`.claude/commands/`, `.gemini/commands/`, `.antigravitycli/commands/`) so the enforcement layer is as browsable as the planning layer:
|
|
65
65
|
|
|
@@ -77,7 +77,7 @@ Each is a thin wrapper over an existing MCP tool or CLI command — **no new enf
|
|
|
77
77
|
|
|
78
78
|
## 🎬 90-second demo
|
|
79
79
|
|
|
80
|
-
Watch the force-push scenario: agent
|
|
80
|
+
Watch the force-push scenario: an agent proposes `git push --force`, the matching rule is flagged and logged by default, and the tool call is denied when you run with `THUMBGATE_STRICT_ENFORCEMENT=1`.
|
|
81
81
|
|
|
82
82
|
[**▶ Watch the 90-second demo**](https://thumbgate.ai/#demo?utm_source=github&utm_medium=readme&utm_campaign=demo_video) · [Script](docs/marketing/demo-video-script.md) · [ElevenLabs narration: `npm run demo:voiceover`](scripts/generate-demo-voiceover.js)
|
|
83
83
|
|
|
@@ -92,48 +92,37 @@ If someone is not already bought into ThumbGate, do not lead with architecture.
|
|
|
92
92
|
1. **Show the pain:** open the **[ThumbGate GPT](https://thumbgate.ai/go/gpt?utm_source=github&utm_medium=readme&utm_campaign=first_dollar_activation&cta_id=readme_first_dollar_open_gpt&cta_placement=readme_first_dollar)** and paste the bad answer, risky command, deploy, PR action, or agent plan before it runs again.
|
|
93
93
|
2. **Capture the lesson:** type `thumbs down:` or `thumbs up:` with one concrete sentence. Native ChatGPT rating buttons are not the ThumbGate capture path; typed feedback is.
|
|
94
94
|
3. **Enforce the repeat:** run `npx thumbgate init` where the agent executes so the lesson can become one of your Pre-Action Checks instead of another reminder.
|
|
95
|
-
4. **Upgrade only after proof:** Solo Pro is for the dashboard, DPO export,
|
|
95
|
+
4. **Upgrade only after proof:** Solo Pro is for the dashboard, DPO export, reviewable evidence, and higher capture limits after one real caught repeat. Enterprise starts with the Workflow Hardening Sprint around one repeated failure, one owner, and one proof review.
|
|
96
96
|
|
|
97
|
-
The buying question is simple: **what repeated AI mistake would be worth
|
|
97
|
+
The buying question is simple: **what repeated AI mistake would be worth catching before the tool executes?**
|
|
98
98
|
|
|
99
99
|
---
|
|
100
100
|
|
|
101
|
-
##
|
|
101
|
+
## Ideal customer
|
|
102
102
|
|
|
103
|
-
|
|
103
|
+
The first high-value customer is an enterprise engineering, security, or platform leader whose team already uses AI coding agents in high-blast-radius workflows: finance, healthcare, insurance, public sector, critical infrastructure, manufacturing, or any audited software-delivery environment.
|
|
104
104
|
|
|
105
|
-
-
|
|
106
|
-
- retries the same failing tool call until it gives up,
|
|
107
|
-
- regenerates a 4,000-token plan you already approved last session,
|
|
108
|
-
- repeats a destructive command you blocked manually yesterday,
|
|
105
|
+
The pain is security and operational risk; the buying context is enterprise AI-agent governance. ThumbGate owns the enforcement boundary: known-bad agent actions are flagged or blocked before shell, repo, CI/CD, SaaS, or cloud tool calls execute.
|
|
109
106
|
|
|
110
|
-
|
|
107
|
+
For partners building detection or coordination layers, ThumbGate is the downstream enforcement surface. Detection systems identify drift, stale shared reality, or risky workflow intent; ThumbGate turns the approved finding into a PreToolUse prevention rule with auditable execution evidence.
|
|
111
108
|
|
|
112
|
-
|
|
113
|
-
Session 1: Agent force-pushes to main. You fix it. +4,200 tokens
|
|
114
|
-
Session 2: Agent force-pushes again. You fix it. +4,200 tokens
|
|
115
|
-
Session 3: Same mistake. Again. You lose 45m. +5,800 tokens
|
|
116
|
-
```
|
|
109
|
+
---
|
|
117
110
|
|
|
118
|
-
|
|
111
|
+
## The Problem — repeated failures consume model, tool, and review time
|
|
119
112
|
|
|
120
|
-
|
|
113
|
+
When an agent repeats a failed action, the cost is not just the model call. It is also the attempted tool action, diagnosis, remediation, and review. ThumbGate records concrete corrections so recurring failures can become explicit checks instead of relying on the model to remember a prior session.
|
|
121
114
|
|
|
122
|
-
|
|
123
|
-
Session 1: Agent force-pushes to main. You 👎 it. +4,200 tokens
|
|
124
|
-
Session 2: ⛔ Check blocks the force-push. Zero round-trip. +0 tokens
|
|
125
|
-
Session 3+: Never happens again. +0 tokens
|
|
126
|
-
```
|
|
115
|
+
## The Solution — evaluate the proposed tool call before execution
|
|
127
116
|
|
|
128
|
-
|
|
117
|
+
`PreToolUse` runs **after the model has proposed a tool call and before the tool executes**. ThumbGate therefore does not claim that a gate decision makes the model generation free. A denial can avoid downstream execution and remediation, while a warning gives the agent another chance to choose a safer plan.
|
|
129
118
|
|
|
130
|
-
|
|
119
|
+
The dashboard's token and dollar savings values are **estimates**, derived from recorded block counts and documented token/price assumptions. They are not measured provider usage or a guarantee of savings. Mark a review checkpoint once, and the dashboard narrows the next pass to the feedback, lessons, and check decisions added since the last review.
|
|
131
120
|
|
|
132
121
|
---
|
|
133
122
|
|
|
134
123
|
## 🧠 The Context Brain
|
|
135
124
|
|
|
136
|
-
|
|
125
|
+
Coding-agent sessions do not automatically inherit ThumbGate's prior local lessons, rejected fixes, or repo rules. Without configured context and hooks, a later session can repeat a previously corrected failure.
|
|
137
126
|
|
|
138
127
|
ThumbGate gives your repo a **context brain**: a single, versioned, agent-readable artifact that consolidates everything the agent should know *before it acts* — the lessons it has learned, the guardrails it must not cross, the gates that are enforced, and the project's own instruction files.
|
|
139
128
|
|
|
@@ -141,7 +130,7 @@ ThumbGate gives your repo a **context brain**: a single, versioned, agent-readab
|
|
|
141
130
|
npx thumbgate brain --write # → .thumbgate/BRAIN.md
|
|
142
131
|
```
|
|
143
132
|
|
|
144
|
-
Then point
|
|
133
|
+
Then point each agent at it — add `Read .thumbgate/BRAIN.md first` to the relevant `CLAUDE.md` / `AGENTS.md` integration. Sessions that honor that instruction can load the repo's institutional memory. The generated output is deterministic for the same inputs, so `BRAIN.md` can be reviewed like any other file.
|
|
145
134
|
|
|
146
135
|
```
|
|
147
136
|
# ThumbGate Context Brain
|
|
@@ -150,7 +139,7 @@ Then point your agent at it — add `Read .thumbgate/BRAIN.md first` to your `CL
|
|
|
150
139
|
## Guardrails — do NOT repeat these (prevention rules)
|
|
151
140
|
- Never run DROP on production tables
|
|
152
141
|
## Active enforcement (gates)
|
|
153
|
-
- `DROP.*production` → block
|
|
142
|
+
- `DROP.*production` → warn + log (hard-block under strict enforcement)
|
|
154
143
|
```
|
|
155
144
|
|
|
156
145
|
Same idea the SEO world is now calling a *"client brain"* — persistent context that AI reads before doing the work — applied to **engineering**: the institutional memory that stops your coding agent from relearning the same lesson on your dime.
|
|
@@ -160,16 +149,16 @@ Same idea the SEO world is now calling a *"client brain"* — persistent context
|
|
|
160
149
|
## Quick Start
|
|
161
150
|
|
|
162
151
|
```bash
|
|
163
|
-
npx thumbgate init #
|
|
152
|
+
npx thumbgate init # initializes local state; use --agent for an explicit integration
|
|
164
153
|
npx thumbgate capture down "Never run DROP on production tables"
|
|
165
154
|
```
|
|
166
155
|
|
|
167
|
-
That
|
|
156
|
+
That command stores a concrete negative lesson and applies promotion rules. If the pattern becomes an active prevention rule, configured agents in the same install scope can evaluate a later `DROP` attempt:
|
|
168
157
|
|
|
169
158
|
```
|
|
170
|
-
|
|
159
|
+
⚠️ Check fired: "Never run DROP on production tables"
|
|
171
160
|
Pattern: DROP.*production
|
|
172
|
-
Verdict: BLOCK
|
|
161
|
+
Verdict: WARN + LOG (BLOCK when THUMBGATE_STRICT_ENFORCEMENT=1)
|
|
173
162
|
```
|
|
174
163
|
|
|
175
164
|
---
|
|
@@ -181,31 +170,31 @@ ThumbGate operates as a 4-layer enforcement stack between your AI agent and your
|
|
|
181
170
|

|
|
182
171
|
|
|
183
172
|
### Layer 1: Feedback Capture
|
|
184
|
-
|
|
173
|
+
Concrete thumbs-up/down feedback can be captured through the MCP protocol, CLI, or a configured GPT Action. Accepted feedback is stored as a structured local lesson with the available context, timestamp, and severity.
|
|
185
174
|
|
|
186
175
|
### Layer 2: Check Engine
|
|
187
|
-
The check engine
|
|
176
|
+
The check engine can promote qualifying recurring lessons into rules. **The runtime gate decision is deterministic** — literal pattern match → AST match → scoped rule lookup. No LLM call runs on the enforcement path.
|
|
188
177
|
|
|
189
|
-
Where retrieval is needed (an agent is about to run a destructive command not on the literal block list, but semantically similar to
|
|
178
|
+
Where retrieval is needed (an agent is about to run a destructive command not on the literal block list, but semantically similar to a prior rule), ThumbGate uses local CPU-only `bge-small` embeddings via LanceDB's built-in pipeline. That path makes no external inference API call. So **"no LLM in enforcement"** holds: the gate decision uses no LLM; the rule corpus is searchable via local embeddings.
|
|
190
179
|
|
|
191
|
-
**Thompson Sampling tunes per-rule confidence weights** for soft-gating rules so high-noise rules quiet down and high-signal rules sharpen. It
|
|
180
|
+
**Thompson Sampling tunes per-rule confidence weights** for soft-gating rules so high-noise rules quiet down and high-signal rules sharpen. It does not decide whether a hard pattern matches. A force-push pattern match is deterministic, while the public runtime warns by default and denies the matching action under strict enforcement.
|
|
192
181
|
|
|
193
182
|
Rules stay in local ThumbGate runtime state.
|
|
194
183
|
|
|
195
184
|
### Layer 3: Pre-Action Interception
|
|
196
|
-
|
|
185
|
+
For agents wired to the hook, ThumbGate evaluates each proposed tool call against active checks before tool execution and records the resulting decision. Detected secret leaks and the self-protect process-kill/environment-override gates deny by default. Direct guardrail-file edits, `rm -rf`, force-push, and fetch-and-run warn and log by default; strict mode preserves matched deny decisions.
|
|
197
186
|
|
|
198
|
-
### Layer 4: Multi-Agent Distribution (
|
|
187
|
+
### Layer 4: Multi-Agent Distribution (why not a hand-rolled hook?)
|
|
199
188
|
Claude Code already ships `permissions.deny` and `PreToolUse` hooks. Cursor and Codex have their own. So why ThumbGate over a hand-written hook?
|
|
200
189
|
|
|
201
190
|
Two things hand-written hooks structurally cannot do:
|
|
202
191
|
|
|
203
|
-
1. **Cross-agent
|
|
204
|
-
2. **Learning loop.** A hand-written hook covers exactly the patterns you wrote. ThumbGate
|
|
192
|
+
1. **Cross-agent reuse.** A `permissions.deny` pattern lives in one agent's config and stays there. ThumbGate integrations configured to use the same local install scope can read the same lesson and rule store across Claude Code, Codex, Gemini CLI, Cline, OpenCode, and Amp.
|
|
193
|
+
2. **Learning loop.** A hand-written hook covers exactly the patterns you wrote. ThumbGate can promote qualifying recurring failures into rules, tune soft-rule confidence weights from outcomes (Thompson Sampling, see Layer 2), and retrieve semantically near patterns with local embeddings.
|
|
205
194
|
|
|
206
|
-
Hand-rolled hooks are the right tool for a small, static denylist you maintain by hand. ThumbGate is
|
|
195
|
+
Hand-rolled hooks are the right tool for a small, static denylist you maintain by hand. ThumbGate is useful when configured agent integrations should evaluate the same local lessons and rules.
|
|
207
196
|
|
|
208
|
-
Prompt engineering still matters, but it is only the starting point. ThumbGate adds prompt evaluation on top: proof lanes, benchmarks, and self-heal checks
|
|
197
|
+
Prompt engineering still matters, but it is only the starting point. ThumbGate adds prompt evaluation on top: proof lanes, benchmarks, and self-heal checks produce reviewable evidence about whether a prompt and workflow held up under execution. Run `npx thumbgate eval --from-feedback --write-report=.thumbgate/prompt-eval-proof.md` to turn accepted thumbs-up/down feedback into reusable eval cases and a local proof report.
|
|
209
198
|
|
|
210
199
|
### Retrieval & latency: local-first, zero network hops
|
|
211
200
|
|
|
@@ -217,15 +206,16 @@ flowchart LR
|
|
|
217
206
|
B -- "exact match" --> D["Deterministic gate decision<br/>(no model, on-device)"]
|
|
218
207
|
B -- "no exact match, but<br/>semantically near a<br/>blocked pattern" --> C["Local CPU embeddings<br/>bge-small via LanceDB<br/>(no external API)"]
|
|
219
208
|
C --> D
|
|
220
|
-
D -- "
|
|
209
|
+
D -- "secret exfil / self-protect" --> E["⛔ Hard-block before execution"]
|
|
210
|
+
D -- "other known-bad" --> G["⚠️ Warn + log<br/>(hard-block under strict)"]
|
|
221
211
|
D -- "safe" --> F["✓ Allow"]
|
|
222
212
|
```
|
|
223
213
|
|
|
224
|
-
- **Deterministic first.** Most decisions are a literal or AST pattern match against
|
|
214
|
+
- **Deterministic first.** Most decisions are a local literal or AST pattern match against active rules and do not require embeddings.
|
|
225
215
|
- **Local semantic fallback.** When an action isn't on the literal block list but is semantically near one you've blocked before, ThumbGate searches the rule corpus with CPU-only `bge-small` embeddings via LanceDB — still local, still no external API call.
|
|
226
|
-
- **No LLM on the enforcement path.** The gate never calls a model to decide
|
|
216
|
+
- **No LLM on the enforcement path.** The gate never calls a model to decide allow, warn, or deny. Thompson Sampling only tunes soft-rule confidence weights; hard-pattern matching remains deterministic, and the enforcement posture determines whether a match warns or denies (see Layer 2).
|
|
227
217
|
|
|
228
|
-
The
|
|
218
|
+
The enforcement decision is local: there is no cloud retrieval or model-inference hop on that path. Measure end-to-end latency in your own agent and machine configuration.
|
|
229
219
|
|
|
230
220
|
### Managed model benchmark lane
|
|
231
221
|
|
|
@@ -263,6 +253,7 @@ Each recommendation ships with the benchmark commands to run next: feedback-deri
|
|
|
263
253
|
| **Gemini CLI** | `npx thumbgate init --agent gemini` |
|
|
264
254
|
| **Amp** | `npx thumbgate init --agent amp` |
|
|
265
255
|
| **Cline** (Roo Code successor) | `npx thumbgate init --agent cline` |
|
|
256
|
+
| **OpenCode** | `npx thumbgate init --agent opencode` |
|
|
266
257
|
| **Claude Desktop** | [Download extension bundle](https://github.com/IgorGanapolsky/ThumbGate/releases/latest/download/thumbgate-claude-desktop.mcpb) |
|
|
267
258
|
| **Any MCP agent** | `npx thumbgate serve` |
|
|
268
259
|
|
|
@@ -274,7 +265,7 @@ ThumbGate supports two install scopes. Pick once when you install — you can sw
|
|
|
274
265
|
|
|
275
266
|
| Scope | Command | Settings file | Lesson DB + dashboard live in | When to use |
|
|
276
267
|
|-------|---------|---------------|--------------------------------|-------------|
|
|
277
|
-
| **Machine-wide** (default) | `npx thumbgate init` | `~/.claude/settings.json` | `~/.claude/memory/feedback/` | Solo
|
|
268
|
+
| **Machine-wide** (default) | `npx thumbgate init` | `~/.claude/settings.json` | `~/.claude/memory/feedback/` | Solo operator — configured repos can use the same machine-local feedback store. Matching actions are evaluated according to the active policy; cross-repo blocking is not automatic without the relevant integration and rule. |
|
|
278
269
|
| **Per-project** | `npx thumbgate init --project` (in the repo root) | `<repo>/.claude/settings.json` | `<repo>/.claude/memory/feedback/` | Client work, compliance, or multi-tenant — **separate dashboard per repo**, lessons stay isolated, audit trail belongs to the repo. |
|
|
279
270
|
|
|
280
271
|
Both scopes write `mcpServers.thumbgate` + the PreToolUse / UserPromptSubmit / PostToolUse / SessionStart hooks; the only difference is *where*. Machine-wide is the right default for most developers. Switch to `--project` only when you have a reason to keep lessons from bleeding between repos.
|
|
@@ -316,21 +307,22 @@ ChatGPT is the advice, checkpointing, and typed-feedback surface; ThumbGate's ha
|
|
|
316
307
|
|
|
317
308
|
You react ThumbGate learns The check holds
|
|
318
309
|
|
|
319
|
-
👎 on a bad ──►
|
|
320
|
-
agent action a
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
310
|
+
👎 on a bad ──► Accepted feedback ──► A recurring failure
|
|
311
|
+
agent action becomes a lesson can become a rule:
|
|
312
|
+
👍 on a good ──► Good pattern gets 🚦 flagged + logged
|
|
313
|
+
agent action reinforced (hard-blocked for
|
|
314
|
+
secret exfil / strict
|
|
315
|
+
mode, or ✅ allowed)
|
|
324
316
|
```
|
|
325
317
|
|
|
326
|
-
|
|
318
|
+
Concrete feedback can reduce manual rule-writing while keeping the resulting lessons and rules inspectable.
|
|
327
319
|
|
|
328
320
|
---
|
|
329
321
|
|
|
330
322
|
ThumbGate sells three concrete outcomes:
|
|
331
323
|
|
|
332
324
|
- **Prevent expensive AI mistakes** — catch bad commands, destructive database actions, unsafe publishes, and risky API calls before they run.
|
|
333
|
-
- **
|
|
325
|
+
- **Catch repeated AI mistakes** — turn recurring failures into rules that warn and log by default, hard-block detected secret leaks and direct self-disable commands, and deny matched blocking rules under strict enforcement.
|
|
334
326
|
- **Turn AI into a reliable operator** — move from a smart assistant that apologizes after damage to a production-ready operator with checkpoints, proof, and enforcement.
|
|
335
327
|
- **Measure prompts instead of rewriting them blindly** — use `thumbgate eval --from-feedback`, proof lanes, ThumbGate Bench, and `self-heal:check` to evaluate whether prompts and workflows actually improved behavior.
|
|
336
328
|
|
|
@@ -339,31 +331,41 @@ ThumbGate sells three concrete outcomes:
|
|
|
339
331
|
## Use Cases
|
|
340
332
|
|
|
341
333
|
### Developer Workflows
|
|
342
|
-
- **
|
|
343
|
-
- **
|
|
344
|
-
- **
|
|
345
|
-
- **
|
|
346
|
-
- **
|
|
347
|
-
- **
|
|
334
|
+
- **Catch force-push to main** — Check flags `git push --force` on protected branches before it runs, and hard-blocks it under `THUMBGATE_STRICT_ENFORCEMENT=1`
|
|
335
|
+
- **Catch repeated migration failures** — accepted feedback becomes a searchable lesson; recurring patterns can become checks
|
|
336
|
+
- **Flag unauthorized file edits** — path-based rules warn by default and deny matching actions under strict enforcement
|
|
337
|
+
- **Local lessons across sessions** — configured integrations can load accepted feedback from the same local store
|
|
338
|
+
- **Portable lesson handoff** — Pro export/import moves reviewable lesson bundles between operator-managed instances
|
|
339
|
+
- **Outcome-derived proposals** — evaluation lanes can propose rules for operator review
|
|
340
|
+
|
|
341
|
+
### Enterprise & Regulated Industries (roadmap / templates)
|
|
342
|
+
|
|
343
|
+
These are policy-template directions on the roadmap, not customer-proven compliance capabilities. They build on the same gate engine:
|
|
348
344
|
|
|
349
|
-
|
|
350
|
-
- **
|
|
351
|
-
- **
|
|
352
|
-
- **
|
|
353
|
-
- **Audit trail** — Every gate decision (block, allow, reroute) is preserved with rule version, timestamp, and reviewer path for compliance review
|
|
345
|
+
- **Legal AI intake governance** — templates targeting unauthorized practice of law (ABA Rule 5.5), conflict-of-interest clearance before fact collection (Rules 1.7/1.9/1.10), and keeping privileged content inside firm boundaries (Rule 1.6)
|
|
346
|
+
- **Financial compliance** — gate templates for AI-generated trade recommendations, unauthorized disclosures, and approval chains before customer-facing outputs
|
|
347
|
+
- **Healthcare** — templates to keep AI agents from providing medical diagnoses, route data along HIPAA-compliant paths, and require clinician review before patient-facing content
|
|
348
|
+
- **Local decision records** — gate results preserve the decision and the rule, reason, timestamp, and context fields available to that evaluation
|
|
354
349
|
|
|
355
|
-
[
|
|
350
|
+
[Talk to us about regulated templates →](https://thumbgate.ai/dashboard)
|
|
356
351
|
|
|
357
352
|
---
|
|
358
353
|
|
|
359
354
|
## Built-in Checks
|
|
360
355
|
|
|
361
356
|
```
|
|
362
|
-
⛔
|
|
363
|
-
⛔
|
|
364
|
-
⛔
|
|
365
|
-
|
|
366
|
-
|
|
357
|
+
⛔ secret-exfiltration → hard-blocks detected secret exposure (default)
|
|
358
|
+
⛔ self-protect-kill → blocks direct process termination (default)
|
|
359
|
+
⛔ self-protect-env → blocks direct ThumbGate env override (default)
|
|
360
|
+
⚠️ force-push → flags git push --force (hard-block under strict)
|
|
361
|
+
⚠️ protected-branch → flags direct push to main (hard-block under strict)
|
|
362
|
+
⚠️ unresolved-threads → flags push with open reviews (hard-block under strict)
|
|
363
|
+
⚠️ package-lock-reset → flags destructive lock edits (hard-block under strict)
|
|
364
|
+
|
|
365
|
+
Configured hooks record decisions for evaluated calls. Detected secret leaks and
|
|
366
|
+
the process-kill/environment-override self-protect gates deny by default. Direct
|
|
367
|
+
guardrail-file edits, rm -rf, force-push, and fetch-and-run warn and log by
|
|
368
|
+
default; matched blocking rules deny under THUMBGATE_STRICT_ENFORCEMENT=1.
|
|
367
369
|
|
|
368
370
|
+ custom prevention rules for project-specific failures
|
|
369
371
|
```
|
|
@@ -425,28 +427,24 @@ If you change MCP or hook settings, restart the affected agent session so Claude
|
|
|
425
427
|
|
|
426
428
|
| | Free | Pro ($19/mo) | Enterprise |
|
|
427
429
|
|---|---|---|---|
|
|
428
|
-
| Local CLI +
|
|
429
|
-
| Feedback captures | 2/day (10 total) | Unlimited |
|
|
430
|
-
| Active auto-promoted prevention rules | 3 | Unlimited |
|
|
431
|
-
|
|
|
432
|
-
| Personal dashboard | — | ✅ |
|
|
433
|
-
| DPO export (model fine-tuning) | — | ✅ |
|
|
434
|
-
| Lesson export/import | — | ✅ |
|
|
435
|
-
|
|
|
436
|
-
|
|
|
437
|
-
| Approval +
|
|
438
|
-
| Regulatory gate templates | — | — | ✅ |
|
|
439
|
-
| Custom policy layers (firm/practice-area) | — | — | ✅ |
|
|
440
|
-
| Compliance audit export | — | — | ✅ |
|
|
441
|
-
| Dedicated onboarding + SLA | — | — | ✅ |
|
|
430
|
+
| Local CLI + PreToolUse checks | ✅ | ✅ | Existing public runtime |
|
|
431
|
+
| Feedback captures | 2/day (10 total) | Unlimited | Scoped after intake |
|
|
432
|
+
| Active auto-promoted prevention rules | 3 | Unlimited | Scoped after intake |
|
|
433
|
+
| Configured agent integrations | ✅ | ✅ | Scoped after intake |
|
|
434
|
+
| Personal dashboard | — | ✅ | Reviewed during intake |
|
|
435
|
+
| DPO export (model fine-tuning data) | — | ✅ | Reviewed during intake |
|
|
436
|
+
| Lesson export/import | — | ✅ | Operator-managed bundles |
|
|
437
|
+
| Hosted team lesson sync | — | — | Not general availability |
|
|
438
|
+
| Hosted org dashboard | — | — | Not general availability |
|
|
439
|
+
| Approval boundaries + rollout proof | — | — | Scoped after intake |
|
|
442
440
|
|
|
443
|
-
The free tier gives you 2 feedback captures/day (10 total) and up to 3 active auto-promoted prevention rules
|
|
441
|
+
The free tier gives you 2 feedback captures/day (10 total) and up to 3 active auto-promoted prevention rules. Documented integration paths for Claude Code, Cursor, Codex, Gemini, Amp, Cline, and OpenCode ship free; each agent must be configured through its hook or MCP setup.
|
|
444
442
|
|
|
445
|
-
Pro ($19/mo or $149/yr) removes the rule cap and adds history-aware lesson recall, lesson search, DPO export, and a personal dashboard. Enterprise
|
|
443
|
+
Pro ($19/mo or $149/yr) is the individual tier: it removes the rule cap and adds history-aware lesson recall, lesson search, DPO export, and a personal dashboard. Enterprise is custom and scoped after intake around one workflow, its approval boundaries, rollback plan, evidence requirements, and rollout support. Hosted team lesson sync, hosted org dashboards, SSO, SIEM, and compliance packaging are not general-availability features in the current public runtime.
|
|
446
444
|
|
|
447
|
-
**
|
|
445
|
+
**Enterprise intake path:** the **Workflow Hardening Sprint** scopes one repeated failure before any broader rollout commitment. **[Start intake →](https://thumbgate.ai/?utm_source=github&utm_medium=readme&utm_campaign=team_rollout#workflow-sprint-intake)**
|
|
448
446
|
|
|
449
|
-
**
|
|
447
|
+
**Local technical path:** install the CLI and use `init` plus the documented setup for the agent you already use.
|
|
450
448
|
|
|
451
449
|
**Paid path for individual operators:** [ThumbGate Pro](https://thumbgate.ai/checkout/pro?utm_source=github&utm_medium=readme&utm_campaign=pro_page) is the self-serve side lane for a personal dashboard and export-ready evidence.
|
|
452
450
|
|
|
@@ -454,9 +452,9 @@ Pro ($19/mo or $149/yr) removes the rule cap and adds history-aware lesson recal
|
|
|
454
452
|
|
|
455
453
|
---
|
|
456
454
|
|
|
457
|
-
##
|
|
455
|
+
## Portable Lesson Export/Import (Pro)
|
|
458
456
|
|
|
459
|
-
|
|
457
|
+
ThumbGate Pro can export lessons as portable bundles and import them into another operator-managed ThumbGate instance. This is an explicit export/import workflow, not automatic hosted sync or org-wide enforcement.
|
|
460
458
|
|
|
461
459
|
**Export lessons from one project:**
|
|
462
460
|
|
|
@@ -476,7 +474,7 @@ curl -X POST http://localhost:3456/v1/lessons/export \
|
|
|
476
474
|
-d '{"signal": "down", "tags": ["push-notifications", "ci"]}'
|
|
477
475
|
```
|
|
478
476
|
|
|
479
|
-
**Import into another
|
|
477
|
+
**Import into another operator-managed ThumbGate instance:**
|
|
480
478
|
|
|
481
479
|
```bash
|
|
482
480
|
curl -X POST http://localhost:3456/v1/lessons/import \
|
|
@@ -493,16 +491,16 @@ What happens on import:
|
|
|
493
491
|
The export bundle includes full lesson metadata: signal, title, context, tags, failure type, skill, structured rules, and diagnosis. It's the same data you see in the lesson detail dashboard — portable as JSON.
|
|
494
492
|
|
|
495
493
|
**Use cases:**
|
|
496
|
-
-
|
|
497
|
-
- Onboard
|
|
494
|
+
- Move reviewable lesson patterns across repos under operator control
|
|
495
|
+
- Onboard another project with an explicitly reviewed lesson bundle
|
|
498
496
|
- Export lessons before a project handoff so institutional knowledge transfers
|
|
499
497
|
- Feed lessons from multiple teams into a centralized DPO training pipeline
|
|
500
498
|
|
|
501
499
|
---
|
|
502
500
|
|
|
503
|
-
## DPO Export for Fine-Tuning (Pro
|
|
501
|
+
## DPO Export for Fine-Tuning (Pro)
|
|
504
502
|
|
|
505
|
-
|
|
503
|
+
Accepted thumbs-up and thumbs-down feedback can supply preference data. ThumbGate Pro exports eligible captured feedback as DPO (Direct Preference Optimization) pairs for a separate LoRA or other fine-tuning workflow. The export does not guarantee model behavior; training and evaluation remain operator responsibilities.
|
|
506
504
|
|
|
507
505
|
**Export DPO pairs:**
|
|
508
506
|
|
|
@@ -522,7 +520,7 @@ curl -X POST http://localhost:3456/v1/dpo/export \
|
|
|
522
520
|
- Feed into RLAIF or KTO pipelines (KTO export also available via `/v1/kto/export`)
|
|
523
521
|
- Build a model that natively avoids your team's known failure patterns — no check at inference time needed
|
|
524
522
|
|
|
525
|
-
**Why this matters:** Checks
|
|
523
|
+
**Why this matters:** Checks can deny matching actions under policy. Fine-tuning may reduce attempts, but only evaluation can establish whether behavior changed.
|
|
526
524
|
|
|
527
525
|
---
|
|
528
526
|
|
|
@@ -579,15 +577,15 @@ Give the agent more context when a thumbs-down isn't enough:
|
|
|
579
577
|
└─► lesson inferred from full conversation
|
|
580
578
|
```
|
|
581
579
|
|
|
582
|
-
|
|
580
|
+
Pro operators can invoke `search_lessons` through MCP and use `npx thumbgate lessons` from the CLI. History-aware feedback sessions and lesson search are Pro capabilities; Free does not include recall or search.
|
|
583
581
|
|
|
584
582
|
---
|
|
585
583
|
|
|
586
584
|
## Enterprise Data Chat and Optional Google Adapters
|
|
587
585
|
|
|
588
|
-
The
|
|
586
|
+
The package includes a local data-chat path over ThumbGate data using lesson retrieval, LanceDB-backed vectors, and an operator-configured LLM. Set `THUMBGATE_LOCAL_LLM_ENDPOINT` to an OpenAI-compatible local endpoint (Ollama, llama.cpp, vLLM, LM Studio, etc.) when you want generated answers without sending dashboard data to Google. This is a local package capability, not a hosted org-dashboard claim.
|
|
589
587
|
|
|
590
|
-
Google Cloud is an optional
|
|
588
|
+
Google Cloud is an optional adapter, not a dashboard requirement. The package provides setup and guard-adapter code for operators who already use Vertex AI or Dialogflow CX; each deployment and data boundary must be configured and verified in that tenancy.
|
|
591
589
|
|
|
592
590
|
### Optional Vertex Setup
|
|
593
591
|
To wire local ThumbGate scoring to Vertex AI, run:
|
|
@@ -600,34 +598,32 @@ npx thumbgate setup-vertex
|
|
|
600
598
|
|
|
601
599
|
This command does **not** create or verify a live Dialogflow CX agent. Dialogflow is only relevant when a customer wants ThumbGate guard adapters in front of their own production DFCX agents. On current Google Cloud CLI installs, the old alpha gcloud CX command group is not available; verify Conversational Agents / Dialogflow CX with the Google Cloud console or the official Dialogflow CX REST API (`projects.locations.agents`) before claiming a live DFCX deployment.
|
|
602
600
|
|
|
603
|
-
###
|
|
604
|
-
Google Cloud budget alerts
|
|
605
|
-
* **Instant Shutdown:** ThumbGate maintains a lightweight, local token ledger and instantly halts outgoing API traffic the millisecond your monthly token spending approaches the **$10 limit** (500k tokens of Gemini 1.5 Flash).
|
|
606
|
-
* **Bypasses extra shutdown plumbing:** Requires no Pub/Sub or Cloud Functions for the local ThumbGate-side stop condition. You still need normal Google Cloud billing/API setup and live-agent verification for DFCX pilots.
|
|
601
|
+
### Cost Containment (roadmap / routed calls only)
|
|
602
|
+
Google Cloud budget alerts do not themselves stop API traffic. ThumbGate includes local budget-ledger and policy primitives, but a stop condition applies only to provider calls explicitly routed through the configured gate. It is not a cloud billing guarantee, and provider pricing or token usage must come from provider telemetry.
|
|
607
603
|
|
|
608
604
|
---
|
|
609
605
|
|
|
610
606
|
## FAQ
|
|
611
607
|
|
|
612
608
|
**Is ThumbGate a model fine-tuning tool?**
|
|
613
|
-
No. ThumbGate does not update model weights. It captures feedback, stores lessons, injects context at runtime, and
|
|
609
|
+
No. ThumbGate does not update model weights. It captures feedback, stores lessons, injects context at runtime, and evaluates proposed tool calls before execution. Detected secret leaks and direct process-kill/environment-override self-disable commands deny by default; strict mode denies every matched blocking rule.
|
|
614
610
|
|
|
615
611
|
**How is this different from CLAUDE.md or .cursorrules?**
|
|
616
|
-
Those are
|
|
612
|
+
Those are instructions in model context. A configured ThumbGate hook adds an external allow/warn/deny decision before tool execution. Detected secret leaks and direct process-kill/environment-override self-disable commands deny by default; other audited high-risk classes warn and log unless strict mode preserves the matched deny.
|
|
617
613
|
|
|
618
614
|
**Does it work with my agent?**
|
|
619
|
-
|
|
615
|
+
ThumbGate ships configuration paths for Claude Code, Claude Desktop, Cursor, Codex, Gemini CLI, Amp, Cline, and OpenCode. The relevant MCP or hook integration must be configured before it evaluates tool calls.
|
|
620
616
|
|
|
621
617
|
**Is it free?**
|
|
622
|
-
The free tier gives you 2 feedback captures/day, 10 total captures, and up to 3 active auto-promoted prevention rules — enough for solo
|
|
618
|
+
The free tier gives you 2 feedback captures/day, 10 total captures, and up to 3 active auto-promoted prevention rules — enough for a solo developer to verify a matching pre-action evaluation before upgrading. Supported MCP and hook integration files ship in the free package.
|
|
623
619
|
|
|
624
|
-
Pro ($19/mo or $149/yr)
|
|
620
|
+
Pro ($19/mo or $149/yr) is for individual operators and adds history-aware lesson recall, lesson search, unlimited rules, exports, and a personal dashboard. Enterprise is custom and scoped after intake; hosted team sync and a hosted org dashboard are not general availability.
|
|
625
621
|
|
|
626
622
|
---
|
|
627
623
|
|
|
628
624
|
## Docs
|
|
629
625
|
|
|
630
|
-
- [**ThumbGate for Federal Agencies**](docs/FEDERAL.md) — pilot-ready posture, NIST 800-53 control mapping, OMB M-24-10 / EO 14110 alignment
|
|
626
|
+
- [**ThumbGate for Federal Agencies**](docs/FEDERAL.md) — pilot-ready posture, NIST 800-53 control mapping, OMB M-24-10 / EO 14110 alignment. Landing page: [thumbgate.ai/federal](https://thumbgate.ai/federal).
|
|
631
627
|
- [First Dollar Playbook](docs/FIRST_DOLLAR_PLAYBOOK.md) — turning one painful workflow into the next booked pilot
|
|
632
628
|
- [Commercial Truth](docs/COMMERCIAL_TRUTH.md) — pricing, claims, what we don't say
|
|
633
629
|
- [Goal Contracts](docs/GOAL_CONTRACTS.md) — evidence-before-done contracts for multi-agent handoffs
|
|
@@ -639,22 +635,21 @@ Pro ($19/mo or $149/yr) removes the rule cap and adds history-aware lesson recal
|
|
|
639
635
|
- [Ready for Agent Intake](https://github.com/IgorGanapolsky/ThumbGate/issues/new?template=ready-for-agent.yml) — ready-for-agent intake template
|
|
640
636
|
- [SEO Guide: Claude Code Guardrails](docs/learn/claude-code-guardrails.md)
|
|
641
637
|
- [Unsupervised Learning Signals](docs/UL.md) — silent-failure clustering (**on by default** as of 2026-05-21; opt out via `THUMBGATE_SILENT_FAILURE_CLUSTERING=0`; only meaningfully active on workspaces with ≥ 50 tool calls/day)
|
|
642
|
-
- [ThumbGate-Core](https://github.com/IgorGanapolsky/ThumbGate-Core) —
|
|
638
|
+
- [ThumbGate-Core](https://github.com/IgorGanapolsky/ThumbGate-Core) — staging repo for pre-release features plus a handful of internal cache scripts that can't ship publicly. It is **not** the moat: intelligence, ranking, and synthesis land in this public repo by default (~212 of 216 Core scripts already ship publicly). The moat is hosted services + adapter compatibility + dashboard + support — see [MOAT.md](MOAT.md).
|
|
643
639
|
|
|
644
640
|
---
|
|
645
641
|
|
|
646
642
|
---
|
|
647
643
|
|
|
648
|
-
## ThumbGate Pro
|
|
644
|
+
## ThumbGate Pro and Enterprise
|
|
649
645
|
|
|
650
|
-
ThumbGate is free and MIT-licensed
|
|
646
|
+
ThumbGate is free and MIT-licensed. The paid paths are intentionally separate:
|
|
651
647
|
|
|
652
|
-
- **
|
|
653
|
-
- **
|
|
654
|
-
- **
|
|
655
|
-
- **Priority support** — direct access, SLA, onboarding help
|
|
648
|
+
- **Pro ($19/mo or $149/yr)** — individual recall/search, unlimited rules and captures, personal dashboard, and exports
|
|
649
|
+
- **Enterprise (custom, intake-led)** — scope one workflow's approval boundaries, rollback plan, evidence requirements, and rollout support
|
|
650
|
+
- **Not general availability** — hosted team lesson sync, hosted org dashboards, SSO, SIEM, and compliance packaging
|
|
656
651
|
|
|
657
|
-
|
|
652
|
+
**[Start Pro →](https://thumbgate.ai/checkout/pro?utm_source=github&utm_medium=readme&utm_campaign=pro_page)** · **[Start Enterprise intake →](https://thumbgate.ai/#workflow-sprint-intake)**
|
|
658
653
|
|
|
659
654
|
---
|
|
660
655
|
|
|
@@ -662,7 +657,7 @@ ThumbGate is free and MIT-licensed forever. For teams that need more:
|
|
|
662
657
|
|
|
663
658
|
I'm **Igor Ganapolsky** — I designed and maintain ThumbGate. If you're shipping **payments, AI agents, or Android features** and want them built by someone demonstrably careful with production and with money, I take a small number of **freelance / contract** engagements.
|
|
664
659
|
|
|
665
|
-
ThumbGate is the receipt, not the pitch:
|
|
660
|
+
ThumbGate is the receipt, not the pitch: its default policy denies detected secret exfiltration and gate kill/bypass commands, strict mode also denies matching warning-mode checks, and the project publishes a [threat model](THREAT_MODEL.md) stating what the local evaluator does and cannot contain. Documenting where my own guardrails end is the standard I hold client work to.
|
|
666
661
|
|
|
667
662
|
- **Payments** — Stripe / Stripe Connect: destination charges, split payouts, escrow & milestone release, 3DS/SCA, idempotent webhooks, reconciliation.
|
|
668
663
|
- **Applied AI / agents** — tool-use guardrails, MCP servers, orchestration, and evaluation loops (the engineering behind this repo).
|