Gerador e testador de cabeçalhos HTTP Permissions-Policy (Feature-Policy)
Cabeçalhos de segurança HTTP e permissões de dispositivos

Gerador e testador de cabeçalhos HTTP Permissions-Policy (Feature-Policy)

Crie e valide cabeçalhos de resposta HTTP Permissions-Policy modernos (câmera, geolocalização, microfone, pagamentos) com listas de permissões de origem rigorosas.

Predefinições:
Configuração de diretivas de cabeçalho
cameracrítico

Controla o acesso a dispositivos de captura de vídeo (webcams, lentes frontais/traseiras).

microphonecrítico

Controla o acesso a dispositivos de gravação de áudio e microfones do sistema.

geolocationcrítico

Controla o acesso a coordenadas geográficas GPS precisas e aproximadas.

paymentcrítico

Controla diálogos da API nativa Payment Request do navegador e carteiras digitais.

display-capturecrítico

Controla a API Screen Capture que permite gravar a área de trabalho e telas.

usbalto

Controla a API WebUSB para acesso direto de baixo nível a dispositivos USB com fio.

bluetoothalto

Controla a API Web Bluetooth para emparelhar e ler periféricos Bluetooth LE sem fio.

hidalto

Controla a API WebHID para dispositivos de interface humana especializados e controles.

serialalto

Controla a API Web Serial para comunicação bidirecional com hardware serial RS-232.

otp-credentialsalto

Controla a API WebOTP para ler tokens de verificação de SMS de uso único do SO móvel.

clipboard-readalto

Controla a leitura programática de textos e imagens confidenciais da área de transferência.

clipboard-writemédio

Controla a escrita programática de dados arbitrários na área de transferência do sistema.

accelerometermédio

Controla o sensor de movimento que mede a força de aceleração física nos eixos XYZ.

gyroscopemédio

Controla o sensor de orientação que mede a velocidade angular rotacional no espaço 3D.

magnetometermédio

Controla o sensor de campo magnético que atua como bússola digital e sensor de orientação.

ambient-light-sensormédio

Controla o sensor de luz ambiente que mede os níveis de iluminação em lux.

idle-detectionmédio

Controla a API Idle Detection que identifica inatividade do usuário e bloqueio de tela.

midimédio

Controla a API Web MIDI para interagir com sintetizadores e controladores musicais.

speaker-selectionmédio

Controla selectAudioOutput() para direcionar o áudio para saídas discretas de alto-falante.

browsing-topicsmédio

Controla a API Topics da Privacy Sandbox para criação de perfis de anúncios.

run-ad-auctionmédio

Controla a API Protected Audience para executar leilões de anúncios locais no dispositivo.

join-ad-interest-groupmédio

Controla a inscrição de usuários em grupos de interesse para campanhas de remarketing.

storage-accessmédio

Controla a API Storage Access para desbloquear cookies de terceiros em iframes.

local-fontsmédio

Controla a consulta ao catálogo completo de fontes instaladas localmente no sistema.

sync-xhrmédio

Controla chamadas síncronas XMLHttpRequest que travam a thread principal da interface.

publickey-credentials-getmédio

Controla a recuperação de credenciais WebAuthn e passkeys biométricas no login.

publickey-credentials-createmédio

Controla o registro de novas credenciais de chave pública e passkeys FIDO2 no domínio.

identity-credentials-getmédio

Controla os diálogos de autenticação de provedores de identidade FedCM.

cross-origin-isolatedmédio

Controla os requisitos de isolamento de origem cruzada para SharedArrayBuffer.

xr-spatial-trackingmédio

Controla o rastreamento espacial de sala, cabeça e mãos para WebXR imersivo (VR/AR).

fullscreenbaixo

Controla Element.requestFullscreen() permitindo que documentos entrem em tela cheia.

autoplaybaixo

Controla a reprodução automática de elementos de mídia HTML5 de vídeo e áudio sem toque.

picture-in-picturebaixo

Controla HTMLVideoElement.requestPictureInPicture() para janelas flutuantes de vídeo.

encrypted-mediabaixo

Controla Encrypted Media Extensions (reprodução com DRM / Widevine / PlayReady).

screen-wake-lockbaixo

Controla a API Screen Wake Lock evitando que telas móveis escureçam ou durmam.

