NewEvery finding now mapped to CWE, OWASP Top 10 & CVSS
For code you didn’t fully write.

Know exactly what your app is exposing.With proof.

Your agent reviews the code it wrote. Flare.ai checks what actually shipped — the live bundle, the real origin, and which leaked keys still work.

leaked keys checked against 19 providers — live, dead, or we say we don’t know

No loginNo repo access~30 seconds
01234567890123

secrets pushed to public GitHub so far this year

projected · 2025 total +34% YoY

Scans apps built with:

ClaudeClaudeCursorCursorv0v0Bolt.newBolt.newLovableLovableReplitReplitWindsurfWindsurfGitHub CopilotGitHub CopilotNext.jsNext.jsReactReactVueVueNuxtNuxtSvelteSvelteAstroAstroRemixRemixTailwindTailwindSupabaseSupabaseFirebaseFirebaseConvexConvexAppwriteAppwriteNhostNhostPocketBasePocketBaseHasuraHasuraXanoXanoStrapiStrapiSanitySanityDirectusDirectusPostgresPostgresMongoDBMongoDBMySQLMySQLPlanetScalePlanetScaleNeonNeonTursoTursoCockroachDBCockroachDBXataXataRedisRedisUpstashUpstashPrismaPrismaClerkClerkAuth0Auth0WorkOSWorkOSKindeKindeAuth.jsAuth.jsBetter AuthBetter AuthOpenAIOpenAIAnthropicAnthropicGoogle DeepMindGoogle DeepMindMistralMistralCohereCohereGroqGroqReplicateReplicateHugging FaceHugging FaceLangChainLangChainPineconePineconeStripeStripePaddlePaddleLemon SqueezyLemon SqueezyPolarPolarVercelVercelNetlifyNetlifyCloudflareCloudflareAWSAWSRailwayRailwayRenderRenderFly.ioFly.ioHerokuHerokuDigitalOceanDigitalOceanDenoDenoBunBunResendResendTwilioTwilioSentrySentryPostHogPostHogAlgoliaAlgoliaCloudinaryCloudinaryUploadThingUploadThing
~1 in 9
indie apps leak a database key
< 60s
from URL to ranked report
$0
to scan a public URL
40+
checks audited

//This isn’t hypothetical.

You don’t have to take our word for it.

Independent security research keeps finding the same thing at scale.

29M

hardcoded secrets found on public GitHub in 2025 alone (+34% jump)

64%

of secrets leaked in 2022 are still valid today: never rotated, still exploitable

the rate at which AI-assisted commits leak secrets compared to human baselines

Source: GitGuardian, State of Secrets Sprawl 2026

//Coverage

The mistakes AI writes on autopilot.

Every one of these is a pattern code generators produce, in code that reads as completely fine. Flare.ai checks for all of them from the outside, the way a stranger would, and reports what it can actually reach.

CRIT

Leaked secrets, verified live

Finds API keys baked into your bundle, then proves it. Each key is checked against the provider that issued it, so you see which ones actually work.

CWE-798
CRIT

Open database tables & storage

Detects Supabase and Firebase, then checks whether tables, collections, and buckets are readable without auth. The missing-rules trap.

CWE-284
CRIT

Server-to-client leaks

A Server Component hands a secret to a Client Component as a prop, and React writes it into the HTML. View Source is enough. We rebuild the payload and read it.

CWE-200
CRIT

Shadow API routes

The /api/debug and /api/admin endpoints left over from development. Nothing in your UI links to them, so nothing else finds them. We probe for them directly.

CWE-489
CRIT

NEXT_PUBLIC_ secrets

When an assistant silences a “can’t read env on the client” error by renaming a variable, the secret ships to every browser. We cross-check public vars against real key formats.

CWE-522
HIGH

LLM cost-drain surface

Flags unauthenticated endpoints that proxy to AI models: the ones an attacker can hammer to run up your OpenAI/Anthropic bill.

CWE-770
HIGH

Unauthenticated API routes

Enumerates the API routes referenced in your bundle and probes which ones respond without authentication.

CWE-306
CRIT

Tokens in the URL

Access tokens passed as query parameters end up in server logs, proxy logs, browser history, and the Referer header.

CWE-598
CRIT

Exposed files & repos

Probes for a downloadable .env, an exposed .git directory, and database backups left reachable on your live deploy.

