Sentinel started as a firewall for Claude Code agents: scan tool results, catch prompt injections before they reach the model, never hard-block the session. That's still true. But as of this week it protects four providers instead of one, Grok (xAI) and OpenAI joined a few days ago, and Google Gemini just shipped.
The Gemini problem, and the fix that made it simpler
Gemini's raw API response carries a safetyRatings array on every request, and its long unbroken enum strings like HARM_CATEGORY_DANGEROUS_CONTENT kept tripping our own encoding-evasion heuristic on completely benign content. Found it before ever shipping, not after.
The plan was to build a dedicated route that extracted only the generated text before scanning it, working around the bug directly. Then I found something better: Gemini also exposes an OpenAI-compatible endpoint, and it handles tool-calling in the same shape Grok and OpenAI already use. So instead of patching around the safetyRatings problem, Gemini just slots into the exact same code path as the other two. No new parsing logic, and the bug doesn't apply anymore because that code path never sees the raw envelope in the first place.
Sometimes the fix is a workaround. This time it was a smaller surface area than the bug.
Scan it, or just click it
That's the code we're handing out this week alongside the launch. Scan it, or just go to sentinelaifirewall.com/scan, to see what it looks like when Sentinel catches a prompt injection before it reaches an agent.
If you want to try Pro while it's discounted: 50% off for 3 months, applied automatically at checkout, no code to type. Just scan the QR code. Limited to the first 10 signups, through August 16th. The free tier's still there either way, no pressure.
Setup
If you're writing your own code against the OpenAI Python or Node SDK, it's the standard OPENAI_API_KEY/OPENAI_BASE_URL pair, just pointed at Sentinel instead of the provider directly:
export OPENAI_API_KEY=sk_live_your_sentinel_key
export OPENAI_BASE_URL=https://api.sentinelaifirewall.com/v1/gemini. # or /v1/grok, /v1/openai
-Full setup, including notes for Grok Build and Gemini CLI specifically, is in the [integration docs(https://sentinelaifirewall.com/docs).
+If you're using a vendor's own CLI instead of raw SDK code, this exact pattern doesn't carry over — each one configures a custom endpoint differently. Grok Build uses a config.toml entry, not env vars. Gemini CLI needs its own OPENAI_COMPATIBLE_ENDPOINT/OPENAI_COMPATIBLE_API_KEY variables (not GOOGLE_GEMINI_BASE_URL, which has known reliability issues honoring a custom endpoint). Codex CLI isn't supported yet at all, it requires OpenAI's Responses API shape and Sentinel's route only speaks Chat Completions. Codex CLI runs on OpenAI's newer Responses API instead of Chat Completions, so it isn't compatible with Sentinel yet. We're working on adding support.Full breakdown for each is in the integration docs.
Full setup, including notes for Grok Build and Gemini CLI specifically, is in the integration docs.

Top comments (0)