Constructor de Cabecera Permissions-Policy
La cabecera Permissions-Policy es el reemplazo moderno para Feature-Policy: le dice al navegador qué funciones tu página y sus iframes están permitidos a usar. Elige cada función una a la vez y elige si está bloqueada completamente, permitida solo para el mismo origen, permitida para cualquier origen, o limitada a una lista personalizada. La herramienta etiqueta las funciones bien conocidas (cámara, micrófono, geolocalización, pago, USB, etc.) por categoría así no te pierdes la que te muerde. Las advertencias atrapan defaults inseguros — wildcards que entregan la función a cada origen incrustado, listas personalizadas que faltan un esquema.
- accelerometerLeer acelerómetro
- gyroscopeLeer giroscopio
- magnetometerLeer magnetómetro
- ambient-light-sensorLeer luz ambiental
- cameraUsar la cámara del usuario
- microphoneUsar el micrófono del usuario
- autoplayAutoplay media
- display-captureCompartir pantalla vía getDisplayMedia
- speaker-selectionElegir dispositivo de audio de salida
- paymentUsar la API Payment Request
- publickey-credentials-getUsar WebAuthn
- fullscreenIr a pantalla completa programáticamente
- picture-in-pictureAbrir video PIP
- screen-wake-lockMantener la pantalla despierta
- xr-spatial-trackingUsar tracking espacial WebXR
- geolocationLeer ubicación del usuario
- clipboard-readLeer contenido del portapapeles
- clipboard-writeEscribir al portapapeles
- usbUsar Web USB
- serialUsar Web Serial
- bluetoothUsar Web Bluetooth
- idle-detectionDetectar usuario idle
- midiUsar Web MIDI
- web-shareUsar la API Web Share
Permissions-Policy: autoplay=(self), fullscreen=(self), picture-in-picture=(self), clipboard-write=(self), web-share=(self)Aplica en cada respuesta HTML. Usa Report-To + la directiva `report-uri` (no construida aquí) si quieres que los navegadores envíen violaciones de vuelta a un colector.
Cómo usar
- Empieza con el preset estricto (todo apagado) y enciende solo lo que tu página realmente necesita.
- `self` es la respuesta correcta para la mayoría de funciones a nivel de página. `*` rara vez es la respuesta correcta — deja que cada iframe use la función.
- Modo personalizado toma una allowlist de orígenes (`https://embed.example.com https://other.com`). `self` y `*` son tokens, cualquier otra cosa necesita el origen completo.
Preguntas frecuentes
- ¿Permissions-Policy vs Feature-Policy?
- Misma idea, nueva sintaxis. Feature-Policy usaba una lista separada por espacios de orígenes por directiva; Permissions-Policy usa cabeceras estructuradas `feature=(origin1 origin2)`. Los navegadores honran Permissions-Policy ahora; sirve ambas durante la ventana de transición si soportas navegadores viejos.
- ¿Por qué es riesgoso el wildcard `*`?
- El wildcard entrega la función a cada iframe anidado — incluyendo incrustaciones de terceros que no confías completamente. Si un compromiso de malvertising o cadena de suministro inyecta un iframe, `*` es la diferencia entre 'pueden espiar con la cámara' y 'no pueden'.
Herramientas relacionadas
Constructor de Cabecera Referrer-Policy
Elige un valor Referrer-Policy y ve exactamente qué cabecera `Referer` las peticiones salientes enviarán — mismo origen, cross-origin HTTPS, downgrade HTTPS→HTTP.
Constructor de Content-Security-Policy
Construye un encabezado CSP desde listas de fuentes por directiva, con tres presets iniciales y advertencias en vivo para los wildcards peligrosos.
Constructor de Registro SPF
Compón un registro TXT Sender Policy Framework a partir de mecanismos, IPs e includes — con contador de búsquedas DNS en vivo y advertencias.
Constructor de Encabezado Cache-Control
Construye un encabezado HTTP Cache-Control desde un checklist visual — frescura, revalidación, inmutabilidad y los presets comunes.
Constructor de Encabezado HSTS
Compón un encabezado Strict-Transport-Security — max-age, includeSubDomains, preload — con verificación de elegibilidad de lista preload en vivo.
Constructor de Cabecera Cookie / Set-Cookie
Compón una cabecera de respuesta `Set-Cookie` a partir de nombre/valor más los atributos de seguridad — SameSite, Secure, HttpOnly, Partitioned, Max-Age — con advertencias de seguridad.