Permissions-Policy Builder
Builds the Permissions-Policy header from a list of feature=allowlist entries (e.g. geolocation=()).
Switching off camera and GPS with a header
A third party iframe on your page can ask for camera, microphone or location, and the browser prompts the visitor as if the request came from you. Permissions-Policy, the successor to Feature-Policy, shuts that down at the source. What stops most people is the syntax, since feature=() with empty parentheses looks like a typo when it actually means an empty allowlist.
This page deserves an honest warning. The label asks for one feature per line, but the field is a single line input where you cannot type a line break at all. The code splits on newlines and joins with commas, so in practice it just prefixes Permissions-Policy: onto whatever you typed. Worse, the prefilled example contains literal \n sequences instead of real newlines, and those come straight through into the output. Clear the field and type a comma separated list.
The shape is feature=(allowlist). Empty parentheses deny it to everyone, (self) allows only your own origin, and (self "https://partner.com") allows yours plus one third party, double quotes included. A realistic line looks like geolocation=(), camera=(), microphone=(), fullscreen=(self), with no trailing comma. After you ship it, read the response headers in DevTools and exercise your iframes, since the policy is inherited by them. The string is built in your browser and nothing is uploaded.
Frequently asked questions
Why do backslash n sequences show up in the output?
What is the difference between () and (self)?
Do I still need to send Feature-Policy as well?
Related Tools
Referrer-Policy Builder
Builds the Referrer-Policy header from a standard value (strict-origin, no-referrer, etc.).
Basic CSP Evaluator
Evaluates a Content-Security-Policy directive reporting unsafe-inline, unsafe-eval or wildcard issues.
CORS Config Validator
Validate a CORS configuration (allowed origins or *), checking the format and duplicates. Useful for safely configuring APIs and web servers.
HSTS Header Builder
Builds the Strict-Transport-Security header with max-age, includeSubDomains and preload as selected.
HSTS Header Builder
Assembles a Strict-Transport-Security header line from a max-age in seconds plus optional includeSubDomains and preload directives, ready to paste into a config.
API Key Rotation Planner
Computes upcoming API key rotation dates based on an interval (30/60/90 days) and generates an iCal reminder.