KeyDrift
Finds the API keys and secrets that AI coding tools leave behind in client-side JavaScript bundles.
- The problem
- Build-time environment variables inline their values into the JavaScript bundle. An .env file that is correctly git-ignored still ships its contents to every visitor, and no repository scanner will ever see it.
- What it does
- KeyDrift reads the JavaScript your site actually serves, not your source tree, and identifies Supabase, Stripe, OpenAI and AWS credentials in it — while recognising the publishable keys that belong there and are not leaks.
- Who it is for
- Solo founders and small product teams shipping AI-assisted frontends on Vercel, Netlify and similar.
- How you can check it
- Findings carry a masked prefix and the exact chunk they came from, so you can rotate immediately. Live secrets are never stored, and the first scan needs no account.
What it catches
- NEXT_PUBLIC_ or VITE_ inlining a secret into the bundle at build time
- A Supabase service_role key shipped to every visitor
- Stripe sk_live_ or OpenAI sk-proj- keys readable in DevTools
- Secrets left behind by Lovable, Bolt, Cursor, Claude Code or Replit
- A clean repository scan while the deployed bundle leaks