Your secrets are already exposed
We help you find them


Deep scan
Every key you ever committed — not just the ones still there
The full history, back to the first commitAll branches and tags, not just the default oneYour own repositories only — ownership is verified

Free plan — one deep scan every 30 days.Paid plans — unlimited deep scans, plus continuous monitoring of new commits.


Continuous monitoring
We scan public GitHub, GitLab and Codeberg commits continuously and index every secret we detect.
Instant lookup
Enter your username to check instantly whether a leak linked to your account is already known.
Scan the site you deployed
Verify a domain you own — we read bundles, source maps, .env and .git as a visitor would, then flag any key that is both in your repo and live.
Unlock full protection
Subscribers see exactly where each leak was found and get real-time alerts on every new commit.

Watched
GitHubGitLabCodeberg
Alerts on
SlackDiscord

Detection engine

Built to catch what others miss

A regex tells you a string looks like a key. Everything below is what turns that guess into something you can act on.

validation · live probe
Stripe live secret keystill valid
GitHub personal access tokenalready revoked
AWS access keystill valid

Tested against the provider

Every match gets one read-only call to the provider. A key that still answers is an incident, not a pattern hit.

Reads your site, not just your repo

Bundles, source maps, exposed .env and .git. A key in both your history and your live site was never rotated.

Scanned as commits land

Public pushes on GitHub, GitLab and Codeberg are read within seconds — not on a nightly sweep.

400+ detection patterns

Cloud, payments, databases, AI and CI tokens, raw private keys — with 24 provider-specific validators behind them.

  • +

False positives filtered

A classifier drops test fixtures and documentation examples before a match ever reaches you.

A CI gate with nothing to install

A job posts its diff and fails the build on a live key — one HTTPS call with curl and jq, your diff never stored.

Your source code is never stored — only the matched value and the repo, commit and date needed to act on it.


Stop leaks in their tracks

Detect and block secrets
before they spread

Initial commita1b2c3d
A developer pushes code to a public repository. Everything looks clean.
Setup projecte4f5g6h
Config files, environment setup, dependencies. Business as usual.
Add API keyx7y8z9asecret found
A live secret slips into the commit. LeakWatch flags it within seconds and alerts you instantly.
API_KEY = "sk-live-4f9a•••••••••••"
CI pipeline blockedc9d0e1fexit 1
The same engine runs in your pipeline. The build fails on the secret, so the commit never reaches main. Set up the CI gate
leakwatch scan . → 1 secret found, exit 1
Revoke keyb1c2d3e401 revoked
Alert received, key rotated and revoked — before anyone could exploit it.

By the numbers

What the scanner has seen so far

124.5K
secrets detected since launch, across GitHub, GitLab and Codeberg
1.2K
found in the last 24 hours alone
400+
detection patterns, each tested against the provider that issued the key
0
lines of your code kept — a scan reads, reports, and stores nothing

Live counters from the public API, cached for five minutes. Public repositories only.


FAQ

Before you sign in

What access does signing in with GitHub give you?

Signing in with GitHub grants read-only access. LeakWatch requests the minimum OAuth scope needed to list your repositories and read commits : it cannot push, modify, or delete anything in your account. You can revoke that access at any time from your GitHub settings, and it stops working the moment you do.

Is my code stored anywhere?

No : LeakWatch never stores your source code. A deep scan clones your repository into a short-lived worker to replay its history, and that clone is deleted as soon as the scan finishes. What we keep is the findings themselves: file path, commit, secret type and validation result.

Can LeakWatch scan my live website, not just my repository?

Yes : a site scan reads what your deployed site actually serves — the HTML, the JavaScript bundles, the source maps published alongside them, and configuration files a server exposes by accident such as /.env or a browsable /.git/ directory. A key found in a bundle is live by definition, since nobody removed it from production.

Why do I have to verify my domain before scanning it?

Verifying the domain is what separates a security tool from an attack tool. A site scan probes paths and returns the secrets it finds in the clear, so it only runs on a domain whose owner has proved control — either a DNS TXT record on _leakwatch.yourdomain, or a file under /.well-known/. Ownership is checked again before the report is shown, not only when the scan starts.

How do you avoid flagging false positives?

Every candidate secret is validated against the provider it belongs to before it is reported as a leak ; an AWS key is tested against AWS, a Stripe key against Stripe, and so on. That verdict, still valid or revoked, is what separates a real leak from a regex match on a random-looking string.

Does the scan on this page rescan my account right now?

No : the lookup on this page is instant because nothing is cloned or scanned at that moment. It matches your username against leaks already found by our continuous monitoring of public GitHub, GitLab and Codeberg activity. To clone your repositories and replay their full history on demand, run a deep scan.

Can I run LeakWatch in my CI/CD pipeline?

Yes, and there is nothing to install : a job posts the diff it is about to merge to the API, reads how many secrets came back, and fails the build if that count is not zero. It needs curl and jq, which your CI image already ships — no action from a marketplace, no binary vendored into your runner. What you send is scanned in memory and discarded when the response is sent, never stored and never forwarded. Copy-paste recipes for GitHub Actions, GitLab CI, CircleCI and pre-push hooks are in the CI/CD tab of the documentation.

Do I need an account to scan?

No account is needed for the free lookup on this page: it works with any public GitHub or GitLab username without signing in. An account is required to scan Codeberg, run a deep scan, see exact files and commit history, or turn on continuous monitoring and alerts.


Pricing

Continuous secret monitoring

The one-off scan is free. Upgrade to continuous monitoring to be alerted to every new leak.

Free
0€
Forever
Access to affected repositories
Leaks type and severity
One deep scan every 30 days
One site scan every 30 days
Commit details in your deep scan only
No continuous monitoring
14-DAY FREE TRIAL
Solo
4.99€/month
Free for 14 days, then 4.99€/month · cancel anytime
39.99€/year−33%99.99€lifetime
Continuous monitoring
Real-time email / discord / slack alerts
Commit details on every leak
Liveness checks & dismissal on every leak
Unlimited deep scans
Cancel before day 14 and you are not charged