FeaturePolicy

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Note: This interface is called Policy in Firefox, but will be renamed before launch, see Bugzilla issue 1514296

The FeaturePolicy interface of the Feature Policy API represents the set of policies applied to the current execution context.

FeaturePolicy Methods

FeaturePolicy.allowsFeature
Returns a Boolean that indicates wheter the specified feature is enabled in the specified context.
FeaturePolicy.features
Returns a list of names of all features supported by the User Agent. Feature whose name appears on the list might not be allowed by the Feature Policy of the current execution context and/or might not be accessible because of user's permissions.
FeaturePolicy.allowedFeatures
Returns a list of names of all features supported by the User Agent and allowed by the Feature Policy. Note that features appearing on this list might still be behind a user permission.
FeaturePolicy.getAllowlistForFeature
Returns the Allow list for the specified feature.

Specification

Specification Status Comment
Feature Policy Editor's Draft Initial definition.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
FeaturePolicy
Experimental
Chrome Full support 74
Full support 74
No support 73 — 74
Disabled
Disabled From version 73 until version 74 (exclusive): this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
No support 69 — 73
Alternate Name Disabled
Alternate Name Uses the non-standard name: Policy
Disabled From version 69 until version 73 (exclusive): this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge No support NoFirefox Full support 65
Alternate Name Disabled
Full support 65
Alternate Name Disabled
Alternate Name Uses the non-standard name: Policy
Disabled From version 65: this feature is behind the dom.security.featurePolicy.webidl.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera Full support 61
Full support 61
No support 60 — 61
Disabled
Disabled From version 60 until version 61 (exclusive): this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
No support 56 — 60
Alternate Name Disabled
Alternate Name Uses the non-standard name: Policy
Disabled From version 56 until version 60 (exclusive): this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari No support NoWebView Android Full support 74Chrome Android Full support 74
Full support 74
No support 73 — 74
Disabled
Disabled From version 73 until version 74 (exclusive): this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
No support 69 — 73
Alternate Name Disabled
Alternate Name Uses the non-standard name: Policy
Disabled From version 69 until version 73 (exclusive): this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android Full support 65
Alternate Name Disabled
Full support 65
Alternate Name Disabled
Alternate Name Uses the non-standard name: Policy
Disabled From version 65: this feature is behind the dom.security.featurePolicy.webidl.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Full support 48
Alternate Name Disabled
Full support 48
Alternate Name Disabled
Alternate Name Uses the non-standard name: Policy
Disabled From version 48: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS No support NoSamsung Internet Android ?
allowsFeature
Experimental
Chrome Full support 74
Full support 74
No support 69 — 73
Disabled
Disabled From version 69 until version 73 (exclusive): this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge No support NoFirefox Full support 65
Disabled
Full support 65
Disabled
Disabled From version 65: this feature is behind the dom.security.featurePolicy.webidl.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera Full support 61
Full support 61
No support 56 — 61
Disabled
Disabled From version 56 until version 61 (exclusive): this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari No support NoWebView Android Full support 74Chrome Android Full support 74
Full support 74
No support 69 — 74
Disabled
Disabled From version 69 until version 74 (exclusive): this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android Full support 65
Disabled
Full support 65
Disabled
Disabled From version 65: this feature is behind the dom.security.featurePolicy.webidl.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Full support 48
Disabled
Full support 48
Disabled
Disabled From version 48: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS No support NoSamsung Internet Android ?
allowedFeatures
Experimental
Chrome Full support 74
Full support 74
No support 69 — 73
Disabled
Disabled From version 69 until version 73 (exclusive): this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge No support NoFirefox Full support 65
Disabled
Full support 65
Disabled
Disabled From version 65: this feature is behind the dom.security.featurePolicy.webidl.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera Full support 61
Full support 61
No support 56 — 61
Disabled
Disabled From version 56 until version 61 (exclusive): this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari No support NoWebView Android Full support 74Chrome Android Full support 74
Full support 74
No support 69 — 74
Disabled
Disabled From version 69 until version 74 (exclusive): this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android Full support 65
Disabled
Full support 65
Disabled
Disabled From version 65: this feature is behind the dom.security.featurePolicy.webidl.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Full support 48
Disabled
Full support 48
Disabled
Disabled From version 48: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS No support NoSamsung Internet Android ?
getAllowlistForFeature
Experimental
Chrome Full support 74
Full support 74
No support 69 — 73
Disabled
Disabled From version 69 until version 73 (exclusive): this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge No support NoFirefox Full support 65
Disabled
Full support 65
Disabled
Disabled From version 65: this feature is behind the dom.security.featurePolicy.webidl.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera Full support 61
Full support 61
No support 56 — 61
Disabled
Disabled From version 56 until version 61 (exclusive): this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari No support NoWebView Android Full support 74Chrome Android Full support 74
Full support 74
No support 69 — 74
Disabled
Disabled From version 69 until version 74 (exclusive): this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android Full support 65
Disabled
Full support 65
Disabled
Disabled From version 65: this feature is behind the dom.security.featurePolicy.webidl.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Full support 48
Disabled
Full support 48
Disabled
Disabled From version 48: this feature is behind the #enable-experimental-productivity-features preference (needs to be set to Enabled).
Safari iOS No support NoSamsung Internet Android ?
features
Experimental
Chrome Full support 74Edge No support NoFirefox No support NoIE No support NoOpera Full support 61Safari No support NoWebView Android Full support 74Chrome Android Full support 74Firefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android ?

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
User must explicitly enable this feature.
User must explicitly enable this feature.
Uses a non-standard name.
Uses a non-standard name.

Document Tags and Contributors

Contributors to this page: bershanskiy
Last updated by: bershanskiy,