privacy.websites

The privacy.websites property contains privacy-related settings controlling the way to browser interacts with websites. Each property is a types.BrowserSetting object.

Default values for these properties tend to vary across browsers.

Properties

cookieConfig

A types.BrowserSetting object whose underlying value is an object.

The object has two properties:

  • behavior: a string which may take any of the following values:

    • "allow_all": accept all cookies
    • "reject_all": reject all cookies
    • "reject_third_party": reject all third-party cookies
    • "allow_visited": accept a third-party cookie only if the cookie's top-level domain already has at least one cookie.
    • "reject_trackers": reject tracking cookies
    • "reject_trackers_and_partition_foreign": reject trackers and partition third-party cookies.
  • nonPersistentCookies : a boolean. If true, all cookies will be treated as session cookies.

firstPartyIsolate

A types.BrowserSetting object whose underlying value is a boolean.

If true, the firstPartyIsolate preference makes the browser associate all data (including cookies, HSTS data, cached images, and more) for any third party domains with the domain in the address bar. This prevents third party trackers from using directly stored information to identify the user across different websites, but may break websites where the user logs in with a third party account (such as a Facebook or Google account).

Defaults to false.

hyperlinkAuditingEnabled

A types.BrowserSetting object whose underlying value is a boolean. If true, the browser sends auditing pings when a website uses the ping attribute to request them.

protectedContentEnabled

A types.BrowserSetting object whose underlying value is a boolean. Available on Windows only. If true, the browser provides a unique ID to plugins in order to run protected content.

referrersEnabled

A types.BrowserSetting object whose underlying value is a boolean. If enabled, the browser sends referer headers with your requests.

resistFingerprinting

A types.BrowserSetting object whose underlying value is a boolean.

Browser fingerprinting is the practice by which websites use Web APIs to collect status or configuration data associated with the browser or the device it's running on. By doing this, they can build up a digital fingerprint that they can use to identify and track a particular user.

If true, the resistFingerprinting preference makes the browser report generic spoofed information for data that's commonly used for fingerprinting. Such data includes the number of CPU cores, precision of JavaScript timers, and the local timezone. It will also disable features that are used in fingerprinting, such as GamePad support, and the WebSpeech and Navigator APIs.

Defaults to false.

thirdPartyCookiesAllowed

A types.BrowserSetting object whose underlying value is a boolean. If false, the browser blocks third-party cookies.

trackingProtectionMode

"Tracking protection" is a browser feature that blocks requests made to domains that are known to engage in cross-site tracking of users. Sites that track users are most commonly third-party advertising and analytics sites. This setting is a types.BrowserSetting object that determines whether the browser should enable tracking protection. Its underlying value is a string that may take one of three values:

  • "always": tracking protection is on.
  • "never": tracking protection is off.
  • "private_browsing": tracking protection is on in private browsing windows only.

Examples

Set the hyperlinkAuditingEnabled property.

js
function onSet(result) {
  if (result) {
    console.log("success");
  } else {
    console.log("failure");
  }
}

