Security Auditor — checks that the
Referrer-Policy response header is set, uses valid values, and does not weaken the browser’s default protection of your page addresses.Privacy
Keeps tokens, emails and search terms in your URLs away from analytics, ad networks and every site you link to.
Standards
Follows the W3C Referrer Policy specification and the browsers’ current default.
Referer header. The Referrer-Policy header decides how much of the page address goes with it: nothing, only the origin (https://example.com/), or the full URL with its path and query string. This auditor reads that header from the audited URL and checks the policy browsers will apply.
How it works
- Fetch — sends a
HEADrequest (orGETwhenHEADis not supported) to the audited URL as 37AuditsBot. A blocked request ends the audit with590; any other failure (timeout, DNS, TLS, non-2xx answer) ends it with500. - Read — collects every
Referrer-Policyheader line and splits it on commas into tokens, compared case-insensitively. - Effective policy — like browsers, takes the last valid token as the policy in force, so
Referrer-Policy: no-referrer, strict-origin-when-cross-originappliesstrict-origin-when-cross-origin. Unknown tokens are skipped. - Rules —
unsafe-url(400) andno-referrer-when-downgrade(401) fail; a missing header (300) and unknown tokens (301) warn. - Aggregate —
FAILwins overWARNING; when every rule passes the audit isSUCCESS(200). - Specification pin — every run emits
37A-ReferrerPolicyAuditor-100(INFORMATION), naming the W3C Referrer Policy Candidate Recommendation of 2017-01-26. It does not change the overall status.
no-referrer, no-referrer-when-downgrade, same-origin, origin, strict-origin, origin-when-cross-origin, strict-origin-when-cross-origin, unsafe-url.
What it audits
Every row maps to onecheckRule* method and one CheckCode, in the order the auditor runs them. CheckCode suffixes use status ranges: 100 information, 200 success, 300–399 warning, 400–499 fail, 500–599 error.
Output documentation
Risks and considerations
What leaks through the Referer header
- Page addresses often carry private data: password-reset and magic-link tokens, session or tracking ids, email addresses, order numbers and search terms. Any third party that receives the full URL (analytics, ad networks, CDNs, embedded widgets, every site you link to) can log it.
The browser default changed
- Since 2020–2021 Chrome, Edge, Firefox and Safari apply
strict-origin-when-cross-originwhen a page sends no policy: other sites receive only your origin, and nothing at all over a downgrade to HTTP. That is why a missing header is aWARNING, not aFAIL. - Setting
unsafe-urlorno-referrer-when-downgrade(the old default) overrides that protection and is worse than sending no header, so both fail.
Choosing a policy
strict-origin-when-cross-originkeeps full URLs on your own site and still lets analytics see which site sent the visitor.same-originorno-referrerhide even your origin from other sites; use them for admin panels, account pages and any page whose address alone is sensitive.
What this auditor does not check
- A
<meta name="referrer">tag in the HTML andreferrerpolicyattributes on links, images and scripts can override the header for the page or for single requests; they are not read. - Only the audited URL is fetched; other pages of the site may send a different policy.