Générateur et testeur d'en-têtes HTTP Permissions-Policy (Feature-Policy)
En-têtes de sécurité HTTP & permissions d'appareils

Générateur et testeur d'en-têtes HTTP Permissions-Policy (Feature-Policy)

Créez et validez des en-têtes de réponse HTTP Permissions-Policy modernes (caméra, géolocalisation, microphone, paiement) avec des listes blanches d'origines strictes.

Préréglages :
Configuration des directives d'en-tête
cameracritique

Contrôle l'accès aux périphériques de capture vidéo (webcams, caméras avant/arrière).

microphonecritique

Contrôle l'accès aux périphériques d'enregistrement audio et micros du système.

geolocationcritique

Contrôle l'accès aux coordonnées géographiques GPS précises et approximatives.

paymentcritique

Contrôle les dialogues de l'API Payment Request native du navigateur et les portefeuilles numériques.

display-capturecritique

Contrôle l'API Screen Capture permettant d'enregistrer le bureau et les écrans.

usbélevé

Contrôle l'API WebUSB pour un accès direct de bas niveau aux périphériques USB filaires.

bluetoothélevé

Contrôle l'API Web Bluetooth pour jumeler et lire des périphériques Bluetooth LE sans fil.

hidélevé

Contrôle l'API WebHID pour les contrôleurs et périphériques d'interface humaine spécialisés.

serialélevé

Contrôle l'API Web Serial pour la communication bidirectionnelle avec le matériel série RS-232.

otp-credentialsélevé

Contrôle l'API WebOTP pour lire les jetons SMS de vérification uniques de l'OS mobile.

clipboard-readélevé

Contrôle la lecture programmatique des textes et graphiques sensibles du presse-papiers.

clipboard-writemoyen

Contrôle l'écriture programmatique de données arbitraires dans le presse-papiers du système.

accelerometermoyen

Contrôle le capteur de mouvement mesurant la force d'accélération physique selon les axes XYZ.

gyroscopemoyen

Contrôle le capteur d'orientation mesurant la vitesse de rotation angulaire dans l'espace 3D.

magnetometermoyen

Contrôle le capteur de champ magnétique servant de boussole numérique et capteur d'orientation.

ambient-light-sensormoyen

Contrôle le capteur de lumière ambiante mesurant les niveaux d'éclairement en lux.

idle-detectionmoyen

Contrôle l'API Idle Detection détectant l'inactivité de l'utilisateur et le verrouillage d'écran.

midimoyen

Contrôle l'API Web MIDI interagissant avec les synthétiseurs et contrôleurs musicaux.

speaker-selectionmoyen

Contrôle selectAudioOutput() pour acheminer la lecture audio vers des haut-parleurs discrets.

browsing-topicsmoyen

Contrôle l'API Topics de Privacy Sandbox pour le ciblage publicitaire par centres d'intérêt.

run-ad-auctionmoyen

Contrôle l'API Protected Audience exécutant des enchères publicitaires locales sur l'appareil.

join-ad-interest-groupmoyen

Contrôle l'inscription des utilisateurs dans des groupes d'intérêt pour le reciblage.

storage-accessmoyen

Contrôle l'API Storage Access déverrouillant les cookies tiers dans les iframes.

local-fontsmoyen

Contrôle la recherche dans le catalogue complet des polices installées localement.

sync-xhrmoyen

Contrôle les appels synchrones XMLHttpRequest qui bloquent le thread principal de l'interface.

publickey-credentials-getmoyen

Contrôle la récupération des identifiants WebAuthn et passkeys biométriques à la connexion.

publickey-credentials-createmoyen

Contrôle l'enregistrement de nouveaux identifiants à clé publique et passkeys FIDO2.

identity-credentials-getmoyen

Contrôle les boîtes de dialogue de connexion des fournisseurs d'identité FedCM.

cross-origin-isolatedmoyen

Contrôle les exigences d'isolation cross-origin pour SharedArrayBuffer.

xr-spatial-trackingmoyen

Contrôle le suivi spatial de pièce, de tête et de mains pour WebXR immersif (VR/AR).

fullscreenfaible

Contrôle Element.requestFullscreen() permettant aux documents de passer en mode plein écran.

autoplayfaible

Contrôle la lecture automatique des éléments multimédias vidéo et audio HTML5 sans interaction.

picture-in-picturefaible

Contrôle HTMLVideoElement.requestPictureInPicture() pour les fenêtres vidéo flottantes.

encrypted-mediafaible

Contrôle Encrypted Media Extensions (lecture protégée DRM / Widevine / PlayReady).

