Referrers leak information about a user's browsing activity cross-site. Browser vendors have deployed a variety of mitigations to this vulnerability, ranging from spoofing the referrer to be same-origin to changing the default referrer policy.
Current status (please correct or add to this):
Last update: 2021-04-12
Firefox
- Referrers default to
strict-origin-when-cross-origin.
- Trim
document.referrer down to eTLD+1 when we observe tokens that can be used to circumvent our cross-site tracking protections.
Chrome
Referrers default to strict-origin-when-cross-origin.
Safari
- All cross-site subresource HTTP referrers are trimmed to the page's origin. This matches
strict-origin-when-cross-origin, but sites can not override this setting.
- Trim all cross-site
document.referrer to the page's origin.
- Trim
document.referrer to eTLD+1 if the referrer has link decoration and the user was navigated from a domain classified by ITP. See ITP 2.3.
Brave
From this doc: Referrer values default to strict-origin-when-cross-origin and can only be tightened via referrer policy, not weakened.
Edge
Referrers default to strict-origin-when-cross-origin.
Future path
At the very least it seems like we can align on defaulting to strict-origin-when-cross-origin (see also: w3c/webappsec-referrer-policy#125). But even this default can still be overwritten by motivated adversaries. This leads to the question of why only change the default, and not permanently trim cross-site referrers with no way to override?
- Do we expect to see a lot of breakage?
- Are there legitimate uses of full cross-site referrers that we want to continue to support?
- Can we somehow prevent abuse but still allow some parties to receive full referrer?
Referrers leak information about a user's browsing activity cross-site. Browser vendors have deployed a variety of mitigations to this vulnerability, ranging from spoofing the referrer to be same-origin to changing the default referrer policy.
Current status (please correct or add to this):
Last update: 2021-04-12
Firefox
strict-origin-when-cross-origin.document.referrerdown to eTLD+1 when we observe tokens that can be used to circumvent our cross-site tracking protections.Chrome
Referrers default to
strict-origin-when-cross-origin.Safari
strict-origin-when-cross-origin, but sites can not override this setting.document.referrerto the page's origin.document.referrerto eTLD+1 if the referrer has link decoration and the user was navigated from a domain classified by ITP. See ITP 2.3.Brave
From this doc: Referrer values default to
strict-origin-when-cross-originand can only be tightened via referrer policy, not weakened.Edge
Referrers default to
strict-origin-when-cross-origin.Future path
At the very least it seems like we can align on defaulting to
strict-origin-when-cross-origin(see also: w3c/webappsec-referrer-policy#125). But even this default can still be overwritten by motivated adversaries. This leads to the question of why only change the default, and not permanently trim cross-site referrers with no way to override?