Generador y comprobador de cabeceras HTTP Permissions-Policy (Feature-Policy)
Cabeceras de seguridad HTTP y permisos de dispositivos

Generador y comprobador de cabeceras HTTP Permissions-Policy (Feature-Policy)

Cree y valide encabezados HTTP Permissions-Policy modernos (cámara, geolocalización, micrófono, pagos) con listas de permitidos de origen estrictas.

Preajustes:
Configuración de directivas de cabecera
cameracrítico

Controla el acceso a dispositivos de captura de video (cámaras web, lentes frontales/traseras).

microphonecrítico

Controla el acceso a dispositivos de grabación de audio y micrófonos del sistema.

geolocationcrítico

Controla el acceso a coordenadas geográficas GPS precisas y aproximadas.

paymentcrítico

Controla los diálogos de la API Payment Request nativa del navegador y billeteras digitales.

display-capturecrítico

Controla la API Screen Capture que permite grabar escritorios y pantallas de usuario.

usbalto

Controla la API WebUSB para acceso directo de bajo nivel a dispositivos USB cableados.

bluetoothalto

Controla la API Web Bluetooth para emparejar y leer periféricos Bluetooth LE inalámbricos.

hidalto

Controla la API WebHID para dispositivos de interfaz humana especializados y gamepads.

serialalto

Controla la API Web Serial para comunicación bidireccional con hardware serie RS-232.

otp-credentialsalto

Controla la API WebOTP que lee tokens de verificación SMS de un solo uso del SO móvil.

clipboard-readalto

Controla la lectura programática de texto e imágenes confidenciales del portapapeles.

clipboard-writemedio

Controla la escritura programática de datos arbitrarios en el portapapeles del sistema.

accelerometermedio

Controla el sensor de aceleración física a lo largo de los vectores XYZ.

gyroscopemedio

Controla el sensor de orientación que mide la velocidad angular de rotación en espacio 3D.

magnetometermedio

Controla el sensor de campo magnético que actúa como brújula digital y sensor de orientación.

ambient-light-sensormedio

Controla el sensor de luz ambiental que mide los niveles de iluminación en lux.

idle-detectionmedio

Controla la API Idle Detection que detecta inactividad del usuario y bloqueo de pantalla.

midimedio

Controla la API Web MIDI que interactúa con sintetizadores, controladores y equipos musicales.

speaker-selectionmedio

Controla selectAudioOutput() para dirigir la salida de audio a altavoces discretos.

browsing-topicsmedio

Controla la API Topics de Privacy Sandbox para creación de perfiles publicitarios.

run-ad-auctionmedio

Controla la API Protected Audience que ejecuta subastas de anuncios locales en el dispositivo.

join-ad-interest-groupmedio

Controla la inscripción de usuarios en grupos de interés para remarketing.

storage-accessmedio

Controla la API Storage Access para desbloquear cookies de terceros en iframes.

local-fontsmedio

Controla la consulta del catálogo de fuentes instaladas localmente en el sistema.

sync-xhrmedio

Controla llamadas síncronas XMLHttpRequest que bloquean el hilo principal de la interfaz.

publickey-credentials-getmedio

Controla la obtención de credenciales WebAuthn y passkeys biométricas durante el inicio de sesión.

publickey-credentials-createmedio

Controla el registro de nuevas credenciales de clave pública y passkeys FIDO2.

identity-credentials-getmedio

Controla los diálogos de inicio de sesión de proveedores de identidad FedCM.

cross-origin-isolatedmedio

Controla los requisitos de aislamiento de origen cruzado para SharedArrayBuffer.

xr-spatial-trackingmedio

Controla el seguimiento espacial inmersivo de sala, cabeza y manos para WebXR (VR/AR).

fullscreenbajo

Controla Element.requestFullscreen() permitiendo que los documentos entren en pantalla completa.

autoplaybajo

Controla la reproducción automática de elementos multimedia HTML5 de video y audio.

picture-in-picturebajo

Controla HTMLVideoElement.requestPictureInPicture() para ventanas flotantes de video.

encrypted-mediabajo

Controla Encrypted Media Extensions (reproducción DRM / Widevine / PlayReady).

screen-wake-lockbajo

Controla la API Screen Wake Lock impidiendo que las pantallas se apaguen o atenúen.

gamepadbajo

Controla la API Gamepad para sondear botones y joysticks en controladores de juego.

web-sharebajo

Controla navigator.share() invocando diálogos nativos del sistema para compartir.

