AZ Tools

Construtor de Cabeçalho Permissions-Policy

Rede

O cabeçalho Permissions-Policy é a substituição moderna pra Feature-Policy: diz ao navegador quais funcionalidades sua página e seus iframes estão autorizados a usar. Escolha cada funcionalidade uma de cada vez e escolha se é bloqueada completamente, permitida só pra mesma origem, permitida pra qualquer origem, ou limitada a uma lista personalizada. A ferramenta marca as funcionalidades bem conhecidas (câmera, microfone, geolocalização, pagamento, USB, etc.) por categoria pra você não perder a que te morde. Avisos pegam defaults inseguros — wildcards que entregam a funcionalidade pra cada origem incorporada, listas personalizadas faltando um esquema.

Presets
Sensores
  • accelerometer
    Ler acelerômetro
  • gyroscope
    Ler giroscópio
  • magnetometer
    Ler magnetômetro
  • ambient-light-sensor
    Ler luz ambiente
Captura de mídia
  • camera
    Usar a câmera do usuário
  • microphone
    Usar o microfone do usuário
  • autoplay
    Autoplay mídia
  • display-capture
    Compartilhar tela via getDisplayMedia
  • speaker-selection
    Escolher dispositivo de áudio de saída
Pagamento & auth
  • payment
    Usar a Payment Request API
  • publickey-credentials-get
    Usar WebAuthn
Display
  • fullscreen
    Ir pra tela cheia programaticamente
  • picture-in-picture
    Abrir vídeo PIP
  • screen-wake-lock
    Manter a tela acordada
  • xr-spatial-tracking
    Usar tracking espacial WebXR
Outros
  • geolocation
    Ler localização do usuário
  • clipboard-read
    Ler conteúdo do clipboard
  • clipboard-write
    Escrever no clipboard
  • usb
    Usar Web USB
  • serial
    Usar Web Serial
  • bluetooth
    Usar Web Bluetooth
  • idle-detection
    Detectar usuário idle
  • midi
    Usar Web MIDI
  • web-share
    Usar a Web Share API
Cabeçalho de resposta
Permissions-Policy: autoplay=(self), fullscreen=(self), picture-in-picture=(self), clipboard-write=(self), web-share=(self)

Aplique em cada resposta HTML. Use Report-To + a diretiva `report-uri` (não construída aqui) se você quer que navegadores enviem violações de volta pra um coletor.

Como usar

  1. Comece com o preset estrito (tudo desligado) e ligue só o que sua página realmente precisa.
  2. `self` é a resposta certa pra maioria das funcionalidades a nível de página. `*` raramente é a resposta certa — deixa cada iframe usar a funcionalidade.
  3. Modo personalizado pega uma allowlist de origens (`https://embed.example.com https://other.com`). `self` e `*` são tokens, qualquer outra coisa precisa da origem completa.

Perguntas frequentes

Permissions-Policy vs Feature-Policy?
Mesma ideia, nova sintaxe. Feature-Policy usava uma lista separada por espaços de origens por diretiva; Permissions-Policy usa cabeçalhos estruturados `feature=(origin1 origin2)`. Navegadores honram Permissions-Policy agora; sirva ambos durante a janela de transição se você suporta navegadores antigos.
Por que wildcard `*` é arriscado?
Wildcard entrega a funcionalidade pra cada iframe aninhado — incluindo incorporações de terceiros que você não confia totalmente. Se um comprometimento de malvertising ou cadeia de suprimentos injeta um iframe, `*` é a diferença entre 'eles podem espionar com a câmera' e 'não podem'.

Ferramentas relacionadas