Spill No account · nothing leaves this tab

Secret scanner and redactor

Did you just paste a key?

Paste code, a .env file, a log or a chat before you share it. Spill finds API keys, tokens, private keys and passwords, tells you which are live and which are meant to be public, and gives you a clean copy.

0 characters
Try one

Samples use randomly generated keys in real formats. None of them work.

Public keys in the clean copy

Publishable keys (Stripe pk_, Supabase anon, Mapbox pk.) are built to ship in a page. Keep them so the code still runs, or hide everything before posting it in public.

What it finds

Keys from 48 services.

OpenAI, Anthropic, Gemini, Groq, xAI, OpenRouter, Stripe, Supabase, AWS, GitHub, GitLab, npm, Slack, Discord, Twilio, SendGrid, Resend, Shopify and more, plus private keys, database URLs with passwords, JWTs, Authorization headers and secrets in named variables.

How it decides

Format, then facts.

Each match is checked: GitHub tokens by their built-in checksum, JWTs and Supabase keys by decoding the role and expiry, docs examples and placeholders set aside, and anything in a NEXT_PUBLIC_ or VITE_ variable flagged as shipped to every visitor.

What to do next

Rotate, then remove.

Every live finding links to the page where you revoke it. Deleting a key from code or git history does not stop it working; rotating it does. The clean copy swaps each secret for a label like [STRIPE_SECRET_KEY_1].

Using an AI assistant?

Scan before it reads.

Coding agents can call Spill through MCP at https://spill.clawhard.com/mcp (tool spill_scan_secrets) to check a diff, a log or a prompt for secrets before sharing it, and get masked findings plus a redacted copy. For text you would rather not send anywhere, use this page.

Use Spill with your AI

Add Spill to ChatGPT, Claude, Cursor or any assistant that supports MCP, then ask it to find API keys, tokens, private keys and passwords in code, logs or .env files, see which are live, and get a redacted copy. No key, no login.

https://spill.clawhard.com/mcp

Claude Code

claude mcp add --transport http clawhard-spill https://spill.clawhard.com/mcp

Claude (web and desktop)

Press Add to Claude, or open Customize → Connectors → Add custom connector, paste the URL and leave sign-in empty.

ChatGPT

Open Plugins → + → Add custom MCP server, paste the URL, choose No authentication, accept the warning, then Create as a plugin. Start a chat and type @ to use it.

More ways to connect

Codex

codex mcp add clawhard-spill --url https://spill.clawhard.com/mcp

Gemini CLI

gemini mcp add --transport http clawhard-spill https://spill.clawhard.com/mcp

Cursor, Windsurf and others (mcp.json)

{
  "mcpServers": {
    "clawhard-spill": { "url": "https://spill.clawhard.com/mcp" }
  }
}

VS Code (.vscode/mcp.json)

{
  "servers": {
    "clawhard-spill": { "type": "http", "url": "https://spill.clawhard.com/mcp" }
  }
}

No desktop app? Add to VS Code in the browser · VS Code Insiders · Add to Cursor in the browser

Other apps: Goose · LM Studio. Any MCP client works with the URL (Streamable HTTP, no headers).

Common questions

Spill finds API keys, tokens, private keys and passwords in pasted text (code, .env, logs, chats), from 48 services. It says which are live, which are meant to be public, where to rotate each one, and gives you a redacted copy. Runs in your browser, no account.

How do I check if I pasted an API key in my code or logs?

Paste the text into Spill. It lists every API key, token, private key and password it finds, with the line, a masked preview, whether it is live or meant to be public, and where to rotate it. It also gives you a redacted copy that is safe to share.

Is it safe to paste my secrets into Spill?

The page scans in your browser and sends nothing anywhere: no upload, no account, no link containing your text. You can load the page, go offline and it still works.

Is my Supabase anon key a secret?

No. The anon (and sb_publishable_) key is meant to be in the browser; what it can read depends on your Row Level Security policies. The service_role (and sb_secret_) key bypasses RLS and must never ship. Spill decodes the key and tells you which one it is.

Are NEXT_PUBLIC_ or VITE_ environment variables secret?

No. Next.js copies NEXT_PUBLIC_ variables, and Vite copies VITE_ variables, into the JavaScript every visitor downloads. Spill marks any secret key in one of those as critical, because it is public the moment you deploy.

I deleted the key from my repo. Am I safe?

No. A leaked key keeps working until you revoke it at the provider, and it stays in git history and forks. Rotate it first using the link Spill gives you, then remove it.

Does Spill test whether the keys work?

No. It never contacts providers. It checks what can be checked offline: GitHub token checksums, JWT roles and expiry dates, and known example values.

Can an AI coding agent use Spill?

Yes. Add the MCP server https://spill.clawhard.com/mcp (tool spill_scan_secrets) or call the JSON API described at /openapi.json. Agents can scan diffs, logs and prompts before sharing them and use the redacted copy.

For AI assistants and developers: llms.txt · API (OpenAPI) · MCP server · sitemap