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 feature policy.enables introspection of individual directives of the Feature Policy it is run on. As such, allowedFeatures() method returns a subset of directives returned by features().


const allowed = FeaturePolicy.allowedFeatures()



Return value

An array of strings representing the Feature Policy directive names that are allowed by the Feature 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 Feature Policy object
const featurePolicy = document.featurePolicy

// Then query feature for specific
const allowed = featurePolicy.allowedFeatures()

for (const directive of allowed){


Specification Status Comment
Permissions Policy
The definition of 'allowsFeature' in that specification.
Editor's Draft Initial definition.

Browser compatibility

BCD tables only load in the browser