browser/components/enterprisepolicies/schemas/policies-schema.json
author Bogdan Tara <btara@mozilla.com>
Thu, 21 May 2020 21:06:11 +0300
changeset 531481 5bb98eb252691b1aa5226360735fef4c078d7f8b
parent 531473 7daef473f5ebb2fce0b58a82972cf7b4a8079ae8
child 531517 fdfb16cb82a6fd84f0ebc11e1545c429a7852989
permissions -rw-r--r--
Backed out changeset 7daef473f5eb (bug 1619658) for test_sorted_alphabetically.js failures CLOSED TREE

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {

    "3rdparty": {
      "type": "object",
      "properties": {
        "Extensions" : {
          "type": "object",
          "patternProperties": {
            "^.*$": {
              "type": "JSON"
            }
          }
        }
      }
    },

    "AppAutoUpdate": {
      "type": "boolean"
    },

    "AppUpdateURL": {
      "type": "URL"
    },

    "Authentication": {
      "type": "object",
      "properties": {
        "SPNEGO" : {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Delegated" : {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "NTLM" : {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "AllowNonFQDN": {
          "type": "object",
          "properties": {
            "SPNEGO": {
              "type": "boolean"
            },

            "NTLM": {
              "type": "boolean"
            }
          }
        },
        "AllowProxies": {
          "type": "object",
          "properties": {
            "SPNEGO": {
              "type": "boolean"
            },

            "NTLM": {
              "type": "boolean"
            }
          }
        },
        "Locked": {
          "type": "boolean"
        },
        "PrivateBrowsing": {
          "type": "boolean"
        }
      }
    },

    "BlockAboutAddons": {
      "type": "boolean"
    },

    "BlockAboutConfig": {
      "type": "boolean"
    },

    "BlockAboutProfiles": {
      "type": "boolean"
    },

    "BlockAboutSupport": {
      "type": "boolean"
    },

    "Bookmarks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "Title": {
            "type": "string"
          },

          "URL": {
            "type": "URL"
          },

          "Favicon": {
            "type": "URLorEmpty"
          },

          "Placement": {
            "type": "string",
            "enum": ["toolbar", "menu"]
          },

          "Folder": {
            "type": "string"
          }
        },
        "required": ["Title", "URL"]
      }
    },

    "CaptivePortal": {
      "type": "boolean"
    },

    "Certificates": {
      "type": "object",
      "properties": {
        "ImportEnterpriseRoots": {
          "type": "boolean"
        },
        "Install": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },

    "Cookies": {
      "type": "object",
      "properties": {
        "Allow": {
          "type": "array",
          "strict": false,
          "items": {
            "type": "origin"
          }
        },

        "Block": {
          "type": "array",
          "strict": false,
          "items": {
            "type": "origin"
          }
        },

        "Default": {
          "type": "boolean"
        },

        "AcceptThirdParty": {
          "type": "string",
          "enum": ["always", "never", "from-visited"]
        },

        "RejectTracker": {
          "type": "boolean"
        },

        "ExpireAtSessionEnd": {
          "type": "boolean"
        },

        "Locked": {
          "type": "boolean"
        }
      }
    },

    "DefaultDownloadDirectory": {
      "type": "string"
    },

    "DisableAppUpdate": {
      "type": "boolean"
    },

    "DisableBuiltinPDFViewer": {
      "type": "boolean"
    },

    "DisabledCiphers": {
      "type": "object",
      "properties": {
        "TLS_DHE_RSA_WITH_AES_128_CBC_SHA": {
          "type": "boolean"
        },
        "TLS_DHE_RSA_WITH_AES_256_CBC_SHA": {
          "type": "boolean"
        },
        "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA": {
          "type": "boolean"
        },
        "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA": {
          "type": "boolean"
        },
        "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256": {
          "type": "boolean"
        },
        "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256": {
          "type": "boolean"
        },
        "TLS_RSA_WITH_AES_128_CBC_SHA": {
          "type": "boolean"
        },
        "TLS_RSA_WITH_AES_256_CBC_SHA": {
          "type": "boolean"
        },
        "TLS_RSA_WITH_3DES_EDE_CBC_SHA": {
          "type": "boolean"
        }
      }
    },

    "DisableDefaultBrowserAgent": {
      "type": "boolean"
    },

    "DisableDeveloperTools": {
      "type": "boolean"
    },

    "DisableFeedbackCommands": {
      "type": "boolean"
    },

    "DisableFirefoxAccounts": {
      "type": "boolean"
    },

    "DisableFirefoxScreenshots": {
      "type": "boolean"
    },

    "DisableFirefoxStudies": {
      "type": "boolean"
    },

    "DisableForgetButton": {
      "type": "boolean"
    },

    "DisableFormHistory": {
      "type": "boolean"
    },

    "DisableMasterPasswordCreation": {
      "type": "boolean"
    },

    "DisablePasswordReveal": {
      "type": "boolean"
    },

    "DisablePocket": {
      "type": "boolean"
    },

    "DisablePrivateBrowsing": {
      "type": "boolean"
    },

    "DisableProfileImport": {
      "type": "boolean"
    },

    "DisableProfileRefresh": {
      "type": "boolean"
    },

    "DisableSafeMode": {
      "type": "boolean"
    },

    "DisableSecurityBypass": {
      "type": "object",
      "properties": {
        "InvalidCertificate": {
          "type": "boolean"
        },

        "SafeBrowsing": {
          "type": "boolean"
        }
      }
    },

    "DisableSetDesktopBackground": {
      "type": "boolean"
    },

    "DisableSystemAddonUpdate": {
      "type": "boolean"
    },

    "DisableTelemetry": {
      "type": "boolean"
    },

    "DisplayBookmarksToolbar": {
      "type": "boolean"
    },

    "DisplayMenuBar": {
      "type": ["boolean", "string"],
      "enum": ["always", "never", "default-on", "default-off"]
    },

    "DNSOverHTTPS": {
      "type": "object",
      "properties": {
        "Enabled": {
          "type": "boolean"
        },
        "ProviderURL": {
          "type": "URLorEmpty"
        },
        "ExcludedDomains": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Locked": {
          "type": "boolean"
        }
      }
    },

    "DontCheckDefaultBrowser": {
      "type": "boolean"
    },

    "DownloadDirectory": {
      "type": "string"
    },

    "EnableTrackingProtection": {
      "type": "object",
      "properties": {
        "Value": {
          "type": "boolean"
        },
        "Locked": {
          "type": "boolean"
        },
        "Cryptomining": {
          "type": "boolean"
        },
        "Fingerprinting": {
          "type": "boolean"
        },
        "Exceptions": {
          "type": "array",
          "strict": false,
          "items": {
            "type": "origin"
          }
        }
      }
    },

    "EncryptedMediaExtensions": {
      "type": "object",
      "properties": {
        "Enabled": {
          "type": "boolean"
        },
        "Locked": {
          "type": "boolean"
        }
      }
    },

    "Extensions": {
      "type": "object",
      "properties": {
        "Install" : {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Uninstall" : {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Locked" : {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },

    "ExtensionSettings": {
      "type": ["JSON", "object"],
      "properties": {
        "*": {
          "type": "object",
          "properties": {
            "installation_mode": {
              "type": "string",
              "enum": ["allowed", "blocked"]
            },
            "allowed_types": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": ["extension", "dictionary", "locale", "theme"]
              }
            },
            "blocked_install_message": {
              "type": "string"
            },
            "install_sources": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "restricted_domains": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        }
      },
      "patternProperties": {
        "^.*$": {
          "type": "object",
          "properties": {
            "installation_mode": {
              "type": "string",
              "enum": ["allowed", "blocked", "force_installed", "normal_installed"]
            },
            "install_url": {
              "type": "string"
            },
            "blocked_install_message": {
              "type": "string"
            }
          }
        }
      }
    },

    "ExtensionUpdate": {
      "type": "boolean"
    },

    "FirefoxHome": {
      "type": "object",
      "properties": {
        "Search": {
          "type": "boolean"
        },
        "TopSites": {
          "type": "boolean"
        },
        "Highlights": {
          "type": "boolean"
        },
        "Pocket": {
          "type": "boolean"
        },
        "Snippets": {
          "type": "boolean"
        },
        "Locked": {
          "type": "boolean"
        }
      }
    },

    "FlashPlugin": {
      "type": "object",
      "properties": {
        "Allow": {
          "type": "array",
          "strict": false,
          "items": {
            "type": "origin"
          }
        },

        "Block": {
          "type": "array",
          "strict": false,
          "items": {
            "type": "origin"
          }
        },

        "Default": {
          "type": "boolean"
        },

        "Locked": {
          "type": "boolean"
        }
      }
    },

    "HardwareAcceleration": {
      "type": "boolean"
    },

    "Homepage": {
      "type": "object",
      "properties": {
        "URL": {
          "type": "URL"
        },
        "Locked": {
          "type": "boolean"
        },
        "Additional": {
          "type": "array",
          "strict": false,
          "items": {
            "type": "URL"
          }
        },
        "StartPage": {
          "type": "string",
          "enum": ["none", "homepage", "previous-session", "homepage-locked"]
        }
      }
    },

    "InstallAddonsPermission": {
      "type": "object",
      "properties": {
        "Allow": {
          "type": "array",
          "strict": false,
          "items": {
            "type": "origin"
          }
        },
        "Default": {
          "type": "boolean"
        }
      }
    },

    "LegacyProfiles": {
      "type": "boolean"
    },

    "LegacySameSiteCookieBehaviorEnabled": {
      "type": "boolean"
    },

    "LegacySameSiteCookieBehaviorEnabledForDomainList": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },

    "LocalFileLinks": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },

    "NetworkPrediction": {
      "type": "boolean"
    },

    "NewTabPage": {
      "type": "boolean"
    },

    "NoDefaultBookmarks": {
      "type": "boolean"
    },

    "OfferToSaveLogins": {
      "type": "boolean"
    },

    "OfferToSaveLoginsDefault": {
      "type": "boolean"
    },

    "OverrideFirstRunPage": {
      "type": "URLorEmpty"
    },

    "OverridePostUpdatePage": {
      "type": "URLorEmpty"
    },

    "PasswordManagerEnabled": {
      "type": "boolean"
    },

    "PDFjs": {
      "type": "object",
      "properties": {
        "Enabled": {
          "type": "boolean"
        },
        "EnablePermissions": {
          "type": "boolean"
        }
      }
    },

    "Permissions": {
      "type": "object",
      "properties": {
        "Camera": {
          "type": "object",
          "properties": {
            "Allow": {
              "type": "array",
              "strict": false,
              "items": {
                "type": "origin"
              }
            },

            "Block": {
              "type": "array",
              "strict": false,
              "items": {
                "type": "origin"
              }
            },

            "BlockNewRequests": {
              "type": "boolean"
            },

            "Locked": {
              "type": "boolean"
            }
          }
        },

        "Microphone": {
          "type": "object",
          "properties": {
            "Allow": {
              "type": "array",
              "strict": false,
              "items": {
                "type": "origin"
              }
            },

            "Block": {
              "type": "array",
              "strict": false,
              "items": {
                "type": "origin"
              }
            },

            "BlockNewRequests": {
              "type": "boolean"
            },

            "Locked": {
              "type": "boolean"
            }
          }
        },

        "Autoplay": {
          "type": "object",
          "properties": {
            "Default": {
              "type": "string",
              "enum": ["allow-audio-video", "block-audio", "block-audio-video"]
            },

            "Allow": {
              "type": "array",
              "strict": false,
              "items": {
                "type": "origin"
              }
            },

            "Block": {
              "type": "array",
              "strict": false,
              "items": {
                "type": "origin"
              }
            },

            "Locked": {
              "type": "boolean"
            }
          }
        },

        "Location": {
          "type": "object",
          "properties": {
            "Allow": {
              "type": "array",
              "strict": false,
              "items": {
                "type": "origin"
              }
            },

            "Block": {
              "type": "array",
              "strict": false,
              "items": {
                "type": "origin"
              }
            },

            "BlockNewRequests": {
              "type": "boolean"
            },

            "Locked": {
              "type": "boolean"
            }
          }
        },

        "Notifications": {
          "type": "object",
          "properties": {
            "Allow": {
              "type": "array",
              "strict": false,
              "items": {
                "type": "origin"
              }
            },

            "Block": {
              "type": "array",
              "strict": false,
              "items": {
                "type": "origin"
              }
            },

            "BlockNewRequests": {
              "type": "boolean"
            },

            "Locked": {
              "type": "boolean"
            }
          }
        }
      }
    },

    "PopupBlocking": {
      "type": "object",
      "properties": {
        "Allow": {
          "type": "array",
          "strict": false,
          "items": {
            "type": "origin"
          }
        },

        "Default": {
          "type": "boolean"
        },

        "Locked": {
          "type": "boolean"
        }
      }
    },

    "Preferences": {
      "type": "object",
      "properties": {
        "accessibility.force_disabled": {
          "type": "number",
          "enum": [-1, 0, 1]
        },
        "browser.bookmarks.autoExportHTML": {
          "type": "boolean"
        },
        "browser.bookmarks.file": {
          "type": "string"
        },
        "browser.places.importBookmarksHTML": {
          "type": "boolean"
        },
        "browser.bookmarks.restore_default_bookmarks": {
          "type": "boolean"
        },
        "browser.cache.disk.enable": {
          "type": "boolean"
        },
        "browser.fixup.dns_first_for_single_words": {
          "type": "boolean"
        },
        "browser.newtabpage.activity-stream.default.sites": {
          "type": "string"
        },
        "browser.safebrowsing.phishing.enabled": {
          "type": "boolean"
        },
        "browser.safebrowsing.malware.enabled": {
          "type": "boolean"
        },
        "browser.search.update": {
          "type": "boolean"
        },
        "browser.tabs.warnOnClose": {
          "type": "boolean"
        },
        "browser.cache.disk.parent_directory": {
          "type": "string"
        },
        "browser.slowStartup.notificationDisabled": {
          "type": "boolean"
        },
        "browser.taskbar.previews.enable": {
          "type": "boolean"
        },
        "browser.urlbar.suggest.bookmark": {
          "type": "boolean"
        },
        "browser.urlbar.suggest.openpage": {
          "type": "boolean"
        },
        "browser.urlbar.suggest.history": {
          "type": "boolean"
        },
        "datareporting.policy.dataSubmissionPolicyBypassNotification": {
          "type": "boolean"
        },
        "dom.allow_scripts_to_close_windows": {
          "type": "boolean"
        },
        "dom.disable_window_flip": {
          "type": "boolean"
        },
        "dom.disable_window_move_resize": {
          "type": "boolean"
        },
        "dom.event.contextmenu.enabled": {
          "type": "boolean"
        },
        "dom.keyboardevent.keypress.hack.dispatch_non_printable_keys.addl": {
          "type": "string"
        },
        "dom.keyboardevent.keypress.hack.use_legacy_keycode_and_charcode.addl": {
          "type": "string"
        },
        "extensions.blocklist.enabled": {
          "type": "boolean"
        },
        "extensions.getAddons.showPane": {
          "type": "boolean"
        },
        "extensions.htmlaboutaddons.recommendations.enabled": {
          "type": "boolean"
        },
        "geo.enabled": {
          "type": "boolean"
        },
        "intl.accept_languages": {
          "type": "string"
        },
        "media.eme.enabled": {
          "type": "boolean"
        },
        "media.gmp-gmpopenh264.enabled": {
          "type": "boolean"
        },
        "media.gmp-widevinecdm.enabled": {
          "type": "boolean"
        },
        "media.peerconnection.enabled": {
          "type": "boolean"
        },
        "media.peerconnection.ice.obfuscate_host_addresses.whitelist": {
          "type": "string"
        },
        "network.dns.disableIPv6": {
          "type": "boolean"
        },
        "network.IDN_show_punycode": {
          "type": "boolean"
        },
        "places.history.enabled": {
          "type": "boolean"
        },
        "print.save_print_settings": {
          "type": "boolean"
        },
        "privacy.file_unique_origin": {
          "type": "boolean"
        },
        "security.default_personal_cert": {
          "type": "string"
        },
        "security.mixed_content.block_active_content": {
          "type": "boolean"
        },
        "security.osclientcerts.autoload": {
          "type": "boolean"
        },
        "security.ssl.errorReporting.enabled": {
          "type": "boolean"
        },
        "security.tls.hello_downgrade_check": {
          "type": "boolean"
        },
        "ui.key.menuAccessKeyFocuses": {
          "type": "boolean"
        },
        "widget.content.gtk-theme-override": {
          "type": "string"
        }
      }
    },

    "PromptForDownloadLocation": {
      "type": "boolean"
    },

    "Proxy": {
      "type": "object",
      "properties": {
        "Mode": {
          "type": "string",
          "enum": ["none", "system", "manual", "autoDetect", "autoConfig"]
        },

        "Locked": {
          "type": "boolean"
        },

        "AutoConfigURL": {
          "type": "URLorEmpty"
        },

        "FTPProxy": {
          "type": "string"
        },

        "HTTPProxy": {
          "type": "string"
        },

        "SSLProxy": {
          "type": "string"
        },

        "SOCKSProxy": {
          "type": "string"
        },

        "SOCKSVersion": {
          "type": "number",
          "enum": [4, 5]
        },

        "UseHTTPProxyForAllProtocols": {
          "type": "boolean"
        },

        "Passthrough": {
          "type": "string"
        },

        "UseProxyForDNS": {
          "type": "boolean"
        },

        "AutoLogin": {
          "type": "boolean"
        }
      }
    },

    "RequestedLocales": {
      "type": ["string", "array"],
      "items": {
        "type": "string"
      }
    },

    "SanitizeOnShutdown": {
      "type": ["boolean", "object"],
      "properties": {
        "Cache": {
          "type": "boolean"
        },
        "Cookies": {
          "type": "boolean"
        },
        "Downloads": {
          "type": "boolean"
        },
        "FormData": {
          "type": "boolean"
        },
        "History": {
          "type": "boolean"
        },
        "Sessions": {
          "type": "boolean"
        },
        "SiteSettings": {
          "type": "boolean"
        },
        "OfflineApps": {
          "type": "boolean"
        },
        "Locked": {
          "type": "boolean"
        }
      }
    },

    "SearchBar": {
      "type": "string",
      "enum": ["unified", "separate"]
    },

    "SearchEngines": {
      "enterprise_only": true,

      "type": "object",
      "properties": {
        "Add": {
          "type": "array",
          "items": {
            "type": "object",
            "required": ["Name", "URLTemplate"],

            "properties": {
              "Name": {
                "type": "string"
              },
              "IconURL": {
                "type": "URLorEmpty"
              },
              "Alias": {
                "type": "string"
              },
              "Description": {
                "type": "string"
              },
              "Method": {
                "type": "string",
                "enum": ["GET", "POST"]
              },
              "URLTemplate": {
                "type": "string"
              },
              "PostData": {
                "type": "string"
              },
              "SuggestURLTemplate": {
                "type": "string"
              }
            }
          }
        },
        "Default": {
          "type": "string"
        },
        "DefaultPrivate": {
          "type": "string"
        },
        "PreventInstalls": {
          "type": "boolean"
        },
        "Remove": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },

    "SearchSuggestEnabled": {
      "type": "boolean"
    },

    "SecurityDevices": {
      "type": "object",
      "patternProperties": {
        "^.*$": { "type": "string" }
      }
    },

    "SSLVersionMax": {
      "type": "string",
      "enum": ["tls1", "tls1.1", "tls1.2", "tls1.3"]
    },

    "SSLVersionMin": {
      "type": "string",
      "enum": ["tls1", "tls1.1", "tls1.2", "tls1.3"]
    },

    "SupportMenu": {
      "type": "object",
      "properties": {
        "Title": {
          "type": "string"
        },
        "URL": {
          "type": "URL"
        },
        "AccessKey": {
          "type": "string"
        }
      },
      "required": ["Title", "URL"],
    },

    "UserMessaging": {
      "type": "object",
      "properties": {
        "WhatsNew": {
          "type": "boolean"
        },
        "ExtensionRecommendations": {
          "type": "boolean"
        },
        "FeatureRecommendations": {
          "type": "boolean"
        },
        "UrlbarInterventions": {
          "type": "boolean"
        },
        "Locked": {
          "type": "boolean"
        }
      }
    },

    "WebsiteFilter": {
      "type": "object",
      "properties": {
        "Block": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },

        "Exceptions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    }
  }
}