How to fix missing permissions policy on WooCommerce

Add a Permissions-Policy HTTP response header to your store to explicitly restrict which browser features (camera, microphone, geolocation, etc.) pages and embedded third-party scripts are allowed to access.

Steps for WooCommerce

  1. You are running on WordPress + Apache or Nginx, so you can set headers at the server config or .htaccess level.
  2. Apache (.htaccess in your WordPress root): Open the .htaccess file via FTP/SFTP or cPanel File Manager. Add the directive shown in the code snippets section inside a <IfModule mod_headers.c> block.
  3. Nginx (nginx.conf or site config): Add the add_header directive shown in the code snippets section inside the relevant server {} or location / {} block, then run 'nginx -t' and reload nginx.
  4. WordPress plugin alternative: Install the 'HTTP Headers' plugin (by David Gwyer) or 'Security Headers' plugin from the WordPress plugin directory. Go to Settings → HTTP Headers (or the plugin's settings page) → add a new header named 'Permissions-Policy' with the value 'camera=(), microphone=(), geolocation=(), payment=(), usb=(), interest-cohort=()'.
  5. Verify in browser DevTools → Network → HTML document → Response Headers.
Official WooCommerce documentation ↗

What is missing permissions policy?

The Permissions-Policy header (formerly called Feature-Policy) is a short line of text your web server sends to every visitor's browser along with each page. It acts as a rulebook that tells the browser exactly which powerful device features — like the camera, microphone, GPS location, payment APIs, and more — your site is allowed to use, and which should be completely blocked. Without it, the browser applies its own default rules, and any third-party script or iframe embedded on your store could potentially request access to those features without your knowledge or consent.

Missing this header is flagged by OWASP as a Security Misconfiguration (A05:2021), meaning auditors, enterprise buyers, and PCI-DSS assessors will mark it as a finding that needs remediation. More practically: any malicious or compromised third-party script — an analytics tag, a chat widget, an ad pixel — could silently attempt to activate a shopper's camera or microphone; a Permissions-Policy header stops that cold. It also signals to Google and to privacy-conscious customers that your store follows security best practices, which protects conversion rates and brand trust. Some browser security warnings and privacy regulations (GDPR, CCPA) are increasingly tied to whether sites take proactive steps to limit unnecessary data collection capabilities.

See the complete Missing permissions policy guide for every platform and the full background.

Not sure if your WooCommerce store has this?

Run a free SEOLZ scan — we’ll find missing permissions policy and every other issue across your whole site.

Scan my site free

Fix missing permissions policy on another platform