compute-pressurebajo

Controla la API Compute Pressure ofreciendo telemetría de carga de CPU y estrangulamiento térmico.

window-managementbajo

Controla la API Window Management que detecta múltiples monitores conectados.

Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=(), display-capture=(), usb=(), bluetooth=(), hid=(), serial=(), screen-wake-lock=(), idle-detection=(), browsing-topics=(), run-ad-auction=(), join-ad-interest-group=(), clipboard-read=(), sync-xhr=(), local-fonts=(), midi=(), otp-credentials=(), fullscreen=(self), autoplay=(self), publickey-credentials-get=(self), publickey-credentials-create=(self), encrypted-media=(self)
Directivas configuradas
24 de 39 políticas aplicadas
Grado de fortalecimiento de seguridad
Puntuación 100 / 100 (A+)
Estándar de especificación
W3C Permissions Policy L1 / RFC 8941

W3C Permissions Policy L1

Compila sintaxis de campos estructurados moderna según las especificaciones oficiales de W3C Permissions Policy, reemplazando las cabeceras Feature-Policy obsoletas con listas de permisos precisas por origen.

Cálculo en cliente con cero conocimiento

Todas las síntesis de políticas, análisis de cabeceras y auditorías de seguridad se ejecutan al 100% localmente en la memoria del navegador. Ninguna cabecera ni dominio de origen se envía a servidores remotos.

Exportación universal multiservidor

Genera configuraciones listas para copiar y pegar para Nginx, Apache HTTPD, Caddy Server, cabeceras de seguridad de Next.js y atributos allow de iframes HTML con validación instantánea.

Referencia técnica y guía de arquitectura

Guía para desarrolladores: Generador y validador de encabezados HTTP Permissions-Policy (Feature-Policy) — Guía de referencia

Cree y valide encabezados HTTP Permissions-Policy modernos (cámara, geolocalización, micrófono, pagos) con listas de permitidos de origen estrictas.

Parámetros clave y controles

cameradirectiva (lista de permitidos)

Controla si el documento y los iframes incrustados pueden acceder a dispositivos de captura de video mediante MediaStream o getUserMedia().

Por defecto: ()
microphonedirectiva (lista de permitidos)

Regula el acceso al hardware de captura de audio (micrófonos) a través de la API Media Capture and Streams.

Por defecto: ()
geolocationdirectiva (lista de permitidos)

Restringe el acceso a las coordenadas de ubicación geográfica del usuario mediante la interfaz navigator.geolocation.

Por defecto: (self)
paymentdirectiva (lista de permitidos)

Gobierna el acceso a la Payment Request API para transacciones comerciales y flujos de pago seguros en la web.

Por defecto: (self "https://checkout.stripe.com")
display-capturedirectiva (lista de permitidos)

Controla el permiso para capturar pantallas y grabar superficies de visualización mediante navigator.mediaDevices.getDisplayMedia().

Por defecto: ()

Consejos profesionales y mejores prácticas

Feature-Policy utilizaba orígenes

Feature-Policy utilizaba orígenes separados por espacios sin paréntesis (p. ej., camera 'none'), mientras que Permissions-Policy adopta encabezados estructurados según RFC 8941 con listas entre paréntesis y comillas dobles (p. ej., camera=(), geolocation=(self)). Los navegadores modernos dan prioridad a Permissions-Policy.

Permissions-Policy define el límite

Permissions-Policy define el límite superior del documento. Para que un iframe de terceros use funciones permitidas (como cámara o pagos), la política HTTP de la página principal debe permitirlo Y el elemento <iframe> debe declarar explícitamente allow="payment 'src'".

Refuerce la seguridad de su aplicación

Refuerce la seguridad de su aplicación declarando listas vacías para APIs innecesarias: accelerometer=(), gyroscope=(), magnetometer=(), usb=(), serial=(), interest-cohort=(). Esto previene la recopilación de datos de movimiento y el rastreo de usuarios.

Al delegar permisos a proveedores de

Al delegar permisos a proveedores de confianza (p. ej., pasarelas de pago), encierre las URLs en comillas dobles separadas por espacios dentro de los paréntesis: payment=(self "https://pay.example.com" "https://js.stripe.com").

Errores comunes y solución de problemas

Error DOMException: NotAllowedError al invocar getUserMedia() o navigator.geolocation

Revise el encabezado Permissions-Policy del documento para verificar que el origen solicitante esté presente en la lista de permitidos. Si la llamada ocurre en un iframe, confirme que tanto el encabezado HTTP principal como el atributo allow del iframe concedan el acceso.

