# 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`*