Glossary
SECURITY HEADERS

Permissions-Policy

An HTTP response header controlling which browser features (camera, microphone, geolocation, payment, etc.) a page and its iframes may use. Replaces Feature-Policy.

Permissions-Policy (formerly Feature-Policy) is an HTTP response header that controls which browser features — camera, microphone, geolocation, payment, autoplay, USB — a page and its embedded iframes may access. It’s the browser-level equivalent of Android/iOS runtime permissions.

Header Format

Permissions-Policy: camera=(), microphone=(), geolocation=(self), payment=(self "https://payments.example.com")

Common Directives

FeaturePurpose
cameragetUserMedia video access
microphonegetUserMedia audio access
geolocationHTML5 Geolocation API
paymentPayment Request API
autoplayMedia autoplay
interest-cohortFLoC / topics API
usbWebUSB access

Deployment Pattern

Deny everything you don’t actually use. A blog post has no reason to request microphone or camera access — even a compromised third-party script embedded in it can’t request them if the header denies.

Common Miss

Not applying to iframes. Third-party embeds (widgets, chat, ads) can request camera/mic access from your users unless Permissions-Policy explicitly forbids it. Set restrictive policies at the parent page level to lock down all iframes.

Audit yours with the security headers checker.

Check the CSP glossary entry, the Referrer-Policy entry, and read the HTTP security headers explainer.