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.

FirefoxFirefox ESRFirefox Enterprise
Available since 62Available since 60.2.0Available since 149

Autoplay added in Firefox 74, Firefox ESR 68.6, Default/Locked added in Firefox 76, Firefox ESR 68.8, VirtualReality added in Firefox 80, Firefox ESR 78.2, ScreenShare added in Firefox 142, Firefox ESR 140.2.

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

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": "uri",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"Block": {
"type": "array",
"items": {
"type": "string",
"format": "uri",
"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": "uri",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"Block": {
"type": "array",
"items": {
"type": "string",
"format": "uri",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"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",
"items": {
"type": "string",
"format": "uri",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"Block": {
"type": "array",
"items": {
"type": "string",
"format": "uri",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"Locked": {
"type": "boolean"
}
}
},
"Location": {
"type": "object",
"properties": {
"Allow": {
"type": "array",
"items": {
"type": "string",
"format": "uri",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"Block": {
"type": "array",
"items": {
"type": "string",
"format": "uri",
"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": "uri",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"Block": {
"type": "array",
"items": {
"type": "string",
"format": "uri",
"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": "uri",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"Block": {
"type": "array",
"items": {
"type": "string",
"format": "uri",
"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": "uri",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"Block": {
"type": "array",
"items": {
"type": "string",
"format": "uri",
"pattern": "^([Ff][Ii][Ll][Ee]://.*|[Hh][Tt][Tt][Pp][Ss]?://[^/]+/?)$"
}
},
"BlockNewRequests": {
"type": "boolean"
},
"Locked": {
"type": "boolean"
}
}
}
}
}
  • 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. block-audio-video is not supported on Firefox ESR 68.
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>