Skip to content
SniffPup
How it worksSample reportPricingGuidesAboutSign in
Free checker

Free source map exposure checker for your site

Paste your live URL to check whether anyone can download the source map for your JavaScript, and with it your original, readable source code. It's passive: SniffPup reads the files your page already loads, like a normal browser.

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

This runs SniffPup's normal free scan, so you get the whole report, not just this one check. A public source map is listed as “Source maps are public (your original source code is downloadable)”. The free report lists every issue it finds with its severity, plus the full fix free for every critical issue (with no critical, one other fix). Only scan sites you own or are authorized to test. What the scanner does and never does.

What this checks

  • The source map your JavaScript points to. SniffPup reads up to 20 same-origin JavaScript files your page loads, finds the first sourceMappingURL comment that points to a .map file on your own site, and requests it once.
  • Only real source maps count. It's reported only if the response is a version 3 source map with a sources list, not your app's normal HTML page.
  • As part of the same free scan: secret keys in your HTML and JavaScript (masked), public .env and .git files, outdated JavaScript libraries, security headers and HTTPS.

What it can't tell you

  • It checks the first source map it finds, not every one, and doesn't guess .map files that your JavaScript doesn't point to.
  • It only follows JavaScript on the site you enter, not scripts from other domains, other subdomains or pages behind a login.
  • It scans live web URLs only, not native mobile apps.
  • A 100 score means no issues were found in our checks. It is never proof of security.

Check it yourself

Open DevTools → Sources on your live site and look for your original file names. Or, from a terminal, using one of your own JavaScript file paths:

curl -s https://your-app.com/assets/index-abc123.js | tail -c 200
curl -sI https://your-app.com/assets/index-abc123.js.map

If the end of the file has sourceMappingURL=...map and that .map URL loads, your source map is public.

How to fix it

  1. Turn off browser source maps for production builds in your build tool's config.
  2. If you need them for error tracking, upload them to your error tracker instead of publishing them.
  3. Redeploy, then scan again to confirm.

More: Can strangers read your app's source code? and the .env exposure checker.

Questions

What is a public source map?

Your live site ships minified JavaScript, which is hard to read. A source map (a .map file) turns it back into your original files, often with comments. It's useful while debugging, but if it's published, anyone can browse your original code and look for weak spots.

How does SniffPup check for one?

It reads the same-origin JavaScript files your page loads and looks for a sourceMappingURL comment at the end of a file. It requests the first source map it finds on your own site, once, and reports it only if the response really is a source map (version 3 with a sources list). It doesn't guess other .map file names.

Is a public source map a leak of my secret keys?

Not by itself, and it's reported as low severity. It makes your code easier to read and attack. Secret keys are a separate check in the same scan: SniffPup looks for them in your HTML and JavaScript and masks any it finds.

How do I turn source maps off?

It depends on your build tool. In Vite, build.sourcemap is off by default, so check you haven't turned it on (or set it to "hidden", which still writes the files but drops the link to them). In Next.js, productionBrowserSourceMaps is off unless you enable it. Then redeploy and scan again.

Does a clean result mean my code is private?

No. Your JavaScript is always public, minified or not. A clean result means the source map your JavaScript points to wasn't downloadable at scan time. It doesn't check .map files that aren't referenced, other subdomains or pages behind a login.

All free checkers

SniffPup

Ember supervises from the couch. SniffPup is a product of Ember and Saru LLC.
10850 Providence Rd #1370, Charlotte, NC 28277, USA

Support: support@sniffpup.com
Abuse & scan opt-out: abuse@sniffpup.com

Have an idea? Drop it in our suggestion box or email us. We read all feedback and may improve SniffPup in future updates; we can't promise any specific feature. Suggestions are covered by the Feedback section of our Terms.

ProductFree scanSample reportPricingHow our scanner worksHow scoring worksFAQCompareGuidesFree checkersBlogChangelogStatus
CompanyAboutSniffed by SniffPup badgeSniffPupScanner bot & opt-outsecurity.txtSniffPup on XContact
LegalTermsPrivacyAcceptable UseRefunds

🐾 We scan ourselves daily

Featured on: Fazier · Dang.ai

Follow for more Ember adventures 🐾 emberandsaru.com · @EmberandSaru on X

SniffPup checks what is publicly visible on your site. A clean report is not a guarantee of security. © 2026 Ember and Saru LLC.