+**These policies are in active development and so might contain changes that do not work with current versions of Firefox.**
+
+**You should use the officially released versions (https://github.com/mozilla/policy-templates/releases) if you are deploying changes.**
+
Policies can be specified using the Group Policy templates on Windows (https://github.com/mozilla/policy-templates/tree/master/windows), configuration profiles on macOS (https://github.com/mozilla/policy-templates/tree/master/mac), or by creating a file called `policies.json`. On Windows, create a directory called `distribution` where the EXE is located and place the file there. On Mac, the file goes into `Firefox.app/Contents/Resources/distribution`. On Linux, the file goes into `firefox/distribution`, where `firefox` is the installation directory for firefox, which varies by distribution.
| Policy Name | Description
| **[`EnableTrackingProtection`](#enabletrackingprotection)** | Configure tracking protection.
| **[`EnterprisePoliciesEnabled`](#enterprisepoliciesenabled)** | Enable policy support on macOS.
| **[`Extensions`](#extensions)** | Control the installation, uninstallation and locking of extensions.
+| **[`ExtensionSettings`](#extensionsettings)** | Manage all aspects of extensions.
| **[`ExtensionUpdate`](#extensionupdate)** | Control extension updates.
| **[`FlashPlugin`](#flashplugin)** | Configure the default Flash plugin policy as well as origins for which Flash is allowed.
| **[`FirefoxHome`](#firefoxhome)** | Customize the Firefox Home page.
<string>https://yoursite.com</string>
</dict>
```
-### JSON
+#### JSON
```
{
"policies": {
</dict>
</dict>
```
-### JSON
+#### JSON
```
{
"policies": {
</array>
</dict>
```
-### JSON
+#### JSON
```
{
"policies": {
**Preferences Affected:** N/A
#### Windows
-
-Software\Policies\Mozilla\Firefox\ExtensionSettings = '{"*": {"installation_mode": "blocked"}}`
+```
+Software\Policies\Mozilla\Firefox\ExtensionSettings = '{"*": {"installation_mode": "blocked"}}'
+```
#### macOS
```
<dict>
**CCK2 Equivalent:** `preferences`\
**Preferences Affected:** See below
-| Preference | Type | Compatibility
-| --- | --- | ---
-| app.update.auto | boolean | Firefox 68, Firefox 68 ESR
-| browser.cache.disk.enable | boolean | Firefox 68, Firefox 68 ESR
-| browser.cache.disk.parent_directory | string | Firefox 68, Firefox 68 ESR
-| browser.fixup.dns_first_for_single_words | boolean | Firefox 68, Firefox 68 ESR
-| browser.search.update | boolean | Firefox 68, Firefox 68 ESR
-| browser.tabs.warnOnClose | boolean | Firefox 68, Firefox 68 ESR
-| browser.urlbar.suggest.bookmark | boolean | Firefox 68, Firefox 68 ESR
-| browser.urlbar.suggest.history | boolean | Firefox 68, Firefox 68 ESR
-| browser.urlbar.suggest.openpage | boolean | Firefox 68, Firefox 68 ESR
-| datareporting.policy.dataSubmissionPolicyBypassNotification | boolean | Firefox 68, Firefox 68 ESR
-| dom.disable_window_flip | boolean | Firefox 68, Firefox 68 ESR
-| dom.disable_window_move_resize | boolean | Firefox 68, Firefox 68 ESR
-| dom.event.contextmenu.enabled | boolean | Firefox 68, Firefox 68 ESR
-| dom.keyboardevent.keypress.hack.dispatch_non_printable_keys.addl | string | Firefox 68, Firefox 68 ESR
-| dom.keyboardevent.keypress.hack.use_legacy_keycode_and_charcode.addl | string | Firefox 68, Firefox 68 ESR
-| extensions.getAddons.showPane | boolean | Firefox 68, Firefox 68 ESR
-| media.gmp-gmpopenh264.enabled | boolean | Firefox 68, Firefox 68 ESR
-| media.gmp-widevinecdm.enabled | boolean | Firefox 68, Firefox 68 ESR
-| network.dns.disableIPv6 | boolean | Firefox 68, Firefox 68 ESR
-| network.IDN_show_punycode | boolean | Firefox 68, Firefox 68 ESR
-| places.history.enabled | boolean | Firefox 68, Firefox 68 ESR
-| security.default_personal_cert | string | Firefox 68, Firefox 68 ESR
-| security.ssl.errorReporting.enabled | boolean | Firefox 68, Firefox 68 ESR
-| ui.key.menuAccessKeyFocuses | boolean | Firefox 68, Firefox 68 ESR
+| Preference | Type | Compatibility | Default
+| --- | --- | --- | ---
+| app.update.auto | boolean | Firefox 68, Firefox 68 ESR | true
+| If false, Firefox doesn't automatically install update.
+| browser.cache.disk.enable | boolean | Firefox 68, Firefox 68 ESR | true
+| If false, don't store cache on the hard drive.
+| browser.cache.disk.parent_directory | string | Firefox 68, Firefox 68 ESR | Profile temporary directory
+| If set, changes the location of the disk cache.
+| browser.fixup.dns_first_for_single_words | boolean | Firefox 68, Firefox 68 ESR | false
+| If true, single words are sent to DNS, not directly to search.
+| browser.search.update | boolean | Firefox 68, Firefox 68 ESR | true
+| If false, updates for search engines are not checked.
+| browser.tabs.warnOnClose | boolean | Firefox 68, Firefox 68 ESR | true
+| If false, there is no warning when the browser is closed.
+| browser.urlbar.suggest.bookmark | boolean | Firefox 68, Firefox 68 ESR | true
+| If false, bookmarks aren't suggested when typing in the URL bar.
+| browser.urlbar.suggest.history | boolean | Firefox 68, Firefox 68 ESR | true
+| If false, history isn't suggested when typing in the URL bar.
+| browser.urlbar.suggest.openpage | boolean | Firefox 68, Firefox 68 ESR | true
+| If false, open tabs aren't suggested when typing in the URL bar.
+| datareporting.policy.dataSubmissionPolicyBypassNotification | boolean | Firefox 68, Firefox 68 ESR | false
+| If true, don't show the privacy policy tab on first run.
+| dom.disable_window_flip | boolean | Firefox 68, Firefox 68 ESR | true
+| If false, web pages can focus and activate windows.
+| dom.disable_window_move_resize | boolean | Firefox 68, Firefox 68 ESR | false
+| If true, web pages can't move or resize windows.
+| dom.event.contextmenu.enabled | boolean | Firefox 68, Firefox 68 ESR | true
+| If false, web pages can't override context menus.
+| dom.keyboardevent.keypress.hack.dispatch_non_printable_keys.addl | string | Firefox 68, Firefox 68 ESR | 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 68 ESR | N/A
+| See https://support.mozilla.org/en-US/kb/dom-events-changes-introduced-firefox-66
+| extensions.getAddons.showPane | boolean | Firefox 68, Firefox 68 ESR | N/A
+| If false, the Recommendations tab is not displayed in the Add-ons Manager.
+| media.gmp-gmpopenh264.enabled | boolean | Firefox 68, Firefox 68 ESR | true
+| If false, the OpenH264 plugin is not downloaded.
+| media.gmp-widevinecdm.enabled | boolean | Firefox 68, Firefox 68 ESR | true
+| If false, the Widevine plugin is not downloaded.
+| network.dns.disableIPv6 | boolean | Firefox 68, Firefox 68 ESR | false
+| If true, IPv6 DNS lokoups are disabled.
+| network.IDN_show_punycode | boolean | Firefox 68, Firefox 68 ESR | false
+| If true, display the punycode version of internationalized domain names.
+| places.history.enabled | boolean | Firefox 68, Firefox 68 ESR | true
+| If false, history is not enabled.
+| security.default_personal_cert | string | Firefox 68, Firefox 68 ESR | Ask Every Time
+| If set to Select Automatically, Firefox automatically chooses the default personal certificate.
+| security.ssl.errorReporting.enabled | boolean | Firefox 68, Firefox 68 ESR | true
+| If false, SSL errors cannot be sent to Mozilla.
+| ui.key.menuAccessKeyFocuses | boolean | Firefox 68, Firefox 68 ESR | true
+| If false, the Alt key doesn't show the menubar on Windows.
#### Windows
```
Software\Policies\Mozilla\Firefox\Preferences\boolean_preference_name = 0x1 | 0x0
</dict>
</dict>
```
-### JSON
+#### JSON
```
{
"policies": {
**CCK2 Equivalent:** `defaultSearchEngine`\
**Preferences Affected:** N/A
-### Windows
+#### Windows
```
Software\Policies\Mozilla\Firefox\SearchEngines\Default = NAME_OF_SEARCH_ENGINE
```
</dict>
</dict>
```
-### JSON
+#### JSON
```
{
"policies": {
**CCK2 Equivalent:** `disableSearchEngineInstall`\
**Preferences Affected:** N/A
-### Windows
+#### Windows
```
Software\Policies\Mozilla\Firefox\SearchEngines\PreventInstalls = 0x1 | 0x0
```
</dict>
</dict>
```
-### JSON
+#### JSON
```
{
"policies": {
**CCK2 Equivalent:** `removeDefaultSearchEngines` (removed all built-in engines)\
**Preferences Affected:** N/A
-### Windows
+#### Windows
```
Software\Policies\Mozilla\Firefox\SearchEngines\Remove\1 = NAME_OF_SEARCH_ENGINE
```
</dict>
</dict>
```
-### JSON
+#### JSON
```
{
"policies": {
**Preferences Affected:** N/A
#### Windows
+```
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\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>
</dict>
```
-### JSON
+#### JSON
```
{
"policies": {
**CCK2 Equivalent:** N/A\
**Preferences Affected:** `browser.urlbar.suggest.searches`,`browser.search.suggest.enabled`
-### Windows
+#### Windows
```
Software\Policies\Mozilla\Firefox\SearchSuggestEnabled = 0x1 | 0x0
```
<true/> | <false/>
</dict>
```
-### JSON
+#### JSON
```
{
"policies": {
```
Software\Policies\Mozilla\Firefox\SupportMenu\Title = "Support Menu"
Software\Policies\Mozilla\Firefox\SupportMenu\URL = "http://example.com/support"
-Software\Policies\Mozilla\Firefox\SupportMenu\Title = "S"
+Software\Policies\Mozilla\Firefox\SupportMenu\AccessKey = "S"
```
#### macOS
```
</dict>
</dict>
```
-### JSON
+#### JSON
```
{
"policies": {
</dict>
```
-### JSON
+#### JSON
```
{
"policies": {