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.