Skip to contentLockpick
How it worksPricingDocs

Read

  • BlogPlain answers to common security questions
  • GuidesStep by step fixes for common setups
  • Security checksEvery check we run, explained

Learn

  • Learn with PickTwo-minute lessons on how sites get attacked
  • Lockpick for ClaudeCheck sites from Claude and other assistants
  • GlossaryThe words we use, in plain words

Company

  • ChangelogWhat changed, newest first
  • StatusWhether scans are running right now
  • Security and trustHow we check and what we never do
Sign inCheck it
Checks

Does your site stop browsers from guessing file types?

By Mark KashefPublished October 8, 2026

The file type check looks for the X-Content-Type-Options header set to nosniff on your responses. It tells browsers to trust the file type your server declares instead of guessing from the content.

What does this check look at?

It looks at whether responses tell browsers not to guess a file type. MDN says the header indicates that the declared types should be respected and not changed. Lockpick's own guide puts it this way. Content type protection stops the browser from guessing what a file is, which could turn an uploaded image into a script.

Pulse and Deep scans both run it.

Curious what your site shows from outside? The quick check is free and needs no account.

Check it

What does a result mean?

What the report showsWhat it meansWhat to do
PassThe responses read send nosniff.Nothing.
AttentionAt least one response did not.Add the header to every response.

A missing setting is a hardening gap, not proof that any file can be run as a script. A clean result means nothing was found in what the scan read. It does not prove the problem is absent from parts the scan never sees.

How serious is a finding?

Treat this as a hardening gap. It makes an attacker’s job easier but gives them no path of its own, so fix it after anything more direct. Confidence starts low, because it is inferred from headers or declarations rather than shown directly. The report lists what to fix by how directly someone could use it, not by the severity label.

What does a confirmed finding have to show?

PartFor this check
Where it startsContent or a frame an attacker can influence
The protection that should stop itA browser protection header is missing or weak
What is reachedHow browsers treat your pages
What followsA hardening gap; no exploit was shown

Which standards does it relate to?

StandardReference
OWASP Top TenA02:2025 Security Misconfiguration
CWECWE-693
ASVSv5.0.0-3.4.4

Each one is a related control, not a verification. A scan sees what anyone online can see, so it never proves a whole requirement is met.

Fix it with your AI

This is one header, safe to add almost everywhere, as long as your files declare the right type.

Fix prompt for any coding agent
Add the response header X-Content-Type-Options: nosniff to every response my site serves, including pages, scripts, styles and API responses. Set it once in my host or framework config. Then check that my scripts, stylesheets and fonts still load, since browsers will now refuse a script served with the wrong Content-Type.

How to check

Say Atlas, our example app at atlas.example, sets nosniff on pages but not on uploaded files. The check names the response that lacked it.

The free quick check covers this on your homepage with no account, and a Pulse scan from your account adds your scripts and public records. Pulse or Deep explains the difference.

Questions people ask

Can adding nosniff break my site?

Only when a file is served with the wrong type, for example a script labelled as text. The fix is to correct the type, which is worth doing anyway.

Is this the same check as the one on API responses?

No. API responses have their own check in Deep scans, which also looks at caching and cross-origin rules.

See what your site shows from outside

A quick check reads your homepage the way a visitor would and gives you a score. No account needed.

Check your site

Related pages

  • Do your API responses send the right protective headers?
  • Does your site send a Content Security Policy?
  • How much of your page address do you share when visitors click away?

Sources

  1. How we rate findings Lockpick docs, read on October 7, 2026
  2. Security settings your site sends to browsers Lockpick docs, read on October 7, 2026
  3. X-Content-Type-Options header MDN Web Docs, read on October 7, 2026

About the author

Mark Kashef, Founder of Lockpick

I'm Mark, and I build Lockpick. I write these pages, and each one is checked against its sources before it goes live. The Updated date changes only when the page itself does.

Lockpick
PricingMethodologyDocsBlogGuidesSecurity checksLearn with PickSecurity and trustLockpick for ClaudeChangelogStatusFacts for AI assistants

Lockpick is a security scanner for vibe-coded apps. It checks what your live site exposes and what a GitHub repo or AI skill would do before you install it, then gives you a fix prompt for Lovable, Bolt, Replit, Cursor or Claude Code.

Lockpick assesses public pages you are authorized to test, and public GitHub code it never runs.

© 2026 LockpickTermsPrivacyContactSign in