screen-wake-lockfaible

Contrôle l'API Screen Wake Lock empêchant la mise en veille des écrans mobiles.

gamepadfaible

Contrôle l'API Gamepad pour lire les boutons et joysticks analogiques des manettes.

web-sharefaible

Contrôle navigator.share() pour ouvrir les boîtes de dialogue de partage natives du système.

compute-pressurefaible

Contrôle l'API Compute Pressure fournissant la charge CPU et la télémétrie thermique.

window-managementfaible

Contrôle l'API Window Management détectant les moniteurs secondaires connectés.

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)
Directives configurées
24 sur 39 politiques appliquées
Niveau de renforcement de sécurité
Score 100 / 100 (A+)
Standard de spécification
W3C Permissions Policy L1 / RFC 8941

W3C Permissions Policy L1

Compile la syntaxe moderne de champs structurés conforme aux spécifications officielles W3C Permissions Policy, remplaçant les en-têtes Feature-Policy obsolètes par des listes d'autorisation précises par origine.

Calcul client sans connaissance (Zero-Knowledge)

Toutes les synthèses de politiques, analyses d'en-têtes et audits de sécurité s'exécutent à 100% localement dans la mémoire de votre navigateur. Aucun en-tête ni domaine d'origine n'est envoyé à des serveurs distants.

Export universel multi-serveurs

Génère des configurations prêtes à copier-coller pour Nginx, Apache HTTPD, Caddy Server, les en-têtes de sécurité Next.js et les attributs allow d'iframe HTML avec validation instantanée.

Référence technique et guide d'architecture

Guide Développeur : Générateur et Validateur d'En-têtes HTTP Permissions-Policy (Feature-Policy) — Guide de référence

Créez et validez des en-têtes de réponse HTTP Permissions-Policy modernes (caméra, géolocalisation, microphone, paiement) avec des listes blanches d'origines strictes.

Paramètres clés et contrôles

cameradirective (liste autorisée)

Contrôle si le document et les iframes imbriquées peuvent accéder aux périphériques de capture vidéo via MediaStream ou getUserMedia().

Par défaut : ()
microphonedirective (liste autorisée)

Régule l'accès aux périphériques de capture audio (microphones) via l'API Media Capture and Streams.

Par défaut : ()
geolocationdirective (liste autorisée)

Restreint l'accès aux coordonnées de localisation géographique de l'utilisateur via l'interface navigator.geolocation.

Par défaut : (self)
paymentdirective (liste autorisée)

Contrôle l'accès à la Payment Request API pour les tunnels d'achat et transactions sécurisées sur le web.

Par défaut : (self "https://checkout.stripe.com")
display-capturedirective (liste autorisée)

Contrôle la permission de capture d'écran et d'enregistrement de surfaces d'affichage via navigator.mediaDevices.getDisplayMedia().

Par défaut : ()

Conseils de pro et bonnes practices

Feature-Policy utilisait des listes

Feature-Policy utilisait des listes sans parenthèses séparées par des espaces (ex. camera 'none'), alors que Permissions-Policy adopte les en-têtes structurés RFC 8941 avec parenthèses et guillemets doubles (ex. camera=(), geolocation=(self)). Les navigateurs modernes privilégient Permissions-Policy.

La Permissions-Policy fixe la limite

La Permissions-Policy fixe la limite absolue au niveau du document parent. Pour qu'une iframe tierce utilise des fonctionnalités comme la caméra ou le paiement, l'en-tête HTTP parent doit l'autoriser ET la balise <iframe> doit spécifier allow="payment 'src'".

Renforcez la sécurité de votre

Renforcez la sécurité de votre application en désactivant les APIs superflues : accelerometer=(), gyroscope=(), magnetometer=(), usb=(), serial=(), interest-cohort=(). Cela neutralise le fingerprinting de mouvement et le profilage d'audience.

Pour déléguer des droits à des tiers

Pour déléguer des droits à des tiers de confiance (ex. passerelles de paiement), placez les URL entre guillemets doubles à l'intérieur des parenthèses, séparées par un espace : payment=(self "https://pay.example.com" "https://js.stripe.com").

Pièges courants et dépannage

Erreur DOMException: NotAllowedError lors de l'appel à getUserMedia() ou navigator.geolocation

Vérifiez l'en-tête Permissions-Policy du document pour confirmer que l'origine appelante est incluse dans la liste autorisée. Dans une iframe, assurez-vous que l'en-tête HTTP parent et l'attribut allow de l'iframe accordent l'accès.

