# Privacy Capabilities Overview ```{note} This page is auto-generated by `docs/_addons/etp_matrix.py` from `browser/app/profile/firefox.js`, `modules/libpref/init/all.js`, and `modules/libpref/init/StaticPrefList.yaml` during the documentation build. To modify the content, update the extension or the source files. ``` This page documents Firefox desktop privacy features and their default configurations. **Quick Navigation:** - [Enhanced Tracking Protection](#enhanced-tracking-protection-etp) - [Safe Browsing](#safe-browsing) - [Private Browsing](#private-browsing) - [Cookie Behavior](#cookie-behavior) - [Privacy Headers](#privacy-headers) - [Fingerprinting Resistance](#fingerprinting-resistance) - [Anti-fraud](#anti-fraud) - [Other Privacy Features](#other-privacy-features) --- ## Enhanced Tracking Protection (ETP) Enhanced Tracking Protection features that change between **Standard** and **Strict** modes. Users select their ETP mode in Firefox Settings. The **Normal** and **Private** columns indicate whether each feature is enabled in normal browsing and private browsing modes, respectively. Pref defaults are sourced from [StaticPrefList.yaml](https://searchfox.org/mozilla-central/source/modules/libpref/init/StaticPrefList.yaml), [all.js](https://searchfox.org/mozilla-central/source/modules/libpref/init/all.js), and [firefox.js](https://searchfox.org/mozilla-central/source/browser/app/profile/firefox.js) (applied in that order). **ETP Strict** additionally enables features based on the [`browser.contentblocking.features.strict`](https://searchfox.org/mozilla-central/search?q=%22browser.contentblocking.features.strict%22&path=%5Ebrowser%2Fapp%2Fprofile%2Ffirefox.js%24&case=true®exp=false) string in firefox.js. | Feature | Standard Normal | Standard Private | Strict Normal | Strict Private | |:--------|:--------------:|:----------------:|:-------------:|:--------------:| | **Tracking Protection**
Blocks resources from domains on the Disconnect tracking protection list.
`privacy.trackingprotection.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.trackingprotection%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
`privacy.trackingprotection.pbmode.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.trackingprotection%5C.pbmode%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `false` | `true` | `true` | `true` | | **Fingerprinting Blocking**
Blocks resources from domains on the Disconnect fingerprinting list.
`privacy.trackingprotection.fingerprinting.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.trackingprotection%5C.fingerprinting%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true), [firefox.js](https://searchfox.org/mozilla-central/search?q=pref%5C%28%22privacy%5C.trackingprotection%5C.fingerprinting%5C.enabled%22&path=browser/app/profile/firefox.js&case=true®exp=true)
| `true` | | `true` | | | **Fingerprinting Protection**
Applies fingerprinting protections including canvas randomization and reducing exposed system info.
`privacy.fingerprintingProtection`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.fingerprintingProtection%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
`privacy.fingerprintingProtection.pbmode`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.fingerprintingProtection%5C.pbmode%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `false` | `true` | `true` | `true` | | **Cryptominer Blocking**
Blocks resources from domains on the Disconnect cryptomining list.
`privacy.trackingprotection.cryptomining.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.trackingprotection%5C.cryptomining%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true), [firefox.js](https://searchfox.org/mozilla-central/search?q=pref%5C%28%22privacy%5C.trackingprotection%5C.cryptomining%5C.enabled%22&path=browser/app/profile/firefox.js&case=true®exp=true)
| `true` | | `true` | | | **Social Tracker Blocking**
Blocks resources from domains on the Disconnect social tracking list.
`privacy.trackingprotection.socialtracking.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.trackingprotection%5C.socialtracking%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `false` | | `true` | | | **Email Tracking Protection**
Blocks resources from domains on the email tracking list.
`privacy.trackingprotection.emailtracking.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.trackingprotection%5C.emailtracking%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
`privacy.trackingprotection.emailtracking.pbmode.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.trackingprotection%5C.emailtracking%5C.pbmode%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `false` | `true` | `true` | `true` | | **Cookie Behavior**
Controls third-party cookie blocking strategy. See [Bug 2016714](https://bugzilla.mozilla.org/show_bug.cgi?id=2016714) for value definitions.
`network.cookie.cookieBehavior`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20network%5C.cookie%5C.cookieBehavior%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true), [firefox.js](https://searchfox.org/mozilla-central/search?q=pref%5C%28%22network%5C.cookie%5C.cookieBehavior%22&path=browser/app/profile/firefox.js&case=true®exp=true)
`network.cookie.cookieBehavior.pbmode`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20network%5C.cookie%5C.cookieBehavior%5C.pbmode%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true), [firefox.js](https://searchfox.org/mozilla-central/search?q=pref%5C%28%22network%5C.cookie%5C.cookieBehavior%5C.pbmode%22&path=browser/app/profile/firefox.js&case=true®exp=true)
| `5 /* BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN */` | `5 /* BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN */` | `5` | `5` | | **Query Parameter Stripping**
Strips known tracking query parameters from URLs during navigation.
`privacy.query_stripping.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.query_stripping%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
`privacy.query_stripping.enabled.pbmode`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.query_stripping%5C.enabled%5C.pbmode%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `false` | `false` | `true` | `true` | | **Level 2 Tracking List**
Annotates channels with the Level 2 (strict) Disconnect tracking list in addition to Level 1.
`privacy.annotate_channels.strict_list.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.annotate_channels%5C.strict_list%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `false` | | `true` | | | **Strict Referrer Policy**
Prevents referrer policy from being relaxed to unsafe-url for cross-site requests.
`network.http.referer.disallowCrossSiteRelaxingDefault`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20network%5C.http%5C.referer%5C.disallowCrossSiteRelaxingDefault%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `true` | | `true` | | | **Strict Referrer Policy (Top Nav)**
Applies strict referrer policy to top-level navigation (not just subresources).
`network.http.referer.disallowCrossSiteRelaxingDefault.top_navigation`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20network%5C.http%5C.referer%5C.disallowCrossSiteRelaxingDefault%5C.top_navigation%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `false` | | `true` | | | **OCSP Cache Partitioning**
Partitions OCSP cache by top-level origin key.
`privacy.partition.network_state.ocsp_cache`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.partition%5C.network_state%5C.ocsp_cache%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `true` | | `true` | | | **Bounce Tracking Protection**
Clears state for sites used as bounce trackers. See [Bounce Tracking Protection docs](../bounce-tracking-protection) for mode values.
`privacy.bounceTrackingProtection.mode`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.bounceTrackingProtection%5C.mode%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| [1] | | [1] | | | **Local Network Access Blocking**
Blocks public websites from making requests to private IP ranges (RFC1918, loopback, link-local).
`network.lna.blocking`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20network%5C.lna%5C.blocking%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `@IS_NIGHTLY_BUILD@` | | `@IS_NIGHTLY_BUILD@` | | | **Consent Manager Skipping**
Skips blocking for known consent management platform domains.
`privacy.trackingprotection.consentmanager.skip.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.trackingprotection%5C.consentmanager%5C.skip%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
`privacy.trackingprotection.consentmanager.skip.pbmode.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.trackingprotection%5C.consentmanager%5C.skip%5C.pbmode%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `false` | `true` | `false` | `false` | [1] `privacy.bounceTrackingProtection.mode` has build-specific defaults: ``` #ifdef NIGHTLY_BUILD value: 1 #else value: 3 #endif ``` ## Safe Browsing | Feature | Normal | Private | |:--------|:------:|:-------:| | **Malware Protection**
Checks URLs against Google Safe Browsing malware list.
`browser.safebrowsing.malware.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20browser%5C.safebrowsing%5C.malware%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `true` | | | **Phishing Protection**
Checks URLs against Google Safe Browsing phishing list.
`browser.safebrowsing.phishing.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20browser%5C.safebrowsing%5C.phishing%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `true` | | | **Downloads Protection**
Checks downloaded file hashes against Google Safe Browsing download protection lists.
`browser.safebrowsing.downloads.enabled`: [all.js](https://searchfox.org/mozilla-central/search?q=pref%5C%28%22browser%5C.safebrowsing%5C.downloads%5C.enabled%22&path=modules/libpref/init/all.js&case=true®exp=true)
| `true` | | | **Block Potentially Unwanted Software**
Blocks downloads flagged as potentially unwanted programs (PUPs) by Safe Browsing.
`browser.safebrowsing.downloads.remote.block_potentially_unwanted`: [all.js](https://searchfox.org/mozilla-central/search?q=pref%5C%28%22browser%5C.safebrowsing%5C.downloads%5C.remote%5C.block_potentially_unwanted%22&path=modules/libpref/init/all.js&case=true®exp=true)
| `true` | | ## Private Browsing | Feature | Normal | Private | |:--------|:------:|:-------:| | **Reset Private Browsing**
Clears all private browsing mode data when last private window is closed.
`browser.privatebrowsing.resetPBM.enabled`: [firefox.js](https://searchfox.org/mozilla-central/search?q=pref%5C%28%22browser%5C.privatebrowsing%5C.resetPBM%5C.enabled%22&path=browser/app/profile/firefox.js&case=true®exp=true)
| [2] | | | **Show Reset Confirmation**
Shows confirmation dialog before clearing private browsing data on window close.
`browser.privatebrowsing.resetPBM.showConfirmationDialog`: [firefox.js](https://searchfox.org/mozilla-central/search?q=pref%5C%28%22browser%5C.privatebrowsing%5C.resetPBM%5C.showConfirmationDialog%22&path=browser/app/profile/firefox.js&case=true®exp=true)
| `true` | | [2] `browser.privatebrowsing.resetPBM.enabled` has build-specific defaults: ``` #if defined(NIGHTLY_BUILD) pref("browser.privatebrowsing.resetPBM.enabled", true); #else pref("browser.privatebrowsing.resetPBM.enabled", false); #endif ``` ## Cookie Behavior | Feature | Normal | Private | |:--------|:------:|:-------:| | **CHIPS Support**
Enables Cookies Having Independent Partitioned State (CHIPS) per draft spec.
`network.cookie.CHIPS.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20network%5C.cookie%5C.CHIPS%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `true` | | | **Opt-in Cookie Partitioning**
Changes cookieBehavior=5 from dynamic partitioning to block-by-default with opt-in.
`network.cookie.cookieBehavior.optInPartitioning`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20network%5C.cookie%5C.cookieBehavior%5C.optInPartitioning%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
`network.cookie.cookieBehavior.optInPartitioning.pbmode`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20network%5C.cookie%5C.cookieBehavior%5C.optInPartitioning%5C.pbmode%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `false` | `false` | | **Tracker Cookie Blocking**
Blocks third-party cookies from domains on the tracking protection list.
`network.cookie.cookieBehavior.trackerCookieBlocking`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20network%5C.cookie%5C.cookieBehavior%5C.trackerCookieBlocking%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `false` | | | **Social Tracker Cookie Blocking**
Treats domains on social tracking list as trackers for cookie blocking.
`privacy.socialtracking.block_cookies.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.socialtracking%5C.block_cookies%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `true` | | ## Privacy Headers | Feature | Normal | Private | |:--------|:------:|:-------:| | **Do Not Track**
Sends DNT: 1 HTTP header with all requests.
`privacy.donottrackheader.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.donottrackheader%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `false` | | | **Global Privacy Control**
Sends Sec-GPC: 1 HTTP header and exposes navigator.globalPrivacyControl=true.
`privacy.globalprivacycontrol.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.globalprivacycontrol%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
`privacy.globalprivacycontrol.pbmode.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.globalprivacycontrol%5C.pbmode%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true), [firefox.js](https://searchfox.org/mozilla-central/search?q=pref%5C%28%22privacy%5C.globalprivacycontrol%5C.pbmode%5C.enabled%22&path=browser/app/profile/firefox.js&case=true®exp=true)
| `false` | `true` | | **GPC Functionality**
Master switch that controls whether GPC signals are sent (requires .enabled to also be true).
`privacy.globalprivacycontrol.functionality.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.globalprivacycontrol%5C.functionality%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true), [firefox.js](https://searchfox.org/mozilla-central/search?q=pref%5C%28%22privacy%5C.globalprivacycontrol%5C.functionality%5C.enabled%22&path=browser/app/profile/firefox.js&case=true®exp=true)
| `true` | | ## Fingerprinting Resistance | Feature | Normal | Private | |:--------|:------:|:-------:| | **Resist Fingerprinting**
Enables comprehensive fingerprinting resistance including canvas noise, reduced timer precision, and spoofed system info.
`privacy.resistFingerprinting`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.resistFingerprinting%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
`privacy.resistFingerprinting.pbmode`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.resistFingerprinting%5C.pbmode%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `false` | `false` | ## Anti-fraud | Feature | Normal | Private | |:--------|:------:|:-------:| | **Skip Anti-fraud Resources**
Exempts domains with 'fingerprinting' or 'tracking' annotations from blocking if they have 'anti-fraud' annotation.
`privacy.trackingprotection.antifraud.skip.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.trackingprotection%5C.antifraud%5C.skip%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
`privacy.trackingprotection.antifraud.skip.pbmode.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.trackingprotection%5C.antifraud%5C.skip%5C.pbmode%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `false` | `true` | ## Other Privacy Features | Feature | Normal | Private | |:--------|:------:|:-------:| | **Cookie Banner UI**
Shows cookie banner reduction controls in Firefox settings.
`cookiebanners.ui.desktop.enabled`: [firefox.js](https://searchfox.org/mozilla-central/search?q=pref%5C%28%22cookiebanners%5C.ui%5C.desktop%5C.enabled%22&path=browser/app/profile/firefox.js&case=true®exp=true)
| `false` | | | **Network State Partitioning**
Partitions HTTP cache, connection pools, and other network state by top-level site.
`privacy.partition.network_state`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.partition%5C.network_state%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true)
| `true` | | | **Strip on Share**
Strips tracking query parameters when copying URLs via context menu 'Copy Link'.
`privacy.query_stripping.strip_on_share.enabled`: [StaticPrefList.yaml](https://searchfox.org/mozilla-central/search?q=%5E-%20name%3A%20privacy%5C.query_stripping%5C.strip_on_share%5C.enabled%24&path=modules/libpref/init/StaticPrefList.yaml&case=true®exp=true), [firefox.js](https://searchfox.org/mozilla-central/search?q=pref%5C%28%22privacy%5C.query_stripping%5C.strip_on_share%5C.enabled%22&path=browser/app/profile/firefox.js&case=true®exp=true)
| `true` | | --- *Sources: `browser/app/profile/firefox.js`, `modules/libpref/init/StaticPrefList.yaml`, `modules/libpref/init/all.js`*