FeaturePolicy

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 whether or not a particular 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

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 Full support 79Firefox 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 62
Full support 62
No support 60 — 62
Disabled
Disabled From version 60 until version 62 (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 Full support 11.0
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 Full support 79Firefox 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 62
Full support 62
No support 56 — 62
Disabled
Disabled From version 56 until version 62 (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 Full support 11.0
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 Full support 79Firefox 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 62
Full support 62
No support 56 — 62
Disabled
Disabled From version 56 until version 62 (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 Full support 11.0
features
Experimental
Chrome Full support 74Edge Full support 79Firefox Full support 70
Disabled
Full support 70
Disabled
Disabled From version 70: 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 62Safari 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 Full support 11.0
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 Full support 79Firefox 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 62
Full support 62
No support 56 — 62
Disabled
Disabled From version 56 until version 62 (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 Full support 11.0

Legend

Full support
Full support
No support
No support
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.

See also