La console du navigateur signale une erreur de syntaxe ou ignore la directive

Assurez-vous que les URL d'origines sont entourées de guillemets doubles et que les listes utilisent des parenthèses. Permissions-Policy refuse les apostrophes simples (contrairement à CSP) et les jetons sans parenthèses (utilisez camera=(), jamais camera='none').

Un widget de paiement ou d'authentification tiers est bloqué dans une iframe

Assurez-vous que l'en-tête Permissions-Policy de la page parente déclare l'origine tierce (ex. payment=(self "https://auth.vendor.com")) et que la balise iframe contient allow="payment https://auth.vendor.com". Si le parent définit payment=(), toutes les sous-iframes sont bloquées.

Foire aux questions (FAQ)

Quelle est la différence entre Feature-Policy et Permissions-Policy ?▼

Permissions-Policy est le successeur officiel standardisé par le W3C pour Feature-Policy. Il repose sur les valeurs de champs structurés de la RFC 8941 (feature=(self)), garantissant un typage strict, une analyse standardisée et une exécution uniforme sur tous les navigateurs modernes.

La Permissions-Policy remplace-t-elle la Content Security Policy (CSP) ?▼

Non, elles agissent en complémentarité pour une sécurité en profondeur. La CSP contrôle l'origine des ressources chargeables (scripts, styles, requêtes réseau) pour contrer le XSS. La Permissions-Policy contrôle l'accès aux capacités matérielles et APIs du navigateur (caméra, micro, capteurs, géolocalisation).

Comment la Permissions-Policy se propage-t-elle aux iframes imbriquées ?▼

L'en-tête HTTP du document racine fixe une frontière infranchissable. Une iframe ne peut en aucun cas s'octroyer des privilèges refusés par le parent. L'accès requiert l'autorisation conjointe de l'en-tête HTTP parent et de l'attribut allow de l'élément iframe.

Peut-on configurer la Permissions-Policy dans une balise HTML <meta> ?▼

Non. La spécification W3C interdit expressément l'utilisation de <meta http-equiv="Permissions-Policy">. La politique doit impérativement être transmise sous forme d'en-tête de réponse HTTP par le serveur web (Nginx, Apache, Cloudflare, etc.).

Quelle est la configuration de base recommandée pour une application sécurisée ?▼

Une ligne de base de durcissement recommandée désactive par défaut les matériels et fonctionnalités non requis : camera=(), microphone=(), geolocation=(), payment=(), usb=(), display-capture=(), serial=(), accelerometer=(), gyroscope=(), magnetometer=(), interest-cohort=(). Réactivez ensuite sélectivement (self) ou les origines nécessaires à votre application.

Outils et utilitaires connexes

Tous les outils →
Générateur d'En-têtes HSTS & Validateur de Préchargement - Guide DéveloppeurSécurité

Générez des en-têtes HTTP Strict-Transport-Security (HSTS) conformes à la RFC 6797 avec calcul de max-age, directive includeSubDomains et vérification d'éligibilité pour la liste Chrome HSTS Preload.

Ouvrir l'outil→
Guide Développeur : Générateur de Configuration Durcie OpenSSH Server (sshd_config)Sécurité

Générez des configurations sshd_config Linux hautement sécurisées pour la production : désactivation du root, clés publiques obligatoires, chiffrements AEAD et timeouts stricts.

Ouvrir l'outil→
Ufw Rules Generator Référence pour DéveloppeursSécurité

Utilitaire pour développeurs ufw-rules-generator.

Ouvrir l'outil→
Générateur de Règles de Pare-Feu iptables Linux et Scripts Shell - Guide DéveloppeurSécurité

Générez des règles iptables pour les chaînes INPUT/FORWARD/OUTPUT, l'inspection avec état conntrack, la protection SYN flood, la redirection NAT et l'exportation shell.

Ouvrir l'outil→
Guide Développeur : Générateur et Analyseur d'Enregistrements DNS SPFSécurité

Générez, analysez et validez des enregistrements TXT SPF conformes à la RFC 7208 avec blocs CIDR IPv4/IPv6, MX, A, mécanismes include et politiques SoftFail/HardFail.

Ouvrir l'outil→
Générateur d'Enregistrements DMARC DNS et Validateur de Syntaxe - Guide DéveloppeurSécurité

Générez et validez des enregistrements DNS TXT DMARC conformes à la RFC 7489 avec politiques de traitement (none/quarantine/reject), rapports agrégés rua/ruf et balises d'alignement.

Ouvrir l'outil→