You ship faster than ever. So do your vulnerabilities.
Claude, Cursor, Lovable, Bolt: AI builds your SaaS in a weekend. But it won't think about
the Stripe key left in your frontend, or the .git folder still live in prod.
AI code
45%
of AI-generated code introduces an OWASP Top 10 vulnerability.
The good news: most of these holes are visible from the outside.
So Sumbrel sees them too.
Said in public
Don't take our word for it. Take theirs.
The founders of Sentry, Supabase, Replit, Vercel and Lovable, the head of Y Combinator, indie hackers and ethical hackers: what they said about app security in 2026.
Founder · YC 26Rhys Sullivan@RhysSullivan
the first vibe coded app i've actually dug into had no RLS rules and all their customer data exposed
Founder in Y Combinator's 2026 batch.
View on X ↗Ethical hackerJamieson O'Reilly@theonejvo
They are exposing their entire database to the public with no protection including secret api_key's
About Moltbook, the AI-agent social network everyone was talking about (1.8M views).
View on X ↗60+ apps shippedPrajwal Tomar@PrajwalTomar_
Without RLS, anyone can open DevTools and read your entire database. […] API keys in the frontend means game over.
From his pre-launch checklist for AI-built apps (950K views).
Enough to list your customers, issue refunds or create payments on your behalf.
Critical
Exposed .git repository
GET /.git/HEAD → 200 OK
Your entire source code, downloadable by anyone.
High
Library with known vulnerabilities
jquery 1.8.3 → 5 CVE
Public, documented vulnerabilities, with exploits ready to go.
High
Exposed source maps
index-8f2a.js.map → 200 OK
Your original code, readable in plain text, comments included.
Medium
Weak DMARC policy
_dmarc: p=none
Anyone can send emails pretending to be you.
What Sumbrel checks
Sumbrel checks your SaaS against
300,000+
known vulnerabilities. Every day.Sumbrel matches your libraries against public vulnerabilities (200+ new ones every day) and runs 30+ configuration checks on top.
Every vulnerability comes with the exact prompt to fix it. Sumbrel rescans your URL every 24 hours, and your dashboard shows how your security evolves. Example on a fictional app.
This key unlocks your Stripe account: list your customers, issue refunds, create payments.
First things first: revoke this key in your Stripe dashboard and roll a new one. An exposed key must be treated as compromised.
// app/api/checkout/route.ts: the secret key stays on the server
import Stripe from "stripe";
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!);
export async function POST(req: Request) {
const { priceId } = await req.json();
const session = await stripe.checkout.sessions.create({
mode: "subscription",
line_items: [{ price: priceId, quantity: 1 }],
success_url: `${process.env.APP_URL}/thanks`,
cancel_url: `${process.env.APP_URL}/pricing`,
});
return Response.json({ url: session.url });
}
// Frontend: no secret key anymore, just call the route
const { url } = await fetch("/api/checkout", {
method: "POST",
body: JSON.stringify({ priceId }),
}).then((r) => r.json());
window.location.href = url;
In my project, a secret Stripe key (sk_live_…) is exposed in the frontend bundle: assets/index-8f2a.js.
1. Find every place where the Stripe secret key is used client-side and remove it from the frontend code.
2. Move the Stripe calls that need the secret key into a server route (API route or edge function). That route reads the key from a server-side environment variable.
3. Make sure no secret variable has a browser-exposed prefix (VITE_, NEXT_PUBLIC_, REACT_APP_).
4. On the frontend, only use the publishable key pk_live_.
5. Don't change anything else, and list the files you changed.
On the next scan (within 24h), Sumbrel checks that the vulnerability is actually gone.
Current score89/100+41 in 30 days
Open issues30 critical
Scans301 every 24h
Alerts sent1regression fixed in 1 day
Security score, last 30 days 1 dot = 1 daily scan
Fix appliedNew vulnerability detected after a deploy
Security scanning built for how you ship. Without breaking a thing.
Passive by default
Sumbrel only reads what your site shows publicly: headers, certificate, DNS, shipped JavaScript. Exactly what a browser sees.
Deep scans, only on your own turf
Tests on .env, .git or config files only run once you prove you control the domain: a tag on your site, a file or a DNS record. The proof is re-checked on every scan.
What Sumbrel is not
Not a full pentest, and not an intrusion attempt. Sumbrel catches the misconfigurations and leaks visible from the outside, the ones bots exploit first. No tool can guarantee 100% security.
The Sumbrel offer
Everything an attacker sees of your SaaS. Before they do.
A one-off audit costs thousands and goes stale with your next deploy. Sumbrel shows you what an attacker would see, every single day, with the fix ready to paste. For the price of a streaming subscription.
ProAll-in
One plan. Every fix, on-demand scans, monitoring with alerts, the deep scan and analysis of every deploy.
Watched every 24 hours and after every deployAlert as soon as your score drops or a new issue shows up.
Your libraries checked daily against public vulnerabilities (CVEs). 200+ new ones land every day, and you don't have to keep up.
Included for every SaaS
✓A full scan every 24hPlus a scan after every deploy, once your host is connected.
✓30+ passive checksHeaders, TLS, DNS, JavaScript, subdomains. Nothing to install.
✓Deep scan.env, .git, exposed configs: the most critical holes, checked on your domain.
✓Fixes, ready to shipThe exact prompt for Claude or Cursor, or the code. Paste it, done.
✓Your security dashboardWatch your score climb day after day. Something to reassure your customers.
✓Alerts on any regressionA deploy just shipped a hole? You'll know before hackers do.
✓Score /100 and prioritiesYou know exactly what to fix first. SSL Labs TLS grade included.
✓Zero jargonEvery vulnerability explained in plain English: what it enables, and how to close it.
FAQ
You might be wondering…
Is it legal to scan my site?
Yes. The passive scan only reads what your site shows publicly, just like a browser. Deeper tests (.env, .git, config files) only run after you've proven you control the domain: a tag on your site, a file or a DNS record.
Can Sumbrel break my site?
No. Sumbrel never attempts an intrusion and never sends an attack. It makes read-only requests at a reasonable pace, like a curious visitor.
Why do I need to confirm my email?
To open your account and keep your action plan there, with the fix for every priority issue. The surface scan reads what your site shows to everyone: its result isn't secret and contains no exploitable evidence. What really touches your security, the deep scan (.env files, .git repository, backups…), only runs once you've proven the domain is yours: a DNS (TXT) record, re-checked before every scan.
What's the difference between the free scan and Sumbrel Pro?
The free scan gives you your score and a preview of your vulnerabilities. With Pro, you see every detail, get a ready-to-paste fix for each one, your URL is rescanned every 24h, and you're alerted the moment a deploy opens a new hole.
I'm not a developer. Will I get it?
Yes. Every vulnerability is explained in plain English, along with what it lets an attacker do. To fix it, paste the prompt into Claude or Cursor, or drop in the code we give you.
My app is built with Lovable, Bolt or v0. Does it work?
Yes, and that's where Sumbrel shines. It recognizes these tools and checks first for the mistakes they leave behind most often: keys in the frontend, exposed files, missing headers.
Does it replace a pentest?
No. Sumbrel catches the misconfigurations and leaks visible from the outside, the ones bots exploit first. A pentest digs deeper into your app's logic. The two go hand in hand.
Can I cancel anytime?
Yes. Sumbrel Pro has no lock-in, and you can cancel in one click from your account.
Security guides
Check your app yourself.
Practical guides to check your SaaS by hand: Supabase and Firebase rules, security headers, secrets in your JavaScript and more. Every number links to its source.