CWE-538
MED

Weak security headers

Missing CSP, HSTS, X-Frame-Options. The low-effort hardening AI-generated apps almost always skip.

CWE-693

You don’t have to remember any of these. That’s the point.

See all 40+ checks

//Why Flare, not a linter

A linter hands you two hundred warnings.

Flare hands you the ones that are real, in the order they’d hurt, each with the evidence and the exact line to change.

Live-key verification

No wall of maybes.

Every key we find is tested against the provider that issued it. A key you already rotated comes back as rotated and graded down, not as a five-alarm fire. Being slowed down by false alerts is the actual problem with most security tools.

Toxic combinations

Two small bugs are one breach.

An open table is a bug. An unguarded admin route is a bug. Together, they’re a way in. Flare connects your findings into the paths someone can actually walk, and ranks them as a path, not separate rows.

//Live feed

What it finds, as it finds it.

Scans feed an anonymized stream: the category of what was found, and nothing else. No app names, no URLs, no evidence. We disclose to the developer first, always.

flare.ai / example output
app-••••-3f2Secret leakCRIT
app-••••-91aDatabase exposureCRIT
app-••••-7c0Server-to-client leakCRIT
app-••••-e48Shadow API routeHIGH
app-••••-a12Cost-drain exposureHIGH
app-••••-2dbHeadersMED

Example of the finding types Flare.ai reports. The live feed appears here once enough scans have run.

//CI / CD

Ship it into your pipeline. Nothing broken ships.

One line in your pipeline. Flare.ai runs on every pull request and fails the build the moment a critical exposure appears, so the leak is caught in review instead of production.

  • Runs on every push & PR: no schedule to babysit
  • Fails the build on critical: the merge is blocked, not just flagged
  • Also available as a CLI & API: scan from your terminal or scripts
# add to your CI, runs on every push
steps:
  - uses: actions/checkout@v4
  - run: npx flare-deep . --fail-on critical
    # exits non-zero on a critical finding → build fails

//The vibecoder feature

Give the AI that wrote it the tool that checks it.

Flare.ai ships an MCP server, so Cursor, Claude Code, and Windsurf can scan your app themselves. It works against localhost. The agent starts your dev server, scans it, fixes what it finds, and rescans. The leak never reaches a commit.

  • flare_scan_url : scan a running app (localhost included)
  • flare_scan_repo : scan the source, with file:line to fix directly
  • flare_verify_credential : is this key still live, or already rotated?
Works withCursorCursorClaudeClaudeWindsurfWindsurfv0v0GitHub CopilotGitHub Copilot
See how it works
cursor · mcp · flare
agent → flare_scan_url("http://localhost:3000")
VERDICT: BLOCKING, 1 critical
[CRITICAL] OpenAI API key exposed
✓ confirmed live
fix: rotate at provider, move to a
server-only env var
agent → applies the fix, rescans
VERDICT: CLEAN
no findings at or above "critical"
# the human never saw the leak

//Social proof

Caught before it shipped.

Real scans, from people shipping real things at AI speed.

Pasted my URL expecting nothing. It found a live service_role key in my bundle and told me it was still valid. Rotated it before lunch.
service_role key — confirmed live
MCMaya Chenbuilding with Cursor
The toxic-combination thing is what sold me. It didn't just list two problems, it told me they were the same breach. Nothing else does that.
open table + unauth route
DODevin Okorosolo founder
Wired the MCP server into Claude Code and it scans my dev server, fixing things before I even see them. Feels like cheating.
NEXT_PUBLIC_ secret
PNPriya Nairshipping on v0 + Vercel
Every other scanner cries wolf. This one told me a flagged key was already rotated and dropped it to medium. First time I actually trusted a report.
revoked key — graded down
SRSam Riveraindie hacker
The PR comment lands right in review with the file and line. My team fixes it before merge instead of finding out in prod.
shadow /api/debug route
JLJordan Leeeng lead, 4-person team
No dollar-figure scare tactics, no 50-page report. Just what's wrong, where, and the fix. Ran it, fixed three things, moved on.
missing RLS on profiles
ATAlex Turnerweekend builder

Find out what’s leaking. Takes thirty seconds.

One free scan per site. No account, no config, no sales call.

Read-only · No login · No repo access