NewEvery finding now mapped to CWE, OWASP Top 10 & CVSS

//Live-key verification

A leaked key isn’t a finding until you know it still works.

Every secret scanner can find a string that looks like an API key. Regexes for that have been public for a decade. The hard part was never detection, it’s that a detection on its own tells you almost nothing.

The problem with pattern-matching

Consider two findings, both reported CRITICAL. The first is a Stripe key rotated eight months ago, sitting in an old bundle nobody redeployed. The second is a Supabase service_role key that works right now and bypasses every row-level security policy you have. Pattern-matching cannot tell them apart, so most tools report both identically.

The developer opens the report, checks the first one, finds it dead, and learns that this tool cries wolf. That’s the real failure mode: not a missed vulnerability, a lost reader.

64% of secrets leaked in 2022 were still valid years later, not because anyone decided they were safe, but because nobody knew which ones mattered enough to act on.

GitGuardian, State of Secrets Sprawl 2026

Asking the only authority that knows

Exactly one system can say whether a credential is live: the one that issued it. So when Flare.ai finds a key, it asks, with a single read-only identity request to that provider, and to nobody else.

verified againstAirtableAirtableAnthropicAnthropicDiscordDiscordGitHubGitHubGoogleGoogleGroqGroqHugging FaceHugging FaceLinearLinearMapboxMapboxNotionNotionnpmnpmOpenAIOpenAIReplicateReplicateResendResendSendGridSendGridSlackSlackStripeStripeSupabaseSupabaseTelegramTelegram

None of these are billable. None of them write anything. They’re the cheapest “who am I” endpoint each provider offers, which is the point: verification shouldn’t cost the victim anything.

Every probe, in full

All 19 of them, and the exact request each one sends. Published because a claim about what we do to your credentials is worth nothing if you have to take it on trust, and because this table is generated from the code that runs, not written alongside it.

ProviderProbe
AirtableGET https://api.airtable.com/v0/meta/whoami
AnthropicGET https://api.anthropic.com/v1/models
DiscordGET https://discord.com/api/v10/users/@me
GitHubGET https://api.github.com/user
GoogleGET https://maps.googleapis.com/maps/api/geocode/json
GroqGET https://api.groq.com/openai/v1/models
Hugging FaceGET https://huggingface.co/api/whoami-v2
LinearPOST https://api.linear.app/graphql { viewer { id } }
MapboxGET https://api.mapbox.com/tokens/v2
NotionGET https://api.notion.com/v1/users/me
npmGET https://registry.npmjs.org/-/whoami
OpenAIGET https://api.openai.com/v1/models
ReplicateGET https://api.replicate.com/v1/account
ResendGET https://api.resend.com/domains
SendGridGET https://api.sendgrid.com/v3/scopes
SlackPOST https://slack.com/api/auth.test
StripeGET https://api.stripe.com/v1/account
SupabaseGET https://<project-ref>.supabase.co/rest/v1/
TelegramGET https://api.telegram.org/bot<token>/getMe

What the answer changes

Live

Critical · CVSS 9.8 · high confidence

The provider accepted the key. It works right now, and it is readable by anyone who views your bundle. Rotate it before you do anything else.

Revoked

Medium · CVSS 4.3 · high confidence

The provider rejected it. Still shouldn't be in your bundle, the next key that lands there will leak the same way, but nobody needs paging at 2am.

Unverified

Graded on format alone

No safe read-only endpoint exists for that credential type, or the check was inconclusive. Labelled as unverified rather than dressed up as a maybe.

That middle row is the one that earns trust. A tool willing to tell you something is less serious than it looks is a tool you believe when it says something is worse.

The keys we refuse to verify

An AWS access key ID can’t be verified without the paired secret access key. We only ever recover the ID from a bundle, and we have no interest in holding the other half. So AWS findings stay unverified, permanently and on purpose.

Being able to say “we don’t know” is a feature. A scanner that guesses to fill a column will eventually guess wrong about something that matters.

Turning it off

If you’d rather no credential ever left your infrastructure, not even to its own issuer, set this. Every finding then degrades to unverified:

env
FLARE_DISABLE_SECRET_VERIFICATION=1

Find out which of your keys still work.

One free scan per site. No account, under a minute.