Scan free

A security check for apps made with AI builders

SniffPup scans vibe-coded apps. Let Ember sniff it first.

Free security scanner for Lovable, Bolt and Cursor apps.

Scan, then rescan right away to check your fix (paid plans get one more), then about one scan an hour per site. Free: up to 20 scans a day signed in, 10 a day per email without an account. Scan limits

Free, no signup Read-only, passive Keys always masked

Taking payments with Stripe? Check your Stripe code free →

Cartoon Ember, a black Pomeranian in a red headband, holding a magnifying glass

Built withLovableBoltCursorReplitv0Supabase· Scan it.

Works on any public http(s) website, whatever made it. We're not affiliated with these companies.

27 scans run on SniffPup so far

How it works

Find issues. Fix fast. Ship it.

Three steps, no security jargon.

  1. Paste your link.

    Drop in your live URL. We load it like a visitor would. No login, no code access needed.

  2. See what's wrong.

    Every issue gets a severity and a short explanation in normal words.

    Critical Exposed OpenAI API key
    Medium AI assistants see an empty page
    Low Missing 4 security headers
  3. Paste the fix.

    Copy a prompt made for Lovable, Cursor, Bolt or Claude Code, let it fix the issue, redeploy, and re-check.

Example report

What a report looks like

Example report · demo-app.example is a made-up site with fake keys, not a real customer

0/100
demo-app.example
5 critical3 high1 medium4 low2 info
  • critical Exposed Stripe live secret/restricted key
  • critical Exposed OpenAI API key
  • critical Exposed Supabase service_role key

Open the full example report

Everything in one place

Everything SniffPup does

Every feature, one click away. The same list lives in the Features menu at the top of every page.

Start here

Sniff & Fix

Sniff & Fix hub

Paste-in checks for other common bugs in AI-built apps.

Open →
Free quick check

Payments Doctor

Paste your Stripe checkout and webhook code. Quick check free; full check on Solo and up.

Open →
Free quick check

Repo scan

Check a public GitHub repo for committed keys, .env files, tables without RLS and Stripe mistakes, plus a licence check and an SBOM of your npm packages.

Open →
Free account

Supabase project check

Connect your Supabase project for a free, read-only check of its security settings. You get a score out of 100, and critical issues come with their fix.

Open →
Free

Migration safety check

Paste a database migration, or scan a repo, to catch steps that delete or rewrite data before they run. It also flags migrations that run on deploy with no backup first, and the Supabase project check shows whether you have a backup to restore from.

Open →
Free

Speed Doctor

Part of every free scan: a speed score out of 100 and what slows your site down, like heavy JavaScript, large images and missing cache headers. Every finding is free; Solo and up get every fix step.

Open →
Free

Crash Catcher

Part of every free scan: a crash score out of 100 and what can break your site for visitors, like scripts that fail to load and leave a blank page, crash screens, broken styles and dead links to your own pages. Verified sites can also add a small script to see crashes real visitors hit. Every finding is free; Solo and up get every fix step.

Open →
Free

Cleanup report

Part of the free repo scan: packages and files you likely don't use, copied code, very large files and errors that get hidden, with a cleanup score out of 100 and a step-by-step cleanup plan. Every finding is free; Solo and up get every fix step.

Open →
Free

Free tools

Headers, public .env, source maps, Supabase keys and data, Firebase rules, RLS policy explainer.

Open →

Your reports

For verified owners

Learn

What the free scan checks

15 checks, all from the outside