gamepadbaixo

Controla a API Gamepad para ler botões e alavancas analógicas de controles.

web-sharebaixo

Controla navigator.share() para invocar diálogos de compartilhamento nativos do sistema.

compute-pressurebaixo

Controla a API Compute Pressure fornecendo telemetria de carga da CPU e limitação térmica.

window-managementbaixo

Controla a API Window Management para detectar múltiplos 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)
Diretivas configuradas
24 de 39 políticas aplicadas
Nível de reforço de segurança
Pontuação 100 / 100 (A+)
Padrão de especificação
W3C Permissions Policy L1 / RFC 8941

W3C Permissions Policy L1

Compila sintaxe moderna de campos estruturados em conformidade com as especificações oficiais da W3C Permissions Policy, substituindo cabeçalhos obsoletos Feature-Policy por listas de permissões precisas por origem.

Computação no cliente com conhecimento zero

Todas as sínteses de políticas, análises de cabeçalhos e auditorias de segurança são executadas 100% localmente na memória do navegador. Nenhum cabeçalho ou domínio de origem é enviado para servidores remotos.

Exportação universal para múltiplos servidores

Gera configurações prontas para copiar e colar para Nginx, Apache HTTPD, Caddy Server, cabeçalhos de segurança do Next.js e atributos allow de iframes HTML com validação instantânea.

Referência técnica e guia de arquitetura

Guia do Desenvolvedor: Gerador e Testador de Cabeçalhos HTTP Permissions-Policy (Feature-Policy) — Guia de referência

Crie e valide cabeçalhos de resposta HTTP Permissions-Policy modernos (câmera, geolocalização, microfone, pagamentos) com listas de permissões de origem rigorosas.

Parâmetros principais e controles

cameradiretiva (lista de permissões)

Controla se o documento e iframes incorporados têm permissão para acessar dispositivos de captura de vídeo via MediaStream ou getUserMedia().

Padrão: ()
microphonediretiva (lista de permissões)

Regula o acesso ao hardware de captura de áudio (microfones) por meio da API Media Capture and Streams.

Padrão: ()
geolocationdiretiva (lista de permissões)

Restringe o acesso às coordenadas de localização geográfica do usuário por meio da interface navigator.geolocation.

Padrão: (self)
paymentdiretiva (lista de permissões)

Controla o acesso à Payment Request API para fluxos de checkout e transações comerciais seguras na web.

Padrão: (self "https://checkout.stripe.com")
display-capturediretiva (lista de permissões)

Controla a permissão para captura de tela e gravação de superfícies de exibição via navigator.mediaDevices.getDisplayMedia().

Padrão: ()

Dicas profissionais e melhores práticas

A Feature-Policy utilizava origens

A Feature-Policy utilizava origens separadas por espaços sem parênteses (ex.: camera 'none'), enquanto a Permissions-Policy segue a RFC 8941 para cabeçalhos estruturados com listas entre parênteses e aspas duplas (ex.: camera=(), geolocation=(self)). Navegadores modernos priorizam a Permissions-Policy.

A Permissions-Policy define o teto no

A Permissions-Policy define o teto no nível do documento principal. Para que um iframe de terceiros use recursos permitidos (como câmera ou pagamentos), o cabeçalho HTTP pai deve conceder permissão E a tag <iframe> deve declarar allow="payment 'src'".

Aumente a segurança desativando APIs

Aumente a segurança desativando APIs de hardware desnecessárias: accelerometer=(), gyroscope=(), magnetometer=(), usb=(), serial=(), interest-cohort=(). Isso previne ataques de fingerprinting de movimento e rastreamento de perfil.

Ao delegar acesso a provedores

Ao delegar acesso a provedores confiáveis (ex.: gateways de pagamento), coloque as URLs de origem entre aspas duplas dentro dos parênteses, separadas por espaço: payment=(self "https://pay.example.com" "https://js.stripe.com").

Problemas comuns e solução de problemas

Erro DOMException: NotAllowedError disparado ao chamar getUserMedia() ou navigator.geolocation

Inspecione o cabeçalho de resposta Permissions-Policy para garantir que a origem solicitante esteja na lista de permissões da diretiva. Em iframes, confirme se tanto o cabeçalho HTTP pai quanto o atributo allow do iframe autorizam o acesso.

