Skip to content

Permissions-Policy

O cabeçalho Permissions-Policy (anteriormente conhecido como Feature-Policy) permite que o servidor autorize ou bloqueie o uso de recursos do navegador pela própria página e por iframes que ela incorpora.

O que ele controla?

Ele permite definir restrições para APIs como:

  • Câmera e Microfone
  • Geolocalização
  • Acelerômetro e Giroscópio
  • Pagamentos (Payment Request API)
  • Autoplay de vídeos
  • Fullscreen

Por que é importante?

Se sua aplicação não utiliza a câmera, você deve bloqueá-la via política. Isso impede que, em caso de um ataque XSS bem-sucedido, o atacante consiga ativar a câmera do usuário através da sua página.


Como fazer vs Como não fazer

✅ Como fazer

  • Configure uma política de "privilégio mínimo". Se você não usa um recurso, desative-o para todos: Permissions-Policy: camera=(), microphone=(), geolocation=()
  • Se você precisa permitir um recurso apenas para seu domínio e parceiros específicos: Permissions-Policy: geolocation=(self "https://maps.trusted.com")

❌ Como não fazer

  • Não deixe a política em branco, permitindo que qualquer iframe de terceiro incorporado na sua página tente acessar recursos sensíveis do hardware do usuário.
  • Não libere permissões globais (wildcards *) a menos que seja estritamente necessário para o funcionamento do produto.
  • Não esqueça de atualizar a política quando adicionar novas funcionalidades que exijam acesso a novas APIs do navegador.