A missing header does not automatically mean a data leak
The current specification default is strict-origin-when-cross-origin. Within the same origin, the sanitised full URL may be sent; for other origins, generally only the origin. In the ordinary transition from public HTTPS to unencrypted HTTP, no referrer is sent. Browsers may reduce the information further. Chrome introduced this default from version 85, Firefox from 87. Older reports about previous browser defaults therefore do not necessarily describe present behaviour. Referrer Policy § 3, Chrome's change, Firefox's change
The Web Security Check evaluates the header received in the final response and its recognised policy values. It does not observe browser requests and therefore captures neither later meta or element policies nor JavaScript telemetry. Its assessment is not a measurement of all data actually transmitted.
Compare the eight values
An origin consists of scheme, host and port. Another subdomain or port is therefore cross-origin, even when both addresses belong to the same company. ‘URL’ in the table means the address without user information or a fragment (#…), but generally including the path and query. For ordinary HTTP(S) web addresses:
On narrow screens, scroll the table sideways.
| Policy | Same origin | Other origin without a security downgrade | Public HTTPS → public HTTP |
|---|---|---|---|
no-referrer | Nothing | Nothing | Nothing |
strict-origin-when-cross-origin | URL | Origin | Nothing |
strict-origin | Origin | Origin | Nothing |
origin | Origin | Origin | Origin |
same-origin | URL | Nothing | Nothing |
no-referrer-when-downgrade | URL | URL | Nothing |
origin-when-cross-origin | URL | Origin | Origin |
unsafe-url | URL | URL | URL |
The table describes policy rules, not guaranteed transmission to every recipient. The draft determines a security downgrade from the trustworthiness of the URLs; local loopback addresses are therefore not a general test for public HTTPS-to-HTTP transitions. Very long referrers may be shortened to the origin, and privacy features may impose further restrictions. Referrer Policy: determining and sanitising the referrer
For an ordinary website, setting the default explicitly is an understandable starting point:
Referrer-Policy: strict-origin-when-cross-originIf even the source origin is confidential, or a sensitive page should send no referrers, consider no-referrer. This may change attribution and certain poorly designed integrations. Check these data flows before changing the setting; the Referer should not be the sole access control.
Tokens and analytics: the remaining transmission paths
A reset page using unsafe-url may also reveal a query parameter in the referrer of a cross-origin request. This schematic example explicitly assumes that permissive policy:
Referrer-Policy: unsafe-urlSource page: https://app.example.com/reset?token=SYNTHETISCH
Resource: https://metrics.example.net/pixel
Possible Referer: https://app.example.com/reset?token=SYNTHETISCHWith an effective strict-origin-when-cross-origin policy, only https://app.example.com/ remains in this ordinary cross-origin case. no-referrer omits that information too. However, neither policy removes the parameter from the address bar, server logs or a link explicitly constructed with it.
An included script runs in the page's context and can read its address independently of the referrer. The PoPETs study by Zagi, Moti and Acar (2025) examines this distinction using its own sample of websites. Its percentage is neither a current rate across all websites nor evidence of a browser defect; for configuration, the important distinction remains between the header and script data. Original publication
Analytics is not generally ‘same-origin’ either. GA4 configuration uses document.location as the default for page_location and document.referrer for page_referrer. These are separately collected measurement parameters. A stricter Referrer-Policy does not automatically switch off this measurement or change UTM parameters in the destination address. Check the requests actually sent and the analytics settings chosen. Google: GA4 configuration fields
Headers, meta elements and individual requests
There is no general rule that ‘the strictest value wins’. The response header sets the initial document policy. A processed meta element can change it for subsequent requests; attributes and Fetch options can govern individual requests differently. A meta element inserted late cannot retrieve requests already sent. HTML: referrer metadata
<meta name="referrer" content="strict-origin-when-cross-origin">
<a href="https://partner.example.net/" referrerpolicy="no-referrer">Partner</a>fetch('/konto/status', { referrerPolicy: 'no-referrer' });The relative Fetch call is a model for your own application, not a tested account function. For a link, rel="noreferrer" can also suppress referrer transmission. A header policy is therefore not an immutable security boundary against JavaScript already executing in your document.
Multiple values in the HTTP header form a fallback list: the browser uses the last value it recognises. This example is syntactically valid, but usually unnecessary for current target browsers:
Referrer-Policy: no-referrer, strict-origin-when-cross-originThis list rule does not apply to referrerpolicy attributes or the meta element. Avoid unintended duplication between the application and CDN. Redirect responses can also influence the policy of the continued request; examine the chain. External stylesheets may have their own referrer and policy context for resources they subsequently load. Referrer Policy: delivery and integration
Roll out a change safely
- Identify sensitive URLs, third-party resources, outgoing links and required attribution. Also consider whether confidential data should be in the URL at all.
- Set the header at the responsible point in the delivery chain, and check meta elements, element attributes and scripts for consistency.
- Open your own test pages in the target browsers. Inspect the
Refereractually sent in the network panel, not just the response header. Check same-origin and cross-origin requests, redirects and particularly sensitive pages. - Check analytics and required partner journeys using synthetic data. An empty
document.referrerdoes not prove that no other information was transmitted. - Keep the previous setting ready for rollback. Reverting affects newly loaded responses; cached documents may continue to use the old state. Data already transmitted is not retrieved by doing so.
Data protection depends on the actual data flow
URL information may be confidential or personal data. A suitable policy can reduce data transmission, but a missing header alone establishes neither a data protection breach nor, when present, compliance. Origin, destination URL, script telemetry and logging also belong in the assessment. Further reading: web security and compliance.
Frequently asked questions
Which value should I use?
strict-origin-when-cross-origin is the current specification default and a suitable starting point if its described data flows meet your needs. no-referrer can make sense for sensitive pages. Check the required functions and the remaining script-based transmissions.
How does no-referrer differ from the default?
no-referrer suppresses the referrer even within the same origin. The default may transmit the path and query there, and generally still reveals the origin in cross-origin requests. Both rules concern this browser mechanism, not arbitrary application data.
Does the policy prevent Google Analytics or UTM tracking?
Not generally. Referrer-based attribution may change. Analytics can also collect the page address as a separate parameter; UTM parameters in a destination URL remain present.
Does the header take precedence over a meta tag?
Not generally. A processed meta element can change the document policy. Individual requests can also use their own policy; inspect the request actually sent.
Can browsers send less than the policy permits?
Yes. Privacy features and user settings can further shorten or suppress referrers. A policy therefore does not reliably establish that a particular value reached the recipient.
Sources and technical reference date
- Referrer Policy
: Editor’s Draft; values, sanitisation, fallback lists, redirects and user control. - HTML: referrer metadata
: processing meta elements.
- Chrome and Firefox: introduction of the stricter default.
- GA4 configuration:
page_locationandpage_referrer. - PoPETs 2025: Implementation and Circumvention: original study of separate script-based transmission.
Source reference date: 27 September 2026. Header values, meta, element and Fetch changes, and local redirects were checked synthetically in Chromium 147.0.7727.15 for that source review. No real analytics transmission, public HTTPS-to-HTTP test or full browser matrix was performed.