La consola del navegador reporta un error de sintaxis o ignora las directivas

Verifique que las URLs de origen lleven comillas dobles y que las listas utilicen paréntesis. Permissions-Policy no acepta comillas simples (como CSP) ni listas sin paréntesis (utilice camera=(), nunca camera='none').

Widget de pago o autenticación bloqueado dentro de un iframe incrustado

Compruebe que el encabezado Permissions-Policy superior incluya el origen del proveedor (p. ej., payment=(self "https://auth.vendor.com")) y que la etiqueta iframe incluya allow="payment https://auth.vendor.com". Si la política superior define payment=(), todos los marcos anidados quedarán bloqueados.

Preguntas frecuentes (FAQ)

¿Cuál es la diferencia entre Feature-Policy y Permissions-Policy?▼

Permissions-Policy es el sucesor estandarizado oficial de Feature-Policy definido por el W3C. Utiliza la especificación de valores estructurados RFC 8941 (feature=(self)), ofreciendo tipos de datos formales, análisis estricto y soporte universal en navegadores modernos.

¿Reemplaza Permissions-Policy a la Content Security Policy (CSP)?▼

No, son mecanismos complementarios de defensa en profundidad. CSP restringe las fuentes de carga de recursos (scripts, estilos, conexiones de red) para mitigar XSS. Permissions-Policy controla el acceso a APIs del navegador y capacidades de hardware (cámara, micrófono, sensores, geolocalización).

¿Cómo afecta Permissions-Policy a los iframes y contextos anidados?▼

El encabezado HTTP del documento principal actúa como límite absoluto. Un iframe no puede escalar privilegios por encima de lo concedido por el documento contenedor. Se requiere la autorización tanto en el encabezado HTTP superior como en el atributo allow del iframe.

¿Se puede configurar Permissions-Policy en una etiqueta HTML <meta>?▼

No. La especificación del W3C prohíbe expresamente el uso de <meta http-equiv="Permissions-Policy">. Debe configurarse exclusivamente como un encabezado de respuesta HTTP en el servidor web (Nginx, Apache, Cloudflare, etc.).

¿Cuál es la política Permissions-Policy recomendada como base de seguridad?▼

Una base de endurecimiento segura bloquea por defecto las interfaces de hardware no utilizadas: camera=(), microphone=(), geolocation=(), payment=(), usb=(), display-capture=(), serial=(), accelerometer=(), gyroscope=(), magnetometer=(), interest-cohort=(). Luego se habilitan de forma selectiva para (self) o dominios de confianza según las necesidades de la app.

Herramientas y utilidades relacionadas

Todas las herramientas →
Generador de Encabezados HSTS y Validador de PreloadSeguridad

Genere encabezados HTTP Strict-Transport-Security (HSTS) conformes a RFC 6797 con calculadora de max-age, directiva includeSubDomains y verificación de elegibilidad para la lista HSTS Preload de Chrome.

Abrir herramienta→
Guía para Desarrolladores: Generador de Configuración de Seguridad para OpenSSH Server (sshd_config)Seguridad

Genere plantillas seguras y reforzadas de sshd_config para Linux, imponiendo autenticación por clave pública, cifrados AEAD modernos, tiempos de espera estrictos y bloqueo de root.

Abrir herramienta→
Seguridad de Linux y Automatización de InfraestructuraSeguridad

Genere reglas de firewall UFW de Ubuntu, políticas drop por defecto, limitación de velocidad y reenvío de puertos con script bash ejecutable.

Abrir herramienta→
Generador de Reglas de Firewall iptables de Linux y Scripts Shell - Guía de DesarrolloSeguridad

Construya reglas iptables para cadenas INPUT/FORWARD/OUTPUT, inspección con estado, protección anti SYN flood, reenvío NAT y exportación a shell script.

Abrir herramienta→
Guía para Desarrolladores del Generador y Analizador de Registros DNS SPFSeguridad

Cree, valide y optimice registros SPF TXT conformes con RFC 7208 con rangos CIDR IPv4/IPv6, MX, A, mecanismos include y políticas de fallo.

Abrir herramienta→
Generador de Registros de Política DMARC DNS y Validador de SintaxisSeguridad

Genere y valide registros DNS TXT DMARC conformes a RFC 7489 con políticas de aplicación (none/quarantine/reject), reportes agregados rua/ruf y etiquetas de alineación.

Abrir herramienta→