+ "OverrideFirstRunPage": "http://example.org"
+}
+```
+### OverridePostUpdatePage
+Override the upgrade page. If the value is blank, no upgrade page is displayed.
+
+**Compatibility:** Firefox 60, Firefox ESR 60\
+**CCK2 Equivalent:** `upgradePage`,`noUpgradePage`\
+**Preferences Affected:** `startup.homepage_override_url`
+
+#### Windows (GPO)
+```
+Software\Policies\Mozilla\Firefox\OverridePostUpdatePage = "http://example.org"
+```
+#### macOS
+```
+<dict>
+ <key>OverridePostUpdatePage</key>
+ <string>http://example.org</string>
+</dict>
+```
+#### policies.json
+```
+{
+ "policies": {
+ "OverridePostUpdatePage": "http://example.org"
+}
+```
+### PasswordManagerEnabled
+Remove access to the password manager via preferences and blocks about:logins on Firefox 70.
+
+**Compatibility:** Firefox 70, Firefox ESR 60.2\
+**CCK2 Equivalent:** N/A\
+**Preferences Affected:** `prefs.privacy.disable_button.view_passwords`
+
+#### Windows (GPO)
+```
+Software\Policies\Mozilla\Firefox\PasswordManagerEnabled = 0x1 | 0x0
+```
+#### macOS
+```
+<dict>
+ <key>PasswordManagerEnabled</key>
+ <true/> | <false/>
+</dict>
+```
+#### policies.json
+```
+{
+ "policies": {
+ "PasswordManagerEnabled": true | false
+ }
+}
+```
+### Permissions
+Set permissions associated with camera, microphone, location, and notifications. Because these are origins, not domains, entries with unique ports must be specified separately. See examples below.
+
+`Allow` is a list of origins where the feature is allowed.
+
+`Block` is a list of origins where the feature is not allowed.
+
+`BlockNewRequests` determines whether or not new requests can be made for the feature.
+
+`Locked` prevents the user from changing preferences for the feature.
+
+**Compatibility:** Firefox 62, Firefox ESR 60.2\
+**CCK2 Equivalent:** N/A\
+**Preferences Affected:** `permissions.default.camera`,`permissions.default.microphone`,`permissions.default.geo`,`permissions.default.desktop-notification`
+
+#### Windows (GPO)
+```
+Software\Policies\Mozilla\Firefox\Permissions\Camera\Allow\1 = "https://example.org"
+Software\Policies\Mozilla\Firefox\Permissions\Camera\Allow\2 = "https://example.org:1234"
+Software\Policies\Mozilla\Firefox\Permissions\Camera\Block\1 = "https://example.edu"
+Software\Policies\Mozilla\Firefox\Permissions\Camera\BlockNewRequests = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\Permissions\Camera\Locked = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\Permissions\Microphone\Allow\1 = "https://example.org"
+Software\Policies\Mozilla\Firefox\Permissions\Microphone\Block\1 = "https://example.edu"
+Software\Policies\Mozilla\Firefox\Permissions\Microphone\BlockNewRequests = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\Permissions\Microphone\Locked = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\Permissions\Location\Allow\1 = "https://example.org"
+Software\Policies\Mozilla\Firefox\Permissions\Location\Block\1 = "https://example.edu"
+Software\Policies\Mozilla\Firefox\Permissions\Location\BlockNewRequests = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\Permissions\Location\Locked = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\Permissions\Notifications\Allow\1 = "https://example.org"
+Software\Policies\Mozilla\Firefox\Permissions\Notifications\Block\1 = "https://example.edu"
+Software\Policies\Mozilla\Firefox\Permissions\Notifications\BlockNewRequests = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\Permissions\Notifications\Locked = 0x1 | 0x0
+```
+#### macOS
+```
+<dict>
+ <key>Permissions</key>
+ <dict>
+ <key>Camera</key>
+ <dict>
+ <key>Allow</key>
+ <array>
+ <string>https://example.org</string>
+ <string>https://example.org:1234</string>
+ </array>
+ <key>Block</key>
+ <array>
+ <string>https://example.edu</string>
+ </array>
+ <key>BlockNewRequests</key>
+ <true/>
+ <key>Locked</key>
+ <true/>
+ </dict>
+ <key>Microphone</key>
+ <dict>
+ <key>Allow</key>
+ <array>
+ <string>https://example.org</string>
+ </array>
+ <key>Block</key>
+ <array>
+ <string>https://example.edu</string>
+ </array>
+ <key>BlockNewRequests</key>
+ <true/>
+ <key>Locked</key>
+ <true/>
+ </dict>
+ <key>Location</key>
+ <dict>
+ <key>Allow</key>
+ <array>
+ <string>https://example.org</string>
+ </array>
+ <key>Block</key>
+ <array>
+ <string>https://example.edu</string>
+ </array>
+ <key>BlockNewRequests</key>
+ <true/>
+ <key>Locked</key>
+ <true/>
+ </dict>
+ <key>Notifications</key>
+ <dict>
+ <key>Allow</key>
+ <array>
+ <string>https://example.org</string>
+ </array>
+ <key>Block</key>
+ <array>
+ <string>https://example.edu</string>
+ </array>
+ <key>BlockNewRequests</key>
+ <true/>
+ <key>Locked</key>
+ <true/>
+ </dict>
+ </dict>
+</dict>
+```
+#### policies.json
+```
+{
+ "policies": {
+ "Permissions": {
+ "Camera": {
+ "Allow": ["https://example.org","https://example.org:1234"],
+ "Block": ["https://example.edu"],
+ "BlockNewRequests": true | false,
+ "Locked": true | false
+ },
+ "Microphone": {
+ "Allow": ["https://example.org"],
+ "Block": ["https://example.edu"],
+ "BlockNewRequests": true | false,
+ "Locked": true | false
+ },
+ "Location": {
+ "Allow": ["https://example.org"],
+ "Block": ["https://example.edu"],
+ "BlockNewRequests": true | false,
+ "Locked": true | false
+ },
+ "Notifications": {
+ "Allow": ["https://example.org"],
+ "Block": ["https://example.edu"],
+ "BlockNewRequests": true | false,
+ "Locked": true | false
+ }
+ }
+ }
+}
+```
+### PopupBlocking
+Configure the default pop-up window policy as well as origins for which pop-up windows are allowed.
+
+`Allow` is a list of origins where popup-windows are allowed.
+
+`Default` determines whether or not pop-up windows are allowed by default.
+
+`Locked` prevents the user from changing pop-up preferences.
+
+**Compatibility:** Firefox 60, Firefox ESR 60\
+**CCK2 Equivalent:** `permissions.popup`\
+**Preferences Affected:** `dom.disable_open_during_load`
+
+#### Windows (GPO)
+```
+Software\Policies\Mozilla\Firefox\PopupBlocking\Allow\1 = "https://example.org"
+Software\Policies\Mozilla\Firefox\PopupBlocking\Allow\2 = "https://example.edu"
+Software\Policies\Mozilla\Firefox\PopupBlocking\Default = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\PopupBlocking\Locked = 0x1 | 0x0
+```
+#### macOS
+```
+<dict>
+ <key>PopupBlocking</key>
+ <dict>
+ <key>Allow</key>
+ <array>
+ <string>http://example.org</string>
+ <string>http://example.edu</string>
+ </array>
+ <key>Default</key>
+ <true/> | <false/>
+ <key>Locked</key>
+ <true/> | <false/>
+ </dict>
+</dict>
+```
+#### policies.json
+```
+{
+ "policies": {
+ "PopupBlocking": {
+ "Allow": ["http://example.org/",
+ "http://example.edu/"],
+ "Default": true | false,
+ "Locked": true | false
+ }
+ }
+}
+```
+### Preferences
+Set and lock certain preferences.
+
+**Compatibility:** See below\
+**CCK2 Equivalent:** `preferences`\
+**Preferences Affected:** See below
+
+| Preference | Type | Compatibility | Default
+| --- | --- | --- | ---
+| accessibility.force_disabled | integer | Firefox 70, Firefox ESR 68.2 | 0
+| If set to 1, platform accessibility is disabled.
+| app.update.auto | boolean | Firefox 68, Firefox ESR 68 | true
+| If false, Firefox doesn't automatically install update.
+| browser.bookmarks.autoExportHTML | boolean | Firefox 70, Firefox ESR 68.2 | false
+| If true, bookmarks are exported on shutdown.
+| browser.bookmarks.file | string | Firefox 70, Firefox ESR 68.2 | N/A
+| If set, the name of the file where bookmarks are exported and imported.
+| browser.bookmarks.restore_default_bookmarks | boolean | Firefox 70, Firefox ESR 68.2 | N/A
+| If true, bookmarks are restored to their defaults.
+| browser.cache.disk.enable | boolean | Firefox 68, Firefox ESR 68 | true
+| If false, don't store cache on the hard drive.
+| ~browser.cache.disk.parent_directory~ | string | Firefox 68, Firefox ESR 68 | Profile temporary directory
+| ~If set, changes the location of the disk cache.~ This policy doesn't work. It's being worked on.
+| browser.fixup.dns_first_for_single_words | boolean | Firefox 68, Firefox ESR 68 | false
+| If true, single words are sent to DNS, not directly to search.
+| browser.newtabpage.activity-stream.default.sites | string | Firefox 72, ESR 68.4 | Locale dependent
+| If set, a list of URLs to use as the default top sites on the new tab page.
+| browser.places.importBookmarksHTML | boolean | Firefox 70, Firefox ESR 68.2
+| If true, bookmarks are always imported on startup.
+| browser.safebrowsing.phishing.enabled | boolean | Firefox 70, Firefox ESR 68.2 | true
+| If false, phishing protection is not enabled (Not recommended)
+| browser.safebrowsing.malware.enabled | boolean | Firefox 70, Firefox ESR 68.2 | true
+| If false, malware protection is not enabled (Not recommended)
+| browser.search.update | boolean | Firefox 68, Firefox ESR 68 | true
+| If false, updates for search engines are not checked.
+| browser.slowStartup.notificationDisabled | boolean | Firefox 70, Firefox ESR 68.2 | false
+| If true, a notification isn't shown if startup is slow.
+| browser.tabs.warnOnClose | boolean | Firefox 68, Firefox ESR 68 | true
+| If false, there is no warning when the browser is closed.
+| browser.taskbar.previews.enable | boolean | Firefox 70, Firefox ESR 68.2 (Windows only) | false
+| If true, tab previews are shown in the Windows taskbar.
+| browser.urlbar.suggest.bookmark | boolean | Firefox 68, Firefox ESR 68 | true
+| If false, bookmarks aren't suggested when typing in the URL bar.
+| browser.urlbar.suggest.history | boolean | Firefox 68, Firefox ESR 68 | true
+| If false, history isn't suggested when typing in the URL bar.
+| browser.urlbar.suggest.openpage | boolean | Firefox 68, Firefox ESR 68 | true
+| If false, open tabs aren't suggested when typing in the URL bar.
+| datareporting.policy.dataSubmissionPolicyBypassNotification | boolean | Firefox 68, Firefox ESR 68 | false
+| If true, don't show the privacy policy tab on first run.
+| dom.allow_scripts_to_close_windows | boolean | Firefox 70, Firefox ESR 68.2 | false
+| If false, web page can close windows.
+| dom.disable_window_flip | boolean | Firefox 68, Firefox ESR 68 | true
+| If false, web pages can focus and activate windows.
+| dom.disable_window_move_resize | boolean | Firefox 68, Firefox ESR 68 | false
+| If true, web pages can't move or resize windows.
+| dom.event.contextmenu.enabled | boolean | Firefox 68, Firefox ESR 68 | true
+| If false, web pages can't override context menus.
+| dom.keyboardevent.keypress.hack.dispatch_non_printable_keys.addl | string | Firefox 68, Firefox ESR 68 | N/A
+| See https://support.mozilla.org/en-US/kb/dom-events-changes-introduced-firefox-66
+| dom.keyboardevent.keypress.hack.use_legacy_keycode_and_charcode.addl | string | Firefox 68, Firefox ESR 68 | N/A
+| See https://support.mozilla.org/en-US/kb/dom-events-changes-introduced-firefox-66
+| dom.xmldocument.load.enabled | boolean | Firefox ESR 68.5 | true.
+| If false, XMLDocument.load is not available
+| dom.xmldocument.async.enabled | boolean | Firefox ESR 68.5 | true
+| If false, XMLDocument.async is not available.
+| extensions.blocklist.enabled | boolean | Firefox 70, Firefox ESR 68.2 | true
+| If false, the extensions blocklist is not used (Not recommended)
+| extensions.getAddons.showPane | boolean | Firefox 68, Firefox ESR 68 | N/A
+| If false, the Recommendations tab is not displayed in the Add-ons Manager.
+| extensions.htmlaboutaddons.recommendations.enabled | boolean | Firefox 72, Firefox ESR 68.4 | true
+| If false, recommendations are not shown on the Extensions tab in the Add-ons Manager.
+| geo.enabled | boolean | Firefox 70, Firefox ESR 68.2 | true
+| If false, the geolocation API is disabled. | Language dependent
+| intl.accept_languages | string | Firefox 70, Firefox ESR 68.2
+| If set, preferred language for web pages.
+| media.eme.enabled | boolean | Firefox 70, Firefox ESR 68.2 | true
+| If false, Encrypted Media Extensions are not enabled.
+| media.gmp-gmpopenh264.enabled | boolean | Firefox 68, Firefox ESR 68 | true
+| If false, the OpenH264 plugin is not downloaded.
+| media.gmp-widevinecdm.enabled | boolean | Firefox 68, Firefox ESR 68 | true
+| If false, the Widevine plugin is not downloaded.
+| media.peerconnection.enabled | boolean | Firefox 72, Firefox ESR 68.4 | true
+| If false, WebRTC is disabled
+| media.peerconnection.ice.obfuscate_host_addresses.whitelist | string | Firefox 72, Firefox ESR 68.4 | N/A
+| If set, a list of domains for which mDNS hostname obfuscation is
+disabled
+| network.dns.disableIPv6 | boolean | Firefox 68, Firefox ESR 68 | false
+| If true, IPv6 DNS lokoups are disabled.
+| network.IDN_show_punycode | boolean | Firefox 68, Firefox ESR 68 | false
+| If true, display the punycode version of internationalized domain names.
+| places.history.enabled | boolean | Firefox 68, Firefox ESR 68 | true
+| If false, history is not enabled.
+| print.save_print_settings | boolean | Firefox 70, Firefox ESR 68.2 | true
+| If false, print settings are not saved between jobs.
+| security.default_personal_cert | string | Firefox 68, Firefox ESR 68 | Ask Every Time
+| If set to Select Automatically, Firefox automatically chooses the default personal certificate.
+| security.mixed_content.block_active_content | boolean | Firefox 70, Firefox ESR 68.2 | true
+| If false, mixed active content (HTTP and HTTPS) is not blocked.
+| security.osclientcerts.autoload | boolean | Firefox 72, Firefox ESR 68.4 (Windows only) | false
+| If true, client certificates are loaded from the operating system certificate store.
+| security.ssl.errorReporting.enabled | boolean | Firefox 68, Firefox ESR 68 | true
+| If false, SSL errors cannot be sent to Mozilla.
+| security.tls.hello_downgrade_check | boolean | Firefox 72, Firefox ESR 68.4 | true
+| If false, the TLS 1.3 downgrade check is disabled.
+| ui.key.menuAccessKeyFocuses | boolean | Firefox 68, Firefox ESR 68 | true
+| If false, the Alt key doesn't show the menubar on Windows.
+| widget.content.gtk-theme-override | string | Firefox 72, Firefox ESR 68.4 (Linux only) | N/A
+| If set, overrides the GTK theme for widgets.
+#### Windows (GPO)
+```
+Software\Policies\Mozilla\Firefox\Preferences\boolean_preference_name = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\Preferences\string_preference_name = "string_value"
+```
+#### macOS
+```
+<dict>
+ <key>Preferences</key>
+ <dict>
+ <key>boolean_preference_name</key>
+ <true/> | <false/>
+ <key>string_preference_name</key>
+ <string>string_value</string>
+ </dict>
+</dict>
+```
+#### policies.json
+```
+{
+ "policies": {
+ "Preferences": {
+ "boolean_preference_name": true | false,
+ "string_preference_name": "string_value"
+ }
+ }
+}
+```
+### PromptForDownloadLocation
+Ask where to save each file before downloading.
+
+**Compatibility:** Firefox 68, Firefox ESR 68\
+**CCK2 Equivalent:** N/A
+**Preferences Affected:** `browser.download.useDownloadDir`
+
+#### Windows (GPO)
+```
+Software\Policies\Mozilla\Firefox\PromptForDownloadLocation = 0x1 | 0x0
+```
+#### macOS
+```
+<dict>
+ <key>PromptForDownloadLocation</key>
+ <true/> | <false/>
+</dict>
+```
+#### policies.json
+```
+{
+ "policies": {
+ "PromptForDownloadLocation": true | false
+ }
+}
+```
+### Proxy
+Configure proxy settings. These settings correspond to the connection settings in Firefox preferences.
+To specify ports, append them to the hostnames with a colon (:).
+
+`Mode` is the proxy method being used.
+
+`Locked` is whether or not proxy settings can be changed.
+
+`HTTPProxy` is the HTTP proxy server.
+
+`UseHTTPProxyForAllProtocols` is whether or not the HTTP proxy should be used for all other proxies.
+
+`SSLProxy` is the SSL proxy server.
+
+`FTPProxy` is the FTP proxy server.
+
+`SOCKSProxy` is the SOCKS proxy server
+
+`SOCKSVersion` is the SOCKS version (4 or 5)
+
+`Passthrough` is list of hostnames or IP addresses that will not be proxied. Use `<local>` to bypass proxying for all hostnames which do not contain periods.
+
+`AutoConfigURL` is a URL for proxy configuration (only used if Mode is autoConfig).
+
+`AutoLogin` means do not prompt for authentication if password is saved.
+
+`UseProxyForDNS` to use proxy DNS when using SOCKS v5.
+
+**Compatibility:** Firefox 60, Firefox ESR 60\
+**CCK2 Equivalent:** `networkProxy*`\
+**Preferences Affected:** `network.proxy.type`,`network.proxy.autoconfig_url`,`network.proxy.socks_remote_dns`,`signon.autologin.proxy`,`network.proxy.socks_version`,`network.proxy.no_proxies_on`,`network.proxy.share_proxy_settings`,`network.proxy.http`,`network.proxy.http_port`,`network.proxy.ftp`,`network.proxy.ftp_port`,`network.proxy.ssl`,`network.proxy.ssl_port`,`network.proxy.socks`,`network.proxy.socks_port`
+
+#### Windows (GPO)
+```
+Software\Policies\Mozilla\Firefox\Proxy\Mode = "none", "system", "manual", "autoDetect", "autoConfig"
+Software\Policies\Mozilla\Firefox\Proxy\Locked = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\=Proxy\HTTPProxy = https://httpproxy.example.com
+Software\Policies\Mozilla\Firefox\Proxy\UseHTTPProxyForAllProtocols = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\Proxy\SSLProxy = https://sslproxy.example.com
+Software\Policies\Mozilla\Firefox\Proxy\FTPProxy = https://ftpproxy.example.com
+Software\Policies\Mozilla\Firefox\Proxy\SOCKSProxy = https://socksproxy.example.com
+Software\Policies\Mozilla\Firefox\Proxy\SOCKSVersion = 0x4 | 0x5
+Software\Policies\Mozilla\Firefox\Proxy\Passthrough = <local>
+Software\Policies\Mozilla\Firefox\Proxy\AutoConfigURL = URL_TO_AUTOCONFIG
+Software\Policies\Mozilla\Firefox\Proxy\AutoLogin = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\Proxy\UseProxyForDNS = 0x1 | 0x0
+```
+#### macOS
+```
+<dict>
+ <key>Proxy</key>
+ <dict>
+ <key>Mode</key>
+ <string>none | system | manual | autoDetect | autoConfig</string>
+ <key>Locked</key>
+ <true> | </false>
+ <key>HTTPProxy</key>
+ <string>https://httpproxy.example.com</string>
+ <key>UseHTTPProxyForAllProtocols</key>
+ <true> | </false>
+ <key>SSLProxy</key>
+ <string>https://sslproxy.example.com</string>
+ <key>FTPProxy</key>
+ <string>https://ftpproxy.example.com</string>
+ <key>SOCKSProxy</key>
+ <string>https://socksproxy.example.com</string>
+ <key>SOCKSVersion</key>
+ <string>4 | 5</string>
+ <key>Passthrough</key>
+ <string><local>></string>
+ <key>AutoConfigURL</key>
+ <string>URL_TO_AUTOCONFIG</string>
+ <key>AutoLogin</key>
+ <true> | </false>
+ <key>UseProxyForDNS</key>
+ <true> | </false>
+ </dict>
+</dict>
+```
+#### policies.json
+```
+{
+ "policies": {
+ "Proxy": {
+ "Mode": "none", "system", "manual", "autoDetect", "autoConfig",
+ "Locked": [true, false],
+ "HTTPProxy": "hostname",
+ "UseHTTPProxyForAllProtocols": [true, false],
+ "SSLProxy": "hostname",
+ "FTPProxy": "hostname",
+ "SOCKSProxy": "hostname",
+ "SOCKSVersion": 4 | 5
+ "Passthrough": "<local>",
+ "AutoConfigURL": "URL_TO_AUTOCONFIG",
+ "AutoLogin": [true, false],
+ "UseProxyForDNS": [true, false]
+ }
+ }
+}
+```
+### RequestedLocales
+Set the the list of requested locales for the application in order of preference. It will cause the corresponding language pack to become active.
+
+Note: For Firefox 68, this can now be a string so that you can specify an empty value.
+
+**Compatibility:** Firefox 64, Firefox ESR 60.4, Updated in Firefox 68, Firefox ESR 68\
+**CCK2 Equivalent:** N/A\
+**Preferences Affected:** N/A
+#### Windows (GPO)
+```
+Software\Policies\Mozilla\Firefox\RequestedLocales\1 = "de"
+Software\Policies\Mozilla\Firefox\RequestedLocales\2 = "en-US"
+
+or
+
+Software\Policies\Mozilla\Firefox\RequestedLocales = "de,en-US"
+```
+#### macOS
+```
+<dict>
+ <key>RequestedLocales</key>
+ <array>
+ <string>de</string>
+ <string>en-US</string>
+ </array>
+</dict>
+
+or
+
+<dict>
+ <key>RequestedLocales</key>
+ <string>de,en-US</string>
+</dict>
+
+```
+#### policies.json
+```
+{
+ "policies": {
+ "RequestedLocales": ["de", "en-US"]
+ }
+}
+
+or
+
+{
+ "policies": {
+ "RequestedLocales": "de,en-US"
+ }
+}
+```
+### SanitizeOnShutdown (Selective)
+Clear data on shutdown. Choose from Cache, Cookies, Download History, Form & Search History, Browsing History, Active Logins, Site Preferences and Offline Website Data.
+
+**Compatibility:** Firefox 68, Firefox ESR 68\
+**CCK2 Equivalent:** N/A\
+**Preferences Affected:** `privacy.sanitize.sanitizeOnShutdown`,`privacy.clearOnShutdown.cache`,`privacy.clearOnShutdown.cookies`,`privacy.clearOnShutdown.downloads`,`privacy.clearOnShutdown.formdata`,`privacy.clearOnShutdown.history`,`privacy.clearOnShutdown.sessions`,`privacy.clearOnShutdown.siteSettings`,`privacy.clearOnShutdown.offlineApps`
+#### Windows (GPO)
+```
+Software\Policies\Mozilla\Firefox\SanitizeOnShutdown\Cache = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\SanitizeOnShutdown\Cookies = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\SanitizeOnShutdown\Downloads = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\SanitizeOnShutdown\FormData = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\SanitizeOnShutdown\History = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\SanitizeOnShutdown\Sessions = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\SanitizeOnShutdown\SiteSettings = 0x1 | 0x0
+Software\Policies\Mozilla\Firefox\SanitizeOnShutdown\OfflineApps = 0x1 | 0x0
+```
+#### macOS
+```
+<dict>
+ <key>SanitizeOnShutdown</key>
+ <dict>
+ <key>Cache</key>
+ <true/> | <false/>
+ <key>Cookies</key>
+ <true/> | <false/>
+ <key>Downloads</key>
+ <true/> | <false/>
+ <key>FormData</key>
+ <true/> | <false/>
+ <key>History</key>
+ <true/> | <false/>
+ <key>Sessions</key>
+ <true/> | <false/>
+ <key>SiteSettings</key>
+ <true/> | <false/>
+ <key>OfflineApps</key>
+ <true/> | <false/>
+ </dict>
+</dict>
+```
+#### policies.json
+```
+{
+ "policies": {
+ "SanitizeOnShutdown": {
+ "Cache": true | false,
+ "Cookies": true | false,
+ "Downloads": true | false,
+ "FormData": true | false,
+ "History": true | false,
+ "Sessions": true | false,
+ "SiteSettings": true | false,
+ "OfflineApps": true | false
+ }
+ }
+}
+```
+### SanitizeOnShutdown (All)
+Clear all data on shutdown, including Browsing & Download History, Cookies, Active Logins, Cache, Form & Search History, Site Preferences and Offline Website Data.
+
+**Compatibility:** Firefox 60, Firefox ESR 60\
+**CCK2 Equivalent:** N/A\
+**Preferences Affected:** `privacy.sanitize.sanitizeOnShutdown`,`privacy.clearOnShutdown.cache`,`privacy.clearOnShutdown.cookies`,`privacy.clearOnShutdown.downloads`,`privacy.clearOnShutdown.formdata`,`privacy.clearOnShutdown.history`,`privacy.clearOnShutdown.sessions`,`privacy.clearOnShutdown.siteSettings`,`privacy.clearOnShutdown.offlineApps`
+#### Windows (GPO)
+```
+Software\Policies\Mozilla\Firefox\SanitizeOnShutdown = 0x1 | 0x0
+```
+#### macOS
+```
+<dict>
+ <key>SanitizeOnShutdown</key>
+ <true/> | <false/>
+</dict>
+```
+#### policies.json
+```
+{
+ "policies": {
+ "SanitizeOnShutdown": true | false
+ }
+}
+```
+### SearchBar
+Set whether or not search bar is displayed.
+
+**Compatibility:** Firefox 60, Firefox ESR 60\
+**CCK2 Equivalent:** `showSearchBar`\
+**Preferences Affected:** N/A
+
+#### Windows (GPO)
+```
+Software\Policies\Mozilla\Firefox\SearchBar = "unified" | "separate"
+```
+#### macOS
+```
+<dict>
+ <key>SearchBar</key>
+ <string>unified | separate</string>
+</dict>
+```
+
+#### policies.json
+```
+{
+ "policies": {
+ "SearchBar": "unified" | "separate"
+ }
+}
+```
+
+
+
+
+
+### SearchEngines (This policy is only available on the ESR.)
+
+### SearchEngines | Default
+
+Set the default search engine. This policy is only available on the ESR.
+
+**Compatibility:** Firefox ESR 60\
+**CCK2 Equivalent:** `defaultSearchEngine`\
+**Preferences Affected:** N/A
+
+#### Windows (GPO)
+```
+Software\Policies\Mozilla\Firefox\SearchEngines\Default = NAME_OF_SEARCH_ENGINE
+```
+#### macOS
+```
+<dict>
+ <key>SearchEngines</key>
+ <dict>
+ <key>Default</key>
+ <string>NAME_OF_SEARCH_ENGINE</string>
+ </dict>
+</dict>
+```
+#### policies.json
+```
+{
+ "policies": {
+ "SearchEngines": {
+ "Default": "NAME_OF_SEARCH_ENGINE"
+ }
+ }
+}
+```
+### SearchEngines | PreventInstalls
+
+Prevent installing search engines from webpages.
+
+**Compatibility:** Firefox ESR 60\
+**CCK2 Equivalent:** `disableSearchEngineInstall`\
+**Preferences Affected:** N/A
+
+#### Windows (GPO)
+```
+Software\Policies\Mozilla\Firefox\SearchEngines\PreventInstalls = 0x1 | 0x0
+```
+#### macOS
+```
+<dict>
+ <key>SearchEngines</key>
+ <dict>
+ <key>PreventInstalls</key>
+ <true/> | <false/>
+ </dict>
+</dict>
+```
+#### policies.json
+```
+{
+ "policies": {
+ "SearchEngines": {
+ "PreventInstalls": true | false
+ }
+ }
+}
+```
+### SearchEngines | Remove
+
+Hide built-in search engines. This policy is only available on the ESR.
+
+**Compatibility:** Firefox ESR 60.2\
+**CCK2 Equivalent:** `removeDefaultSearchEngines` (removed all built-in engines)\
+**Preferences Affected:** N/A
+
+#### Windows (GPO)
+```
+Software\Policies\Mozilla\Firefox\SearchEngines\Remove\1 = NAME_OF_SEARCH_ENGINE
+```
+#### macOS
+```
+<dict>
+ <key>SearchEngines</key>
+ <dict>
+ <key>Remove</key>
+ <array>
+ <string>NAME_OF_SEARCH_ENGINE</string>
+ </array>
+ </dict>
+</dict>
+```
+#### policies.json
+```
+{
+ "policies": {
+ "SearchEngines": {
+ "Remove": ["NAME_OF_SEARCH_ENGINE"]
+ }
+ }
+}
+```
+### SearchEngines | Add
+
+Add new search engines (up to five). This policy is only available on the ESR. `Name` and `URLTemplate` are required.
+
+`Name` is the name of the search engine.
+
+`URLTemplate` is the search URL with {searchTerms} to substitute for the search term.
+
+`Method` is either GET or POST
+
+`IconURL` is a URL for the icon to use.
+
+`Alias` is a keyword to use for the engine.
+
+`Description` is a description of the search engine.
+
+`PostData` is the POST data as name value pairs separated by &.
+
+`SuggestURLTemplate` is a search suggestions URL with {searchTerms} to substitute for the search term.
+
+**Compatibility:** Firefox ESR 60 (POST support in Firefox ESR 68)\
+**CCK2 Equivalent:** `searchplugins`\
+**Preferences Affected:** N/A
+
+#### Windows (GPO)
+```
+Software\Policies\Mozilla\Firefox\SearchEngines\Add\1\Name = "Example1"
+Software\Policies\Mozilla\Firefox\SearchEngines\Add\1\URLTemplate = "https://www.example.org/q={searchTerms}"
+Software\Policies\Mozilla\Firefox\SearchEngines\Add\1\Method = "GET" | "POST"
+Software\Policies\Mozilla\Firefox\SearchEngines\Add\1\IconURL = "https://www.example.org/favicon.ico"
+Software\Policies\Mozilla\Firefox\SearchEngines\Add\1\Alias = "example"
+Software\Policies\Mozilla\Firefox\SearchEngines\Add\1\Description = "Example Description"
+Software\Policies\Mozilla\Firefox\SearchEngines\Add\1\SuggestURLTemplate = "https://www.example.org/suggestions/q={searchTerms}"
+Software\Policies\Mozilla\Firefox\SearchEngines\Add\1\PostData = "name=value&q={searchTerms}"
+```
+
+#### macOS
+```
+<dict>
+ <key>SearchEngines</key>
+ <dict>
+ <key>Add</key>
+ <array>
+ <dict>
+ <key>Name</key>
+ <string>Example1</string>
+ <key>URLTemplate</key>
+ <string>https://www.example.org/q={searchTerms}</string>
+ <key>Method</key>
+ <string>GET | POST </string>
+ <key>IconURL</key>
+ <string>https://www.example.org/favicon.ico</string>
+ <key>Alias</key>
+ <string>example</string>
+ <key>Description</key>
+ <string>Example Description</string>
+ <key>SuggestURLTemplate</key>
+ <string>https://www.example.org/suggestions/q={searchTerms}</string>
+ <key>PostData</key>
+ <string>name=value&q={searchTerms}</string>
+ </dict>
+ <array>
+ </dict>
+</dict>
+```
+#### policies.json
+```
+{
+ "policies": {
+ "SearchEngines": {
+ "Add": [
+ {
+ "Name": "Example1",
+ "URLTemplate": "https://www.example.org/q={searchTerms}",
+ "Method": "GET" | "POST",
+ "IconURL": "https://www.example.org/favicon.ico",
+ "Alias": "example",