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 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){


No specification found

No specification data found for api.FeaturePolicy.allowedFeatures.
Check for problems with this page or contribute a missing spec_url to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

Browser compatibility

BCD tables only load in the browser