What we look for
These pages are served without the X-Content-Type-Options: nosniff header, which tells browsers to trust the file type the server declares instead of guessing.
Why it matters
Guessing can let a file uploaded as, say, an image be run as a script. It protects visitors but does not affect search results, so it costs no points.
How to fix
Add the header X-Content-Type-Options: nosniff to every response in your server, CDN or hosting settings.
Seen in a real crawl
From a crawl of Millbrook Hardware (the broken fixture), a test site from Raptor’s fixture suite.
16 pages let browsers guess their file types
/Missing X-Content-Type-Options header/gone Missing X-Content-Type-Options header/missing Missing X-Content-Type-Options header
http://127.0.0.1:8001raptor 0.3.0, 17 Oct 2026Open this finding in that crawl’s report
It also fired on Kestrel Bay Digital and the js-heavy fixture.
Where you’ll see it
The id is stable, and every surface uses it, so it’s the thing to search for or hand to an agent.
- Terminal
- When it is one of the five findings under Fix first,
raptor crawlprints the id under it.Check: security.
missing_ x_ content_ type_ options - crawl.json and the CSV
- The crawl JSON names the finding by this id, and so do the CSV and
raptor_query."check_
id": "security. missing_ x_ content_ type_ options" - The HTML report
- This link opens the finding in the report, and each finding shows its id.
crawl.
html# finding= security. missing_ x_ content_ type_ options - MCP
raptor_findingswith thischeck_idreturns the finding in full, with a fix brief ready to paste into a task. If it didn’t fire, it says why.raptor_
findings { "job_ id": ". . . ", "check_ id": "security. missing_ x_ content_ type_ options" }