privacy.network

The privacy.network property contains privacy-related network settings. Each property is a types.BrowserSetting object.

Default values for these properties tend to vary across browsers.

Properties

networkPredictionEnabled
A types.BrowserSetting object whose underlying value is a boolean. If true, the browser attempts to speed up web browsing by pre-resolving DNS entries, prerendering sites (using, for example, <link rel='prefetch' ...>), and preemptively opening TCP and SSL connections to servers.
peerConnectionEnabled
A types.BrowserSetting object whose underlying value is a boolean. If false, the RTCPeerConnection interface is disabled. Note that getUserMedia() is not affected by this setting.
webRTCIPHandlingPolicy

A types.BrowserSetting object whose underlying value is a string. This setting allows users to specify the media performance/privacy tradeoffs which affect how WebRTC traffic will be routed and how much local address information is exposed. It may take any one of the following values, from least private to most private:

  • default
  • default_public_and_private_interfaces
  • default_public_interface_only
  • disable_non_proxied_udp
  • proxy_only (only connections using TURN on a TCP connection through a proxy are allowed)

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxOperaFirefox for Android
networkPredictionEnabledChrome Full support YesEdge No support NoFirefox Full support 54Opera Full support YesFirefox Android Full support 54
peerConnectionEnabledChrome No support NoEdge No support NoFirefox Full support 55Opera No support NoFirefox Android Full support 55
webRTCIPHandlingPolicyChrome Full support YesEdge No support NoFirefox Full support 54
Notes
Full support 54
Notes
Notes Starting in Firefox 70, a value of disable_non_proxied_udp requires a proxy if one is configured, but allows connections to go through if no proxy is set up. Previously, in this mode WebRTC could only be used if a proxy was configured and TURN over TCP was available; this behavior is now exposed as proxy_only.
Opera Full support YesFirefox Android Full support 54

Legend

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

Examples

Set the webRTCIPHandlingPolicy property:

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

browser.browserAction.onClicked.addListener(() => {

  var getting = browser.privacy.network.webRTCIPHandlingPolicy.get({});
  getting.then((got) => {
    console.log(got.value);
    if ((got.levelOfControl === "controlled_by_this_extension") ||
        (got.levelOfControl === "controllable_by_this_extension")) {
      var setting = browser.privacy.network.webRTCIPHandlingPolicy.set({
        value: "default_public_interface_only"
      });
      setting.then(onSet);
    } else {
      console.log("Not able to set webRTCIPHandlingPolicy");
    }
  });

});

Acknowledgements

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

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.