The same way a stranger would look. You can watch each one run live when you scan.

  1. Loading your page like a visitor's browserOne GET of the URL you entered, following redirects
  2. Looking for leaked keys in the page and inline scriptsOpenAI, Anthropic, Stripe, Supabase, AWS, GitHub, Slack, Resend and more
  3. Reading your JavaScript files for keys and old librariesUp to 20 same-site JS files, plus the chunks they load
  4. Checking for a public source mapIs your original source code downloadable?
  5. Checking for exposed files.env, .git, .npmrc, cloud credentials, SQL dumps, backups
  6. Checking security headers, cookies and the HTTPS redirectHSTS, CSP, clickjacking, cookie flags, http → https
  7. Checking your HTTPS certificateExpiry, issuer, name match, trust
  8. Comparing what GPTBot sees with your browserPlus robots.txt and llms.txt
  9. Checking AI crawler access and structured dataGPTBot, ClaudeBot, PerplexityBot, llms.txt links
  10. Spotting a Supabase or Firebase backendFrom the public config your site already ships
  11. Testing what a stranger can read from your databasePublic key only, read-only, no row data downloaded
  12. Checking CORSCan any website read your pages as your users?
  13. Checking your email setupSPF, DMARC and DKIM, DNS lookups only, no mail sent
  14. Checking speed and accessibility basicsResponse time, compression, page and image size, alt text, labels, language
  15. Checking your domain, outside scripts and legal linksDomain expiry from the public registry, http:// files, outside script hosts, privacy and terms links

Exactly what the scanner does · How the score works

We'd rather you know this up front

What we can't check

Native iOS or Android apps, or anything that isn't a public http(s) site.
Pages and APIs that need an account. We never sign in.
Your server code or git history. The URL scan only sees what your site sends to browsers. For a public GitHub repo, use the repo scan.
Your Supabase RLS policies. The free scan only tests what an anonymous visitor can read; the Pro deep check goes further on a verified site.
It's not a penetration test: no fuzzing, no exploit payloads, no login attempts.
A clean report means we didn't find anything in the checks we run. It doesn't mean your app is secure.

More in the FAQ · Exactly what the scanner does

Ember, a fluffy black Pomeranian in a pink checkered harness, sitting on the grass in a park

Yes, Ember is a real dog

Meet our Chief Sniffing Officer

She's a small, very fluffy black Pomeranian, and she notices everything: a new smell on the walk, a dropped snack, a door left open.

That's the job we built SniffPup to do for your app. AI builders are great at shipping fast, and they sometimes leave a key in the JavaScript or a .env file on the server. We find those before someone else does.

Ember doesn't write the code. She supervises from the couch.

Read Ember's story →

What it costs

Start free. Pay only for the fixes you want.

Free scan
$0

See every issue. Full fixes free for every critical issue (no critical? one other fix is free).

Scan free
One time

Full fix report

$9

Every fix for one app, plus 30 days of free re-scans. No account, no subscription.

See the report
Monthly

Plans

from $7 /mo

Solo $7, Starter $15, Pro $29, Ultimate $49. Daily or hourly re-scans and alerts.

Compare plans

FAQ

Questions people ask

Is it safe to scan my app?

Yes. Free scans are passive. SniffPup loads your page and the JavaScript it ships, like a normal browser, plus a short fixed list of well-known paths such as /.env and /.git/config. It never logs in, never sends attack payloads and never uses a secret key it finds. Full scanner details.

Do you store the secrets you find?

No. We store findings with secrets masked, never the full value. For Pro database checks we store only whether a table or bucket is readable and its row count, never row contents. See the Privacy Policy.

What do I get for $9?

Every finding for one app, with a plain-English explanation and a copy-paste fix prompt for Lovable, Cursor, Bolt and Claude Code, plus 30 days of free re-scans so you can check your fixes. You pay once. No account, no subscription.

Can I cancel or get a refund?

You can cancel a subscription bought on our website anytime from the billing portal; it ends at the end of the billing period. Purchases made in our app are cancelled and refunded through the store you paid. All sales are final, except where required by law or if we charged you in error. Here's the refund policy.

Does a clean result mean my app is secure?

No scanner can promise that. A passive scan catches common, costly mistakes quickly. It is not a penetration test or a code audit.

Someone scanned my site. How do I opt out?

Email abuse@sniffpup.com with your domain and we'll block scans of it. More about the SniffPupScanner bot.

Guides and free checkers