Fingerprinting

From MozillaWiki
Jump to navigation Jump to search

This page tracks the deployment of Firefox's Fingerprinting Protection (FPP) feature.

Other documents that may be relevant depending on the audience:

Summary

As of Firefox 160 Release / 162 Nightly, last updated 11/9/26, the following protections are enabled:

Protection Desktop FPP Android FPP Desktop Baseline Android Baseline
CanvasRandomization Yes Yes No (Nightly 150 only; superseded by EfficientCanvasRandomization in 151) No
EfficientCanvasRandomization Yes Yes Yes Nightly-only; Release rollout via Nimbus starting 160
FontVisibilityLangPack Yes Yes
IMEStyle Yes Yes
JSMathFdlibm Yes Yes
MaxTouchPointsCollapse Yes Yes Yes Nightly-only; Release rollout via Nimbus starting 160
NavigatorHWConcurrencyTiered Yes Yes
ScreenAvailToResolution Yes Yes Yes Nightly-only; Release rollout via Nimbus starting 160
WebGLRendererConstant Nightly-only Nightly-only
WebGLVendorSanitize Nightly-only Nightly-only

"FPP" is the set applied in Private Browsing and ETP Strict (RFPTargetsDefault.inc); "Baseline" is the set applied in all normal windows (RFPTargetsDefaultBaseline.inc).

Desktop

