Secret scanner
Check a config, .env, Dockerfile or manifest for accidentally committed credentials — AWS keys, GitHub tokens, private keys, JWTs — before they reach git.
Drop a config or .env file to scan it
scanned locally in your browser — the file is never uploaded
Catching credentials before git does
Paste a config, a .env file, a Dockerfile or a CI manifest — or drop the file — and it is scanned against the token formats of the providers that actually get leaked: AWS, GitHub, GitLab, Slack, Stripe, Google, OpenAI, npm, SendGrid, Twilio, Telegram, plus PEM private key blocks, JWTs, credentials embedded in URLs and generic high-entropy password assignments.
Everything runs in your browser — pasting a file full of secrets into a web page that uploads it somewhere would defeat the purpose, so this one doesn't. Matches are shown masked (first and last four characters) and obvious placeholders — env-substitutions, changeme and the like — are filtered out.
One rule matters more than the scanner: a secret that has ever been committed is burned. Rotate it. Deleting the line, amending the commit or force-pushing does not un-leak a value that CI logs, forks and clones have already seen.
Why did it flag a value that isn't secret?
Can it miss real secrets?
What should I do when it finds something in a repo?
Why is a JWT only a warning?
Related tools: Dockerfile analyzer, K8s manifest validator and Password leak check.