Permissions-Policy
¿Qué es Permissions-Policy?
Permissions-PolicyAn HTTP response header (formerly Feature-Policy) that lets a site declare which browser features — camera, microphone, geolocation, payment, USB, sensors — its own document and any embedded iframes are allowed to use.
Permissions-Policy is the successor to the Feature-Policy header, standardized to a structured-headers syntax and supported by all major browsers. It lets a document express, per powerful feature, who is allowed to use it: the document itself (`self`), specific origins, or no one. A header like `Permissions-Policy: geolocation=(), camera=(self), payment=(self "https://checkout.example")` denies geolocation everywhere, lets the main document use the camera, and lets the document plus checkout.example use the Payment Request API. Permissions-Policy is enforced both for the top-level document and recursively for nested browsing contexts, with the parent able to restrict children further (but never expand their privileges). It is the simplest defense against third-party scripts or iframes silently probing for camera, microphone, geolocation, sensors, fullscreen, autoplay, USB, serial, HID, payment, and many other capabilities; modern hardening guides recommend setting it explicitly alongside CSP and HSTS.
● Ejemplos
- 01
A SaaS dashboard sets `Permissions-Policy: geolocation=(), microphone=(), camera=()` to deny location and media APIs to itself and every embedded widget.
- 02
An embed-host site grants Payment Request only to a known payments iframe by using `payment=(self "https://pay.example.com")`.
● Preguntas frecuentes
¿Qué es Permissions-Policy?
An HTTP response header (formerly Feature-Policy) that lets a site declare which browser features — camera, microphone, geolocation, payment, USB, sensors — its own document and any embedded iframes are allowed to use. Pertenece a la categoría de Seguridad de aplicaciones en ciberseguridad.
¿Qué significa Permissions-Policy?
An HTTP response header (formerly Feature-Policy) that lets a site declare which browser features — camera, microphone, geolocation, payment, USB, sensors — its own document and any embedded iframes are allowed to use.
¿Cómo funciona Permissions-Policy?
Permissions-Policy is the successor to the Feature-Policy header, standardized to a structured-headers syntax and supported by all major browsers. It lets a document express, per powerful feature, who is allowed to use it: the document itself (`self`), specific origins, or no one. A header like `Permissions-Policy: geolocation=(), camera=(self), payment=(self "https://checkout.example")` denies geolocation everywhere, lets the main document use the camera, and lets the document plus checkout.example use the Payment Request API. Permissions-Policy is enforced both for the top-level document and recursively for nested browsing contexts, with the parent able to restrict children further (but never expand their privileges). It is the simplest defense against third-party scripts or iframes silently probing for camera, microphone, geolocation, sensors, fullscreen, autoplay, USB, serial, HID, payment, and many other capabilities; modern hardening guides recommend setting it explicitly alongside CSP and HSTS.
¿Cómo defenderse de Permissions-Policy?
Las defensas contra Permissions-Policy combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para Permissions-Policy?
Nombres alternativos comunes: Feature-Policy (legacy), Permission policy.
● Términos relacionados
- appsec№ 237
Política de Seguridad de Contenidos (CSP)
Cabecera HTTP que indica al navegador qué orígenes de scripts, estilos, marcos y otros recursos están permitidos, limitando el impacto de XSS y de inyecciones de datos.
- appsec№ 552
Cabeceras de seguridad HTTP
Cabeceras de respuesta que instruyen a los navegadores a aplicar comportamientos defensivos como HTTPS obligatorio, restricciones de marco, políticas de contenido y control de referer.
- appsec№ 263
Cross-Origin Opener Policy (COOP)
An HTTP response header that lets a document opt into a process-isolated browsing context group, preventing cross-origin windows from inspecting or manipulating it via `window.opener` and friends.
- appsec№ 262
Cross-Origin Embedder Policy (COEP)
An HTTP response header that forces every cross-origin subresource a document loads to explicitly opt in via CORS or CORP, completing the cross-origin isolation prerequisites alongside COOP.
- appsec№ 574
Atributo sandbox de iframe
Atributo HTML que aplica restricciones adicionales al contenido de un iframe, bloqueando scripts, formularios, navegacion y acceso same-origin salvo que se reactiven explicitamente.
- appsec№ 1302
Trusted Types
API del navegador y directiva CSP que previene el XSS basado en DOM exigiendo que los sumideros peligrosos reciban valores tipados y validados por una politica, no cadenas crudas.