Protection Name Channel Version Bugs
ScreenAvailToResolution Enabled in FPP (PBM) Release as of 143; Enabled in Baseline Release as of 151
Baseline Release 151 bug 2032123
Baseline Beta 151 bug 2032123
Baseline Nightly 150 bug 1990514
FPP (PBM) Release 143 bug 1978414
FPP (PBM) Beta 143 bug 1978414
FPP (PBM) Nightly 143 bug 1978414
Regressions: bug 2016747
MaxTouchPointsCollapse Enabled in FPP (PBM) Release as of 143; Enabled in Baseline Release as of 151
Baseline Release 151 bug 2032123
Baseline Beta 151 bug 2032123
Baseline Nightly 150 bug 1990514
FPP (PBM) Release 143 bug 1978414
FPP (PBM) Beta 143 bug 1978414
FPP (PBM) Nightly 143 bug 1978414
Regressions: bug 1991701 (Linux touch disabled by companion fix bug 1957658, re-enabled in 146/147); bug 2021715 (Linux Wayland count adjusted, 150)
EfficientCanvasRandomization Enabled in FPP (PBM) Release as of 145; Enabled in Baseline Release as of 151
Baseline Release 151 bug 2032123
Baseline Beta 151 bug 2032123
Baseline Nightly 150 bug 2021606
FPP (PBM) Release 145 bug 1993304
FPP (PBM) Beta 145 bug 1993304
FPP (PBM) Nightly 145 bug 1993304
Regressions: bug 2025570 (Google Maps highway labels broken, fixed via RemoteSettings in 150/151)
CanvasRandomization Enabled in FPP (PBM) Release as of 120; in Baseline Nightly 150 only, removed from Baseline in 151 (superseded by EfficientCanvasRandomization)
Baseline Nightly 150 (removed in 151) bug 2021606; removed by bug 2032123
FPP (PBM) Release 120 bug 1858181
FPP (PBM) Beta 120 bug 1858181
FPP (PBM) Nightly 115 bug 1825250 (Nightly-only in 118–119 due to bug 1849903)
Regressions: bug 1852541 (Google Meet can't join, fixed 120); bug 1876149 (onshape.com getImageData); bug 1882761 (Google Maps highway symbols); bug 1887161 (canvas getImageData slow in PBM on maps/Airbnb, fixed via SipHash in 134 then superseded by EfficientCanvasRandomization); bug 1905884 (visual bugs on canvas-heavy sites); bug 1957426 (meta); bug 1957427 (wpt.fyi image comparison, fixed via overrides); bug 2010274 (SoundCloud audio waveform broken in PBM/ETP Strict); bug 2025570 (Google Maps Baseline, shared with EfficientCanvasRandomization)
FontVisibilityLangPack Enabled in FPP (PBM) Release as of 118
FPP (PBM) Release 118 bug 1849903
FPP (PBM) Beta 118 bug 1849903
FPP (PBM) Nightly 118 bug 1849903
Regressions: bug 1827475 (meta); bug 1850672 (localized font names not in standard list, fixed 118.0.2/119); bug 1854950 (broken rendering on Linux with no native distro fonts, fixed 119/120)
JSMathFdlibm Enabled in FPP (PBM) Release as of 134
FPP (PBM) Release 134 bug 1887682
FPP (PBM) Beta 134 bug 1887682
FPP (PBM) Nightly 134 bug 1887682
NavigatorHWConcurrencyTiered Enabled in FPP (PBM) Release as of 143
FPP (PBM) Release 143 bug 1978414
FPP (PBM) Beta 143 bug 1978414
FPP (PBM) Nightly 143 bug 1978414 (renamed and tiered in 144 via bug 1984333)
Regressions: bug 1984132; bug 1982336
IMEStyle Enabled in FPP (PBM) Release as of 155
FPP (PBM) Release 155 bug 2055006
FPP (PBM) Beta 155 bug 2055006
FPP (PBM) Nightly 155 bug 2055006 (hides custom IME styling in EditContext textformatupdate events; RFP-only version landed in 154 via bug 2047612)
WebGLRendererConstant Enabled in FPP (PBM) Nightly-only as of 154
FPP (PBM) Nightly 154 bug 2050515
WebGLVendorSanitize Enabled in FPP (PBM) Nightly-only as of 154
FPP (PBM) Nightly 154 bug 2050515 (WebGLVendorRandomize was also enabled, then removed in 155 via bug 2056780; WebGLVendorConstant replaced by bucketing the vendor to a GPU family in 159 via bug 2055176)
Regressions: bug 2056780 (CAPTCHA rates increased with vendor randomization, fixed 155); bug 2055176 (flightradar24.com broken in PBM on Linux, fixed 159)

Android

Protection Name Channel Version Bugs
ScreenAvailToResolution Enabled in FPP (PBM) Release as of 143; Enabled in Baseline Nightly-only as of 151; Baseline Release rollout via Nimbus starting 160
Baseline Release 160 (Nimbus rollout, target 100% in 162) Nimbus: fpp-canvas-touchpoints-screenavail-android
Baseline Beta 159+ (Nimbus experiment) Nimbus: fpp-canvas-touchpoints-screenavail-android-beta
Baseline Nightly 151 bug 2032123
FPP (PBM) Release 143 bug 1978414
FPP (PBM) Beta 143 bug 1978414
FPP (PBM) Nightly 143 bug 1978414
MaxTouchPointsCollapse Enabled in FPP (PBM) Release as of 143; Enabled in Baseline Nightly-only as of 151; Baseline Release rollout via Nimbus starting 160
Baseline Release 160 (Nimbus rollout, target 100% in 162) Nimbus: fpp-canvas-touchpoints-screenavail-android
Baseline Beta 159+ (Nimbus experiment) Nimbus: fpp-canvas-touchpoints-screenavail-android-beta
Baseline Nightly 151 bug 2032123
FPP (PBM) Release 143 bug 1978414
FPP (PBM) Beta 143 bug 1978414
FPP (PBM) Nightly 143 bug 1978414
EfficientCanvasRandomization Enabled in FPP (PBM) Release as of 145; Enabled in Baseline Nightly-only as of 151; Baseline Release rollout via Nimbus starting 160
Baseline Release 160 (Nimbus rollout, target 100% in 162) Nimbus: fpp-canvas-touchpoints-screenavail-android
Baseline Beta 159+ (Nimbus experiment) Nimbus: fpp-canvas-touchpoints-screenavail-android-beta
Baseline Nightly 151 bug 2032123
FPP (PBM) Release 145 bug 1993304
FPP (PBM) Beta 145 bug 1993304
FPP (PBM) Nightly 145 bug 1993304
CanvasRandomization Enabled in FPP (PBM) Release as of 120; not in Baseline (EfficientCanvasRandomization is used there instead)
FPP (PBM) Release 120 bug 1858181
FPP (PBM) Beta 120 bug 1858181
FPP (PBM) Nightly 115 bug 1825250 (Nightly-only in 118–119 due to bug 1849903)
Regressions: bug 1852541 (Google Meet can't join, fixed 120); bug 1876149 (onshape.com getImageData); bug 1882761 (Google Maps highway symbols); bug 1887161 (canvas getImageData slow in PBM, fixed via SipHash in 134 then superseded by EfficientCanvasRandomization); bug 1905884 (visual bugs on canvas-heavy sites); bug 1957426 (meta); bug 1957427 (wpt.fyi image comparison, fixed via overrides)
FontVisibilityLangPack Enabled in FPP (PBM) Release as of 134 (removed 124–133 via bug 1826412, re-enabled via bug 1928705)
FPP (PBM) Release 134 bug 1928705
FPP (PBM) Beta 134 bug 1928705
FPP (PBM) Nightly 118 bug 1849903 (removed in 124 via bug 1826412, re-added in 134 via bug 1928705)
Regressions: bug 1946625 (Brahmic scripts broken on older Samsung Android); bug 1956251 (cxcricket.co Bangla Sangam MN font missing from Android font list)
JSMathFdlibm Enabled in FPP (PBM) Release as of 134
FPP (PBM) Release 134 bug 1887682
FPP (PBM) Beta 134 bug 1887682
FPP (PBM) Nightly 134 bug 1887682
NavigatorHWConcurrencyTiered Enabled in FPP (PBM) Release as of 143
FPP (PBM) Release 143 bug 1978414
FPP (PBM) Beta 143 bug 1978414
FPP (PBM) Nightly 143 bug 1978414 (renamed and tiered in 144 via bug 1984333)
Regressions: bug 1984132; bug 1982336
IMEStyle Enabled in FPP (PBM) Release as of 155
FPP (PBM) Release 155 bug 2055006
FPP (PBM) Beta 155 bug 2055006
FPP (PBM) Nightly 155 bug 2055006 (hides custom IME styling in EditContext textformatupdate events; RFP-only version landed in 154 via bug 2047612)
WebGLRendererConstant Enabled in FPP (PBM) Nightly-only as of 154
FPP (PBM) Nightly 154 bug 2050515
WebGLVendorSanitize Enabled in FPP (PBM) Nightly-only as of 154
FPP (PBM) Nightly 154 bug 2050515 (WebGLVendorRandomize was also enabled, then removed in 155 via bug 2056780; WebGLVendorConstant replaced by bucketing the vendor to a GPU family in 159 via bug 2055176)
Regressions: bug 2056780 (CAPTCHA rates increased with vendor randomization, fixed 155); bug 2055176 (flightradar24.com broken in PBM on Linux, fixed 159)