<h1 id="about_config" class="anchor"><a href="#about_config"><i class="fas fa-link anchor-icon"></i></a> Firefox: Privacy Related "about:config" Tweaks</h1>

<div class="alert alert-success" role="alert">This is a collection of privacy-related <strong>about:config</strong> tweaks. We'll show you how to enhance the privacy of your Firefox browser.</div>

<h3>Preparation:</h3>

<ol>
  <li>Enter "about:config" in the firefox address bar and press enter.</li>
  <li>Press the button "I'll be careful, I promise!"</li>
  <li>Follow the instructions below...</li>
</ol>

<h3>Getting started:</h3>

<dl class="long-string-list">
  <dt>privacy.firstparty.isolate = true</dt>
  <dd>A result of the <a href="https://wiki.mozilla.org/Security/Tor_Uplift">Tor Uplift</a> effort, this preference isolates all browser identifier sources (e.g. cookies) to the first party domain, with the goal of preventing tracking across different domains. (Don't do this if you are using the Firefox Addon "Cookie AutoDelete" with Firefox v58 or below.)</dd>

  <dt>privacy.resistFingerprinting = true</dt>
  <dd>A result of the <a href="https://wiki.mozilla.org/Security/Tor_Uplift">Tor Uplift</a> effort, this preference makes Firefox more resistant to browser fingerprinting.</dd>

  <dt>privacy.trackingprotection.fingerprinting.enabled = true</dt>
  <dd>Blocks Fingerprinting</dd>  

  <dt>privacy.trackingprotection.cryptomining.enabled = true</dt>
  <dd>Blocks CryptoMining</dd>  

  <dt>privacy.trackingprotection.enabled = true</dt>
  <dd>This is Mozilla's new built-in tracking protection. It uses Disconnect.me filter list, which is redundant if you are already using uBlock Origin 3rd party filters, therefore you should set it to false if you are using the add-on functionalities.</dd>

  <dt>browser.cache.offline.enable = false</dt>
  <dd>Disables offline cache.</dd>

  <dt>browser.safebrowsing.malware.enabled = false</dt>
  <dd>Disable Google Safe Browsing malware checks. Security risk, but privacy improvement.</dd>

  <dt>browser.safebrowsing.phishing.enabled = false</dt>
  <dd>Disable Google Safe Browsing and phishing protection. Security risk, but privacy improvement.</dd>

  <dt>browser.send_pings = false</dt>
  <dd>The attribute would be useful for letting websites track visitors' clicks.</dd>

  <dt>browser.sessionstore.max_tabs_undo = 0</dt>
  <dd>Even with Firefox set to not remember history, your closed tabs are stored temporarily at Menu -&gt; History -&gt; Recently Closed Tabs.</dd>

  <dt>browser.urlbar.speculativeConnect.enabled = false</dt>
  <dd>Disable preloading of autocomplete URLs. Firefox preloads URLs that autocomplete when a user types into the address bar, which is a concern if URLs are suggested that the user does not want to connect to. <a href="https://www.ghacks.net/2017/07/24/disable-preloading-firefox-autocomplete-urls/">Source</a></dd>

  <dt>dom.battery.enabled = false</dt>
  <dd>The battery status of your device could be tracked.</dd>

  <dt>dom.event.clipboardevents.enabled = false</dt>
  <dd>Disable that websites can get notifications if you copy, paste, or cut something from a web page, and it lets them know which part of the page had been selected.</dd>

  <dt>geo.enabled = false</dt>
  <dd>Disables geolocation.</dd>

  <dt>media.eme.enabled = false</dt>
  <dd>
  <p>Disables playback of DRM-controlled HTML5 content, which, if enabled, automatically downloads the Widevine Content Decryption Module provided by Google Inc. <a href="https://support.mozilla.org/kb/enable-drm#w_opt-out-of-cdm-playback-uninstall-cdms-and-stop-all-cdm-downloads">Details</a></p>
  <p>DRM-controlled content that requires the Adobe Flash or Microsoft Silverlight NPAPI plugins will still play, if installed and enabled in Firefox.</p>
  </dd>

  <dt>media.gmp-widevinecdm.enabled = false</dt>
  <dd>Disables the Widevine Content Decryption Module provided by Google Inc., used for the playback of DRM-controlled HTML5 content. <a href="https://support.mozilla.org/kb/enable-drm#w_disable-the-google-widevine-cdm-without-uninstalling">Details</a></dd>

  <dt>media.navigator.enabled = false</dt>
  <dd>Websites can track the microphone and camera status of your device.</dd>

  <dt>network.cookie.cookieBehavior = 1</dt>
  <dd>
  Disable cookies
  <ul>
    <li>0 = Accept all cookies by default</li>
    <li>1 = Only accept from the originating site (block third-party cookies)</li>
    <li>2 = Block all cookies by default</li>
  </ul>
  </dd>

  <dt>network.cookie.lifetimePolicy = 2</dt>
  <dd>
  cookies are deleted at the end of the session
  <ul>
    <li>0 = Accept cookies normally</li>
    <li>1 = Prompt for each cookie</li>
    <li>2 = Accept for current session only</li>
    <li>3 = Accept for N days</li>
  </ul>
  </dd>

  <dt>network.http.referer.trimmingPolicy = 2</dt>
  <dd>
  Send only the scheme, host, and port in the <code>Referer</code> header
  <ul>
    <li>0 = Send the full URL in the <code>Referer</code> header</li>
    <li>1 = Send the URL without its query string in the <code>Referer</code> header</li>
    <li>2 = Send only the scheme, host, and port in the <code>Referer</code> header</li>
  </ul>
  </dd>

  <dt>network.http.referer.XOriginPolicy = 2</dt>
  <dd>
  Only send <code>Referer</code> header when the full hostnames match. (Note: if you notice significant breakage, you might try <code>1</code> combined with an <code>XOriginTrimmingPolicy</code> tweak below.) <a href="https://feeding.cloud.geek.nz/posts/tweaking-referrer-for-privacy-in-firefox/">Source</a>
  <ul>
    <li>0 = Send <code>Referer</code> in all cases</li>
    <li>1 = Send <code>Referer</code> to same eTLD sites</li>
    <li>2 = Send <code>Referer</code> only when the full hostnames match</li>
  </ul>
  </dd>

  <dt>network.http.referer.XOriginTrimmingPolicy = 2</dt>
  <dd>
  When sending <code>Referer</code> across origins, only send scheme, host, and port in the <code>Referer</code> header of cross-origin requests. <a href="https://feeding.cloud.geek.nz/posts/tweaking-referrer-for-privacy-in-firefox/">Source</a>
  <ul>
    <li>0 = Send full url in <code>Referer</code></li>
    <li>1 = Send url without query string in <code>Referer</code></li>
    <li>2 = Only send scheme, host, and port in <code>Referer</code></li>
  </ul>
  </dd>

  <dt>webgl.disabled = true</dt>
  <dd>WebGL is a potential security risk. <a href="https://security.stackexchange.com/questions/13799/is-webgl-a-security-concern">Source</a></dd>

  <dt>browser.sessionstore.privacy_level = 2</dt>
  <dd>
  This preference controls when to store extra information about a session: contents of forms, scrollbar positions, cookies, and POST data. <a href="http://kb.mozillazine.org/Browser.sessionstore.privacy_level">Details</a>
  <ul>
    <li>0 = Store extra session data for any site. (Default starting with Firefox 4.)</li>
    <li>1 = Store extra session data for unencrypted (non-HTTPS) sites only. (Default before Firefox 4.)</li>
    <li>2 = Never store extra session data.</li>
  </ul>
  </dd>

  <dt>extensions.pocket.enabled = false</dt>
  <dd>Disables Pocket completely.</dd>

  <dt>network.IDN_show_punycode = true</dt>
  <dd>Not rendering IDNs as their Punycode equivalent leaves you open to phishing attacks that can be very difficult to notice. <a href="https://krebsonsecurity.com/2018/03/look-alike-domains-and-visual-confusion/#more-42636">Source</a></dd>

  <dt>extensions.blocklist.url = https://blocklists.settings.services.mozilla.com/v1/blocklist/3/%20/%20/</dt>
  <dd>
  <p>Limit the amount of identifiable information sent when requesting the Mozilla harmful extension blocklist.
  <p>Optionally, the blocklist can be disabled entirely by setting <code>extensions.blocklist.enabled</code> to false for increased privacy, but decreased security. <a href="https://old.reddit.com/r/privacytoolsIO/comments/9uqeew/firefox_tip_sanitize_firefox_blocklist_url_so_it/">Source</a></p>
  </dd>
</dl>

<h3>Firefox user.js Templates</h3>
<ul>
	<li><a href="https://github.com/ghacksuserjs/ghacks-user.js">ghacks-user.js</a> - An ongoing comprehensive user.js template for configuring and hardening Firefox privacy, security and anti-fingerprinting.</li>
	<li><a href="https://github.com/pyllyukko/user.js">pyllyukko/user.js</a> - This is a user.js configuration file to harden Firefox's settings and make it more secure.</li>
</ul>


<h3>Related Information</h3>

<ul>
  <li><a href="https://ffprofile.com/">ffprofile.com</a> - Helps you to create a Firefox profile with the defaults you like.</li>
  <li><a href="http://kb.mozillazine.org/Category:Security_and_privacy-related_preferences">mozillazine.org</a> - Security and privacy-related preferences. </li>
  <li><a href="https://addons.mozilla.org/firefox/addon/privacy-settings/">Privacy Settings</a> - A Firefox add-on to alter built-in privacy settings easily with a toolbar panel.</li>
  <li><a href="https://12bytes.org/articles/tech/firefox/the-firefox-privacy-guide-for-dummies/">Firefox Privacy Guide For Dummies</a> - Guide on ways (already discussed and others) to improve your privacy and safety on Firefox.</li>
</ul>
