Skip to content

Permissions

Set permissions associated with camera, microphone, location, notifications, autoplay, and virtual reality. Because these are origins, not domains, entries with unique ports must be specified separately. This explicitly means that it is not possible to add wildcards. 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.
  • Default specifies the default value for Autoplay.
policies.json
{
"policies": {
"Permissions": {
"Camera": {
"Allow": [
"https://example.org",
"https://example.org:1234"
],
"Block": [
"https://example.edu"
],
"BlockNewRequests": true,
"Locked": true
},
"Microphone": {
"Allow": [
"https://example.org"
],
"Block": [
"https://example.edu"
],
"BlockNewRequests": true,
"Locked": true
},
"Location": {
"Allow": [
"https://example.org"
],
"Block": [
"https://example.edu"
],
"BlockNewRequests": true,
"Locked": true
},
"Notifications": {
"Allow": [
"https://example.org"
],
"Block": [
"https://example.edu"
],
"BlockNewRequests": true,
"Locked": true
},
"Autoplay": {
"Allow": [
"https://example.org"
],
"Block": [
"https://example.edu"
],
"Default": "allow-audio-video",
"Locked": true
},
"VirtualReality": {
"Allow": [
"https://example.org"
],
"Block": [
"https://example.edu"
],
"BlockNewRequests": true,
"Locked": true
},
"ScreenShare": {
"Allow": [
"https://example.org"
],
"Block": [
"https://example.edu"
],
"BlockNewRequests": true,
"Locked": true
}
}
}
}
JSON schema
Permissions JSON schema
{
"type": "object",
"properties": {
"Camera": {
"type": "object",
"properties": {
"Allow": {
"type": "array",
"items": {
"type": "string",
"format": "moz-url",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"Block": {
"type": "array",
"items": {
"type": "string",
"format": "moz-url",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"BlockNewRequests": {
"type": "boolean"
},
"Locked": {
"type": "boolean"
}
}
},
"Microphone": {
"type": "object",
"properties": {
"Allow": {
"type": "array",
"items": {
"type": "string",
"format": "moz-url",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"Block": {
"type": "array",
"items": {
"type": "string",
"format": "moz-url",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"BlockNewRequests": {
"type": "boolean"
},
"Locked": {
"type": "boolean"
}
}
},
"Autoplay": {
"type": "object",
"properties": {
"Default": {
"type": "string",
"oneOf": [
{
"const": "allow-audio-video",
"title": "Allow audio and video"
},
{
"const": "block-audio",
"title": "Block audio"
},
{
"const": "block-audio-video",
"title": "Block audio and video"
}
]
},
"Allow": {
"type": "array",
"items": {
"type": "string",
"format": "moz-url",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"Block": {
"type": "array",
"items": {
"type": "string",
"format": "moz-url",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"Locked": {
"type": "boolean"
}
}
},
"Location": {
"type": "object",
"properties": {
"Allow": {
"type": "array",
"items": {
"type": "string",
"format": "moz-url",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"Block": {
"type": "array",
"items": {
"type": "string",
"format": "moz-url",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"BlockNewRequests": {
"type": "boolean"
},
"Locked": {
"type": "boolean"
}
}
},
"Notifications": {
"type": "object",
"properties": {
"Allow": {
"type": "array",
"items": {
"type": "string",
"format": "moz-url",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"Block": {
"type": "array",
"items": {
"type": "string",
"format": "moz-url",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"BlockNewRequests": {
"type": "boolean"
},
"Locked": {
"type": "boolean"
}
}
},
"VirtualReality": {
"type": "object",
"properties": {
"Allow": {
"type": "array",
"items": {
"type": "string",
"format": "moz-url",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"Block": {
"type": "array",
"items": {
"type": "string",
"format": "moz-url",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"BlockNewRequests": {
"type": "boolean"
},
"Locked": {
"type": "boolean"
}
}
},
"ScreenShare": {
"type": "object",
"properties": {
"Allow": {
"type": "array",
"items": {
"type": "string",
"format": "moz-url",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"Block": {
"type": "array",
"items": {
"type": "string",
"format": "moz-url",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"BlockNewRequests": {
"type": "boolean"
},
"Locked": {
"type": "boolean"
}
}
}
}
}
Software\Policies\Mozilla\Firefox\Permissions\Camera\Allow\1 = "https://example.org"
Software\Policies\Mozilla\Firefox\Permissions\Camera\Allow\2 = "https://example.com"
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\Allow\2 = "https://example.com"
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\Allow\2 = "https://example.com"
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\Allow\2 = "https://example.com"
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
Software\Policies\Mozilla\Firefox\Permissions\Autoplay\Allow\1 = "https://example.org"
Software\Policies\Mozilla\Firefox\Permissions\Autoplay\Allow\2 = "https://example.com"
Software\Policies\Mozilla\Firefox\Permissions\Autoplay\Block\1 = "https://example.edu"
Software\Policies\Mozilla\Firefox\Permissions\Autoplay\Default = "allow-audio-video" | "block-audio" | "block-audio-video"
Software\Policies\Mozilla\Firefox\Permissions\Autoplay\Locked = 0x1 | 0x0
Software\Policies\Mozilla\Firefox\Permissions\VirtualReality\Allow\1 = "https://example.org"
Software\Policies\Mozilla\Firefox\Permissions\VirtualReality\Allow\2 = "https://example.com"
Software\Policies\Mozilla\Firefox\Permissions\VirtualReality\Block\1 = "https://example.edu"
Software\Policies\Mozilla\Firefox\Permissions\VirtualReality\BlockNewRequests = 0x1 | 0x0
Software\Policies\Mozilla\Firefox\Permissions\VirtualReality\Locked = 0x1 | 0x0
Software\Policies\Mozilla\Firefox\Permissions\ScreenShare\Allow\1 = "https://example.org"
Software\Policies\Mozilla\Firefox\Permissions\ScreenShare\Allow\2 = "https://example.com"
Software\Policies\Mozilla\Firefox\Permissions\ScreenShare\Block\1 = "https://example.edu"
Software\Policies\Mozilla\Firefox\Permissions\ScreenShare\BlockNewRequests = 0x1 | 0x0
Software\Policies\Mozilla\Firefox\Permissions\ScreenShare\Locked = 0x1 | 0x0
<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/> | <false/>
<key>Locked</key>
<true/> | <false/>
</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/> | <false/>
<key>Locked</key>
<true/> | <false/>
</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/> | <false/>
<key>Locked</key>
<true/> | <false/>
</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>
<key>Autoplay</key>
<dict>
<key>Allow</key>
<array>
<string>https://example.org</string>
</array>
<key>Block</key>
<array>
<string>https://example.edu</string>
</array>
<key>Default</key>
<string>allow-audio-video | block-audio | block-audio-video</string>
<key>Locked</key>
<true/> | <false/>
</dict>
<key>VirtualReality</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/> | <false/>
<key>Locked</key>
<true/> | <false/>
</dict>
<key>ScreenShare</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/> | <false/>
<key>Locked</key>
<true/> | <false/>
</dict>
</dict>
</dict>
FirefoxFirefox ESRFirefox Enterprise
PermissionsAvailable since 62Available since 60.2Available since 149
Autoplay1Available since 74Available since 68.6Available since 149
VirtualRealityAvailable since 80Available since 78.2Available since 149
ScreenShareAvailable since 142Available since 140.2Available since 149
  1. Default and Locked were added in Firefox 76, Firefox ESR 68.8.0.

CCK2 Equivalent: N/A
OMA-URI: Permissions
Preferences Affected: permissions.default.camera, permissions.default.microphone, permissions.default.geo, permissions.default.desktop-notification, media.autoplay.default, permissions.default.xr, permissions.default.screen