browser.browserAction.onClicked.addListener(() => {
  let getting = browser.privacy.websites.hyperlinkAuditingEnabled.get({});
  getting.then((got) => {
    console.log(got.value);
    if (
      got.levelOfControl === "controlled_by_this_extension" ||
      got.levelOfControl === "controllable_by_this_extension"
    ) {
      let setting = browser.privacy.websites.hyperlinkAuditingEnabled.set({
        value: true,
      });
      setting.then(onSet);
    } else {
      console.log("Not able to set hyperlinkAuditingEnabled");
    }
  });
});

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Firefox for Android
Safari on iOS
websites
Chrome – Full support
Chrome 18 (Release date: 2012-03-28)
footnote Full support
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote Full support
Firefox – Full support
Firefox 54 (Release date: 2017-06-13)
footnote Full support
Opera – Full support
Opera 15 (Release date: 2013-07-02)
footnote Full support
Safari – No support
Safari
footnote No support
Firefox for Android – Full support
Firefox for Android 54 (Release date: 2017-06-13)
footnote Full support
Safari on iOS – No support
Safari on iOS
footnote No support
cookieConfig
Chrome – No support
Chrome
footnote No support
Edge – No support
Edge
footnote No support
Firefox – Full support
Firefox 59 (Release date: 2018-03-13)
footnote
footnote The behavior property value "reject_trackers_and_partition_foreign" was introduced in version 78.
footnote The behavior property value "reject_trackers" was introduced in version 64.
Opera – No support
Opera
footnote No support
Safari – No support
Safari
footnote No support
Firefox for Android – Full support
Firefox for Android 59 (Release date: 2018-03-13)
footnote
footnote The behavior property value "reject_trackers" was introduced in version 64.
Safari on iOS – No support
Safari on iOS
footnote No support
cookieConfig.behavior
Chrome – No support
Chrome
footnote No support
Edge – No support
Edge
footnote No support
Firefox – Full support
Firefox 59 (Release date: 2018-03-13)
footnote Full support
Opera – No support
Opera
footnote No support
Safari – No support
Safari
footnote No support
Firefox for Android – Full support
Firefox for Android 59 (Release date: 2018-03-13)
footnote Full support
Safari on iOS – No support
Safari on iOS
footnote No support
cookieConfig.nonPersistentCookies
Chrome – No support
Chrome
footnote No support
Edge – No support
Edge
footnote No support
Firefox – Full support
Firefox 59 (Release date: 2018-03-13)
footnote Full support
Opera – No support
Opera
footnote No support
Safari – No support
Safari
footnote No support
Firefox for Android – Full support
Firefox for Android 59 (Release date: 2018-03-13)
footnote Full support
Safari on iOS – No support
Safari on iOS
footnote No support
firstPartyIsolate
Chrome – No support
Chrome
footnote No support
Edge – No support
Edge
footnote No support
Firefox – Full support
Firefox 58 (Release date: 2018-01-23)
footnote Full support
Opera – No support
Opera
footnote No support
Safari – No support
Safari
footnote No support
Firefox for Android – Full support
Firefox for Android 58 (Release date: 2018-01-22)
footnote Full support
Safari on iOS – No support
Safari on iOS
footnote No support
hyperlinkAuditingEnabled
Chrome – Full support
Chrome 18 (Release date: 2012-03-28)
footnote Full support
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote Full support
Firefox – Full support
Firefox 54 (Release date: 2017-06-13)
footnote Full support
Opera – Full support
Opera 15 (Release date: 2013-07-02)
footnote Full support
Safari – No support
Safari
footnote No support
Firefox for Android – Full support
Firefox for Android 54 (Release date: 2017-06-13)
footnote Full support
Safari on iOS – No support
Safari on iOS
footnote No support
protectedContentEnabled
Chrome – Full support
Chrome 21 (Release date: 2012-07-31)
footnote Full support
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote Full support
Firefox – No support
Firefox
footnote No support
Opera – Full support
Opera 15 (Release date: 2013-07-02)
footnote Full support
Safari – No support
Safari
footnote No support
Firefox for Android – No support
Firefox for Android
footnote No support
Safari on iOS – No support
Safari on iOS
footnote No support
referrersEnabled
Chrome – Full support
Chrome 18 (Release date: 2012-03-28)
footnote Full support
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote Full support
Firefox – Full support
Firefox 56 (Release date: 2017-09-28)
footnote Full support
Opera – Full support
Opera 15 (Release date: 2013-07-02)
footnote Full support
Safari – No support
Safari
footnote No support
Firefox for Android – Full support
Firefox for Android 56 (Release date: 2017-09-28)
footnote Full support
Safari on iOS – No support
Safari on iOS
footnote No support
resistFingerprinting
Chrome – No support
Chrome
footnote No support
Edge – No support
Edge
footnote No support
Firefox – Full support
Firefox 58 (Release date: 2018-01-23)
footnote Full support
Opera – No support
Opera
footnote No support
Safari – No support
Safari
footnote No support
Firefox for Android – Full support
Firefox for Android 58 (Release date: 2018-01-22)
footnote Full support
Safari on iOS – No support
Safari on iOS
footnote No support
thirdPartyCookiesAllowed
Chrome – Full support
Chrome 18 (Release date: 2012-03-28)
footnote Full support
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote Full support
Firefox – No support
Firefox
footnote No support
Opera – Full support
Opera 15 (Release date: 2013-07-02)
footnote Full support
Safari – No support
Safari
footnote No support
Firefox for Android – No support
Firefox for Android
footnote No support
Safari on iOS – No support
Safari on iOS
footnote No support
trackingProtectionMode
Chrome – No support
Chrome
footnote No support
Edge – No support
Edge
footnote No support
Firefox – Full support
Firefox 57 (Release date: 2017-11-14)
footnote Full support
Opera – No support
Opera
footnote No support
Safari – No support
Safari
footnote No support
Firefox for Android – Full support
Firefox for Android 57 (Release date: 2017-11-28)
footnote Full support
Safari on iOS – No support
Safari on iOS
footnote No support

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.

Note: This API is based on Chromium's chrome.privacy API. This documentation is derived from privacy.json in the Chromium code.