Console do navegador relata erro de sintaxe ou ignora as diretivas

Certifique-se de que URLs de origem usem aspas duplas e que as listas usem parênteses. A Permissions-Policy não aceita aspas simples (ao contrário da CSP) nem valores sem parênteses (use camera=(), nunca camera='none').

Widget de pagamento ou autenticação de terceiros bloqueado em iframe

Verifique se o documento pai declara a origem de terceiros na política (ex.: payment=(self "https://auth.vendor.com")) e se o iframe contém o atributo allow="payment https://auth.vendor.com". Se o documento pai tiver payment=(), todos os frames filhos serão bloqueados.

Perguntas frequentes (FAQ)

Qual é a diferença entre Feature-Policy e Permissions-Policy?▼

A Permissions-Policy é a sucessora oficial padronizada pelo W3C para a Feature-Policy. Ela utiliza campos estruturados conforme a RFC 8941 (feature=(self)), oferecendo tipagem formal, análise padronizada e aplicação uniforme em todos os navegadores modernos.

A Permissions-Policy substitui a Content Security Policy (CSP)?▼

Não, elas funcionam em conjunto como defesa em profundidade. A CSP controla de onde scripts, folhas de estilo e conexões de rede podem ser carregados para mitigar XSS. A Permissions-Policy restringe o acesso a recursos de hardware e APIs do navegador (câmera, microfone, sensores, localização).

Como a Permissions-Policy afeta iframes e contextos filhos?▼

O cabeçalho HTTP do documento principal define o limite máximo. Um iframe não pode ter privilégios superiores aos concedidos pelo documento pai. Para que um iframe acesse uma API, o cabeçalho HTTP superior e o atributo allow do iframe devem conceder autorização explícita.

É possível definir a Permissions-Policy em uma tag <meta> HTML?▼

Não. A especificação do W3C proíbe explicitamente o uso de <meta http-equiv="Permissions-Policy">. O cabeçalho deve ser enviado obrigatoriamente como resposta HTTP direta do servidor web (Nginx, Apache, Cloudflare Workers, etc.).

Qual é a política base recomendada para aplicações web seguras?▼

Uma linha de base recomendada desabilita recursos sensíveis não utilizados: camera=(), microphone=(), geolocation=(), payment=(), usb=(), display-capture=(), serial=(), accelerometer=(), gyroscope=(), magnetometer=(), interest-cohort=(). Em seguida, reative seletivamente (self) apenas para os recursos necessários à aplicação.

Ferramentas e utilitários relacionados

Todas as ferramentas →
Gerador de Cabeçalhos HSTS e Validador de PreloadSegurança

Gere cabeçalhos HTTP Strict-Transport-Security (HSTS) em conformidade com a RFC 6797, com calculadora de max-age, diretiva includeSubDomains e verificação para inclusão na lista Chrome HSTS Preload.

Abrir ferramenta→
Guia do Desenvolvedor: Gerador de Configuração de Endurecimento (Hardening) do OpenSSH (sshd_config)Segurança

Crie arquivos de configuração sshd_config reforçados para produção no Linux, exigindo autenticação por chave pública, cifras AEAD modernas, timeouts rigorosos e bloqueio de root.

Abrir ferramenta→
Ufw Rules Generator Referência para DesenvolvedoresSegurança

Utilitário para desenvolvedores de ufw-rules-generator.

Abrir ferramenta→
Gerador de Regras de Firewall iptables do Linux e Scripts ShellSegurança

Construa regras iptables para cadeias INPUT/FORWARD/OUTPUT, inspeção de estado conntrack, proteção contra SYN flood, redirecionamento NAT e exportação de scripts shell.

Abrir ferramenta→
Guia do Desenvolvedor: Gerador e Analisador de Registros DNS SPFSegurança

Crie e valide registros SPF TXT em total conformidade com a RFC 7208, abrangendo blocos CIDR IPv4/IPv6, MX, A, mecanismos include e políticas SoftFail/HardFail.

Abrir ferramenta→
Construtor de Registro de Política DMARC DNS e Validador de SintaxeSegurança

Gere e valide registros DNS TXT DMARC em conformidade com o RFC 7489, com aplicação de políticas (none/quarantine/reject), relatórios agregados rua/ruf e tags de alinhamento.

Abrir ferramenta→