Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The allowedFeatures() method of the FeaturePolicy interface returns a list of directive names of all features allowed by the Permissions Policy. This enables introspection of individual directives of the Permissions Policy it is run on. As such, allowedFeatures() method returns a subset of directives returned by features().
allowedFeatures()
None.
An array of strings representing the Permissions Policy directive names that are allowed by the Permissions Policy this method is called on.
The following example logs all the allowed directives for the current document. Please note that these features might be restricted by the Permissions API, if the user did not grant the corresponding permission yet.
// First, get the Permissions Policy object
const featurePolicy = document.featurePolicy;
// Then query feature for specific
const allowed = featurePolicy.allowedFeatures();
for (const directive of allowed) {
console.log(directive);
}
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
allowedFeatures |
74 | 79 | 65 | 62 | No | 74 | No | 53 | No | 11.0 | 74 | No |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/FeaturePolicy/allowedFeatures