logo
GeekFormat

Générateur Security.txt

Générateur security.txt

Sortie conforme à la RFC 9116, prête à être déployée sur /.well-known/security.txt.

Informations de divulgation

Déclarez l'URL Canonical de votre security.txt pour empêcher l'usurpation sur d'autres chemins

Sortie générée

Générez en ligne votre fichier security.txt conforme à la norme RFC 9116, fournissez aux chercheurs en sécurité un point d'entrée officiel pour signaler les vulnérabilités. Prévisualisation en temps réel, copie en un clic, déployez directement sur /.well-known/security.txt pour que ce soit effectif.

Recommandations connexes

Cas d'utilisation

  • Sites web d'entreprise, plateformes SaaS, sites e-commerce : mettez en place un canal officiel de signalement de vulnérabilités, configurez l'e-mail de contact et la page de politique de sécurité Policy
  • Publiez l'URL de votre clé publique PGP pour permettre aux chercheurs en sécurité de chiffrer les détails de vulnérabilités sensibles, évitant l'interception de transmissions en clair
  • Définissez l'URL de la page de remerciements Acknowledgments (Hall of Fame) pour remercier publiquement les chercheurs qui signalent des vulnérabilités, renforçant la confiance de la communauté sécurité
  • Configurez le lien de recrutement sécurité Hiring pour présenter proactivement les offres d'emploi de l'équipe aux chercheurs et hackers white hat, attirant des talents en sécurité
  • Définissez un timestamp d'expiration Expires pour rappeler à l'équipe de vérifier et mettre à jour régulièrement les informations de contact sécurité, évitant que des informations obsolètes empêchent le signalement de vulnérabilités
  • Configurez le champ Canonical pour déclarer l'URL canonique du fichier security.txt, empêchant des attaquants de falsifier un fichier security.txt malveillant qui tromperait les chercheurs
  • Sites à forte exigence de conformité (gouvernement, finance, santé) : répondez aux exigences de mise en place d'une politique de divulgation de vulnérabilités (VDP), conformément aux bonnes pratiques de régulation sectorielle
  • Projets open source, blogs personnels, services API : configurez rapidement un point de contact sécurité, démontrant votre attention aux problèmes de sécurité

Fonctionnalités

  • Conformité stricte à la dernière norme RFC 9116 : le format de sortie est totalement conforme aux spécifications, prêt pour un déploiement en production
  • Prise en charge de plusieurs contacts : une ligne par contact, les adresses e-mail (mailto:), URL web (https://) et numéros de téléphone (tel:) peuvent être déclarés indépendamment
  • Couverture complète des champs : champs obligatoires Contact et Expires + tous les champs optionnels Encryption, Acknowledgments, Policy, Hiring, Canonical, Preferred-Languages
  • Prévisualisation en temps réel : le contenu de security.txt se met à jour instantanément après toute modification, ce que vous voyez est ce que vous obtenez, pas besoin de cliquer sur un bouton générer
  • Déclaration automatique de la langue : le champ Preferred-Languages est ajouté automatiquement en fonction de la langue de la page actuelle, pour faciliter les rapports des chercheurs en sécurité internationaux
  • Format horaire ISO 8601 : le champ Expires utilise le format UTC standard, conforme aux dernières spécifications RFC
  • Validation du format des champs : vérification automatique des préfixes Contact (mailto:/https:/tel:) et du format horaire Expires pour éviter toute sortie invalide
  • Copie en un clic : cliquez pour copier l'intégralité du contenu dans le presse-papiers, collez-le et c'est déployé
  • Modèle d'exemple intégré : un exemple est pré-rempli par défaut, vous pouvez rapidement remplacer par vos propres informations sans partir de zéro
  • Exécution 100% locale en frontend : les informations de configuration sont traitées localement dans votre navigateur, aucune donnée n'est envoyée à un serveur
  • Conseils de déploiement : après génération, indication du chemin de déploiement standard /.well-known/security.txt et des points clés de configuration du serveur
  • Gratuit sans filigrane : le fichier généré ne contient aucun filigrane ni restriction, utilisable directement sur des sites web commerciaux

Comment utiliser

  1. Dans la zone Contact, saisissez l'e-mail ou l'URL de contact sécurité (une ligne par contact, plusieurs lignes autorisées, les e-mails doivent avoir le préfixe mailto:, les sites web le préfixe https://)
  2. Configurez selon vos besoins les champs optionnels : Encryption (URL clé publique PGP), Acknowledgments (page de remerciements Hall of Fame), Policy (page de politique de divulgation de vulnérabilités), Hiring (page de recrutement sécurité), Canonical (URL canonique du fichier)
  3. Définissez la date d'expiration Expires (heure UTC au format ISO 8601, par exemple 2027-12-31T23:59:59Z, il est recommandé de la définir 6 à 12 mois plus tard)
  4. Prévisualisez le contenu généré en temps réel à droite, vérifiez que le format est correct puis cliquez sur le bouton copier
  5. Créez un dossier .well-known à la racine de votre site web, enregistrez le contenu sous le nom security.txt et placez-le dans ce dossier
  6. Configurez votre serveur web (Nginx/Apache/Caddy, etc.) pour que le fichier soit accessible via https://votre-domaine/.well-known/security.txt avec le Content-Type text/plain

FAQ

Qu'est-ce que le fichier security.txt ? Pourquoi mon site web en a-t-il besoin ?

security.txt est une norme de sécurité web définie par l'IETF dans la RFC 9116, dont le but est de fournir aux sites web un moyen standardisé de publier leurs informations de contact sécurité. Lorsque des chercheurs en sécurité (hackers white hat) découvrent une faille sur votre site, ils ont besoin de savoir qui contacter, comment envoyer un rapport chiffré, quelle politique de divulgation suivre. Sans security.txt, les chercheurs risquent de ne pas trouver la bonne personne, et la vulnérabilité pourrait être divulguée publiquement voire exploitée malicieusement. Google, GitHub, Facebook/Meta, le gouvernement britannique, la CISA américaine, les gouvernements français, italien, néerlandais et australien ont tous adopté cette norme. En France, l'ANSSI recommande également sa mise en place dans le cadre des bonnes pratiques de sécurité.

À quel emplacement le fichier security.txt doit-il être placé sur le site web ?

Conformément à la norme RFC 9116, security.txt doit être placé sur le chemin /.well-known/security.txt (c'est-à-dire dans le dossier .well-known à la racine du site web). Il est également possible de placer une copie à la racine /security.txt comme solution de compatibilité fallback. Il doit être accessible impérativement en HTTPS, avec le Content-Type text/plain. Il ne doit pas être placé à un autre chemin, sinon les outils d'analyse de sécurité automatisés ne pourront pas le reconnaître.

Quels formats de coordonnées le champ Contact accepte-t-il ? Peut-on en mettre plusieurs ?

Trois formats sont pris en charge : les adresses e-mail doivent utiliser le préfixe mailto: (par exemple mailto:secur********@*********), les URL de page web doivent utiliser le préfixe https:// (par exemple https://exemple.fr/signalement-securite), les numéros de téléphone doivent utiliser le préfixe tel: (par exemple tel:+33-1-23-45-67-89). Vous pouvez indiquer plusieurs coordonnées, une par ligne, les chercheurs en sécurité pourront choisir le canal le plus pratique pour vous contacter. Il est recommandé de fournir au moins une adresse e-mail et un lien vers un formulaire web.

Le champ Expires est-il obligatoire ? Quelles sont les exigences de format ?

Expires est un champ obligatoire (Contact est également obligatoire, tous les autres sont optionnels). Expires indique la date d'expiration du contenu de security.txt, il doit utiliser le format horaire UTC ISO 8601, par exemple 2027-12-31T23:59:59Z (Z indique le fuseau horaire UTC). Il est recommandé de définir une expiration de 6 à 12 mois après création, pour vous rappeler de mettre à jour régulièrement vos informations de contact sécurité. Après expiration, les outils automatisés considéreront que les informations du fichier sont potentiellement obsolètes.

À quoi sert le champ Encryption ? Faut-il absolument mettre une clé publique PGP ?

Le champ Encryption indique l'emplacement de votre clé publique PGP, que les chercheurs en sécurité peuvent utiliser pour chiffrer leur rapport de vulnérabilité avant de l'envoyer, évitant que les détails de la faille soient interceptés pendant la transmission du courrier. Ce n'est pas un champ obligatoire, mais il est fortement recommandé de le configurer — car les informations de vulnérabilité sont très sensibles, et un e-mail en clair peut être écouté par le FAI, les administrateurs de serveurs de messagerie ou des attaquants. Vous pouvez placer votre clé publique PGP sur /.well-known/pgp-key.txt, puis indiquer cette URL dans le champ Encryption.

À quoi sert le champ Acknowledgments ? Pourquoi mettre en place une page de remerciements ?

Le champ Acknowledgments pointe vers une page de remerciements publique (aussi appelée Hall of Fame / Panthéon de la sécurité), qui liste les noms ou identifiants des chercheurs qui vous ont signalé des vulnérabilités. C'est une reconnaissance publique du travail des chercheurs en sécurité, et c'est aussi un moyen efficace d'attirer davantage de chercheurs white hat pour vous aider à trouver des failles. Beaucoup de chercheurs en sécurité testent en priorité les sites qui disposent d'un mécanisme de remerciements public, car cela signifie que leur contribution sera reconnue.

Vers quel contenu le champ Policy doit-il pointer ?

Le champ Policy doit pointer vers votre page de politique de divulgation de vulnérabilités (Vulnerability Disclosure Policy, VDP). Cette page doit indiquer clairement : quelles actions de test sont autorisées (et lesquelles sont interdites, par exemple pas de DDoS, pas d'accès aux données utilisateurs), l'engagement de délai de réponse aux signalements, si vous proposez des primes aux bugs (bug bounty), vos engagements juridiques envers la recherche de sécurité légitime (par exemple, ne pas poursuivre les chercheurs de bonne foi), etc. Une Policy claire apporte une sécurité juridique aux chercheurs, les rassurant pour vous signaler les problèmes.

À quoi sert le champ Canonical ? Faut-il le remplir ?

Le champ Canonical permet de déclarer l'URL canonique (officielle) du fichier security.txt lui-même. Un site peut avoir son fichier security.txt accessible sur plusieurs domaines ou chemins (par exemple exemple.fr et www.exemple.fr), et le champ Canonical indique aux chercheurs quelle URL est la version officielle et fiable. Cela empêche un attaquant de placer un faux security.txt sur un chemin donné, qui inciterait les chercheurs à envoyer leurs rapports de vulnérabilité à l'attaquant. Il est recommandé d'indiquer l'URL de votre domaine officiel, par exemple https://exemple.fr/.well-known/security.txt.

Que signifie le champ Preferred-Languages ?

Preferred-Languages indique aux chercheurs en sécurité quelles langues votre équipe sécurité peut traiter pour les rapports, exprimé par des codes de langue séparés par des virgules (par exemple fr, en, de). Ce générateur configure automatiquement ce champ en fonction de la langue de la page que vous utilisez actuellement. C'est important car la recherche en sécurité est mondiale, les chercheurs peuvent être dans n'importe quel pays, et indiquer à l'avance les langues que vous prenez en charge évite les échecs de communication dus à la barrière de la langue.

Faut-il également mettre le champ Hiring dans security.txt ?

Oui, Hiring est l'un des champs optionnels définis par la norme RFC 9116. Ce champ pointe vers la page de recrutement de votre équipe sécurité. Les chercheurs en sécurité sont eux-mêmes d'excellents candidats pour des postes en sécurité — le fait qu'ils trouvent des vulnérabilités sur votre site démontre leurs solides compétences en sécurité, et placer un lien de recrutement dans security.txt est un moyen très ciblé de recruter des talents en sécurité. De nombreuses entreprises renommées (y compris Google) ont placé des liens de recrutement dans leur security.txt.

Est-ce que le fait de mettre une adresse e-mail de contact sécurité va générer beaucoup de spam ?

C'est la préoccupation la plus fréquente des propriétaires de sites. Plusieurs solutions permettent de réduire le spam : premièrement, ne pas mettre directement d'adresse e-mail, mais plutôt l'URL d'un formulaire web de signalement (préfixe https://), ce qui permet d'ajouter un CAPTCHA pour filtrer les robots ; deuxièmement, utiliser un alias d'adresse e-mail dédié à la sécurité (par exemple securite@) et configurer un filtrage anti-spam performant ; troisièmement, fournir un moyen de chiffrement par clé PGP, les spammeurs automatisés n'utilisent pas le chiffrement PGP ; quatrièmement, indiquer clairement dans la Policy que vous n'acceptez que les rapports liés à des vulnérabilités de sécurité. En pratique, la plupart des sites ayant déployé security.txt rapportent que l'augmentation du spam est minime, mais que le nombre de rapports de vulnérabilités augmente significativement.

Le fichier security.txt nécessite-t-il une signature numérique ? Comment faire ?

La RFC 9116 recommande (sans l'imposer) d'utiliser une signature en texte clair OpenPGP (cleartext signature) pour signer numériquement security.txt, afin que les chercheurs puissent vérifier que le fichier est bien publié par le site officiel et n'a pas été altéré par un attaquant. La méthode consiste à utiliser l'outil GPG pour effectuer un clearsign du fichier : gpg --clearsign -o security.txt.sig security.txt, puis utiliser le contenu signé (commençant par -----BEGIN PGP SIGNED MESSAGE-----) comme contenu final de security.txt. Il s'agit cependant d'une opération avancée, la plupart des sites peuvent utiliser security.txt sans signature.

Comment configurer security.txt sur Nginx/Apache/Caddy ?

Les exigences de configuration essentielles : assurez-vous que le chemin /.well-known/security.txt est accessible, que le Content-Type renvoie text/plain, que le HTTPS est obligatoire, et ne faites pas de redirection sur ce chemin (en particulier pas de redirection vers un autre domaine). Sur Nginx, vous pouvez utiliser une correspondance exacte location : location = /.well-known/security.txt { default_type text/plain; alias /chemin/vers/security.txt; } ; sur Apache, assurez-vous que le fichier .htaccess ne bloque pas l'accès au répertoire .well-known ; sur Caddy, utilisez simplement handle_path pour indiquer le chemin directement.

Mon site est très petit (blog personnel / projet open source), ai-je quand même besoin de mettre security.txt ?

C'est fortement recommandé. Quelle que soit la taille du site, dès lors qu'il contient des données utilisateurs ou fournit un service sur Internet, il peut présenter des vulnérabilités. Le coût de déploiement de security.txt est extrêmement faible — le générer avec cet outil ne prend que 2 minutes, il suffit de placer un fichier. Les grandes entreprises comme Google ou GitHub l'utilisent, mais les développeurs individuels et les projets open source peuvent tout autant l'utiliser. C'est une pratique de sécurité au rapport coût/bénéfice exceptionnel : quasiment aucun coût, mais elle permet aux chercheurs de bonne foi qui découvrent une faille d'avoir un canal pour vous signaler le problème, au lieu de partir silencieusement ou de divulguer publiquement la vulnérabilité.

Quelle est la différence entre security.txt et robots.txt ?

Ce sont tous deux des fichiers texte standard placés dans le répertoire /.well-known/ (ou à la racine), mais leur but est totalement différent : robots.txt est destiné aux robots des moteurs de recherche, pour leur indiquer quels chemins ne pas indexer ; security.txt est destiné aux chercheurs en sécurité, pour leur indiquer comment vous contacter s'ils découvrent une vulnérabilité. L'un s'adresse aux moteurs de recherche, l'autre aux chercheurs en sécurité, ils sont complémentaires et pas du tout en conflit, vous pouvez déployer les deux simultanément.

À propos de security.txt : guide complet de la norme de divulgation de sécurité pour sites web

security.txt est une bonne pratique de sécurité web formellement normalisée par l'IETF (Internet Engineering Task Force) dans la RFC 9116, visant à fournir aux sites web un moyen unifié et standard de publier leurs informations de contact sécurité. Pour faire simple, c'est un fichier texte placé à un emplacement fixe sur le site web, qui dit aux chercheurs en sécurité (hackers white hat) : « Si vous découvrez une vulnérabilité de sécurité sur mon site, voici comment nous contacter, voici notre clé publique de chiffrement, voici notre politique de divulgation, nous accueillons votre rapport. »

Avant l'apparition de la norme security.txt, les informations de contact sécurité des sites web étaient dispersées et incohérentes. Certains sites n'avaient absolument aucun contact sécurité, d'autres le cachaient dans un coin perdu d'une page, d'autres ne laissaient qu'une adresse i********@********* que personne ne consulte, d'autres encore nécessitaient des démarches compliquées sur LinkedIn pour trouver l'équipe sécurité. Cela posait un problème majeur : lorsque des chercheurs en sécurité de bonne foi découvraient une vulnérabilité, ils ne trouvaient souvent pas le bon canal pour la signaler. Résultat — de nombreuses vulnérabilités restaient ainsi en suspens, non corrigées, jusqu'à ce que des hackers malveillants les découvrent et les exploitent. security.txt est né pour résoudre ce problème du « dernier kilomètre ».

Le concept de security.txt a été initialement proposé en 2017 par les chercheurs en sécurité EdOverflow et Yakov Shafranovich, et a rapidement obtenu un large soutien de l'industrie. En avril 2022, security.txt a été formellement approuvé par l'IETF en tant que norme RFC 9116, devenant une norme de sécurité web internationalement reconnue. Aujourd'hui, de grandes entreprises technologiques comme Google, GitHub, Meta (Facebook), LinkedIn, Cloudflare, ainsi que des organismes gouvernementaux comme le gouvernement britannique, la CISA américaine (Cybersecurity and Infrastructure Security Agency), le gouvernement français (avec les recommandations de l'ANSSI), le gouvernement italien, le gouvernement néerlandais et le centre australien de cybersécurité ont tous déployé security.txt sur leurs sites officiels et recommandent publiquement à d'autres organisations de l'adopter.

La conception principale du fichier security.txt est très simple — c'est un fichier texte brut, composé d'une série de lignes au format « nom-champ: valeur », similaire au format des en-têtes HTTP. La norme définit deux champs obligatoires : Contact (coordonnées de sécurité, plusieurs possibles) et Expires (date d'expiration du fichier) ; ainsi que plusieurs champs optionnels : Encryption (URL de clé publique de chiffrement PGP), Acknowledgments (URL de page de remerciements), Policy (URL de politique de divulgation de vulnérabilités), Hiring (URL de recrutement sécurité), Canonical (URL canonique du fichier), Preferred-Languages (langues acceptées pour les rapports), CSAF (URL de métadonnées du cadre d'avis de sécurité Common Security Advisory Framework). Ce format simple est facile à analyser aussi bien par les humains que par les machines.

Pourquoi déployer security.txt est-il si important ? Tout d'abord, cela réduit la barrière au signalement des vulnérabilités. Les chercheurs en sécurité n'ont pas besoin de passer beaucoup de temps à chercher les coordonnées, ils trouvent en un clic le bon canal de signalement. Deuxièmement, cela démontre une attitude positive envers la sécurité — un site avec security.txt revient à dire « nous accordons de l'importance à la sécurité, nous accueillons les rapports responsables ». Troisièmement, cela réduit le risque que des vulnérabilités soient divulguées publiquement ou exploitées : si les chercheurs disposent d'un canal officiel, ils ne choisiront pas de publier directement la vulnérabilité sur Twitter ou GitHub parce qu'ils n'ont pas réussi à vous contacter. Quatrièmement, dans de nombreuses exigences de régulation sectorielle (finance, santé, gouvernement), la mise en place d'un canal de divulgation de vulnérabilités est devenue une obligation de conformité.

Le déploiement de security.txt nécessite de prêter attention à plusieurs détails clés. Premièrement, le chemin doit être correct : le chemin standard est /.well-known/security.txt, il est également possible de placer une copie à la racine /security.txt comme solution de compatibilité. Le répertoire .well-known est un répertoire standard de « ressources connues » défini par la RFC 8615, d'autres fichiers standard comme robots.txt se trouvent également dans des emplacements associés. Deuxièmement, il doit être accessible en HTTPS, le HTTP en clair étant considéré comme non sécurisé. Troisièmement, le Content-Type doit être text/plain, pas text/html ou un autre type. Quatrièmement, n'effectuez pas de redirection interdomaines sur security.txt — si https://exemple.fr/.well-known/security.txt redirige vers https://autre-domaine.fr/security.txt, les chercheurs et les outils automatisés considéreront cela comme suspect. Cinquièmement, n'oubliez pas de configurer le champ Expires et de le mettre à jour régulièrement, un fichier security.txt expiré sera considéré comme ayant des informations peu fiables.

Le champ Contact est le champ le plus important de security.txt, et le seul qui soit véritablement indispensable (Expires est également obligatoire, mais il ne s'agit que d'un timestamp). Contact prend en charge trois formats d'URI : mailto: pour les adresses e-mail, https:// pour les liens web (comme une page de formulaire de signalement sécurité), tel: pour les numéros de téléphone. Il est fortement recommandé de fournir au moins une adresse e-mail mailto et un lien de formulaire https — le formulaire permet de se protéger contre les spams de robots, tandis que l'adresse e-mail est plus pratique pour les chercheurs qui souhaitent envoyer directement des rapports chiffrés. Plusieurs contacts peuvent être listés sur plusieurs lignes, par exemple en fournissant simultanément l'adresse de l'équipe sécurité, l'adresse du responsable sécurité, un lien vers une plateforme tierce de signalement de vulnérabilités, etc.

Le champ Encryption, bien qu'optionnel, est très important dans la pratique. Lorsqu'un chercheur en sécurité découvre une vulnérabilité grave (comme une fuite de données utilisateurs, une exécution de code à distance), il ne souhaite absolument pas envoyer les détails de la faille dans un e-mail en clair — car l'e-mail traverse plusieurs serveurs pendant la transmission, et n'importe quel maillon peut être écouté. Le chiffrement par clé publique PGP (Pretty Good Privacy) est la méthode de communication sécurisée standard dans l'industrie. Il vous suffit de générer une paire de clés PGP, de placer la clé publique sur votre site web (par exemple /.well-known/pgp-key.txt), puis d'indiquer cette URL dans le champ Encryption. Les chercheurs chiffrent le contenu du rapport avec votre clé publique, et seul le détenteur de la clé privée correspondante pourra le déchiffrer et le lire.

Le champ Policy pointe vers votre page de politique de divulgation de vulnérabilités (Vulnerability Disclosure Policy, VDP), qui est essentielle pour établir la confiance avec les chercheurs. Une bonne VDP doit indiquer clairement : le périmètre de test (quels systèmes sont inclus dans le périmètre de test, lesquels ne le sont pas), les méthodes de test autorisées (par exemple, tests d'injection SQL/XSS autorisés mais DDoS/ingénierie sociale/accès aux données utilisateurs réels interdits), le délai de réponse promis (par exemple « nous accuserons réception de votre rapport dans les 3 jours ouvrables »), si vous proposez des primes aux vulnérabilités, les engagements de sécurité juridique (indication claire que vous ne poursuivrez pas les chercheurs de bonne foi qui respectent les règles), etc. Il existe de nombreux modèles de VDP internationaux, et la CISA américaine propose également un modèle VDP open source.

Au-delà du contact sécurité lui-même, security.txt comporte plusieurs champs « surprises ». Le champ Acknowledgments établit un Hall of Fame (Panthéon de la sécurité) — remerciant publiquement les chercheurs qui vous ont aidé à découvrir des vulnérabilités, c'est une reconnaissance de leur travail et aussi une forme de communauté. Le champ Hiring est une conception très astucieuse : les personnes capables de découvrir des vulnérabilités sur votre site sont elles-mêmes d'excellents talents en sécurité, et placer un lien de recrutement dans security.txt est le canal le plus ciblé pour recruter des experts en sécurité. De nombreuses entreprises ont recruté d'excellents ingénieurs sécurité grâce à security.txt. Le champ Canonical répond quant à lui à un impératif de sécurité — empêcher des attaquants de falsifier votre security.txt sur d'autres domaines.

Concernant la préoccupation fréquente sur le spam, dans la pratique la plupart des organisations ayant déployé security.txt rapportent que l'augmentation du spam est minime. Cela s'explique par : premièrement, les spammeurs ne récupèrent généralement pas d'adresses e-mail en crawlant security.txt ; deuxièmement, vous pouvez utiliser un lien de formulaire https:// au lieu de mettre directement une adresse mailto, et l'ajout d'un CAPTCHA sur le formulaire permet de bloquer complètement les robots ; troisièmement, une adresse e-mail dédiée à la sécurité (par exemple securite@) bénéficie généralement d'un filtrage anti-spam strict. En comparaison, le coût des rapports de vulnérabilités graves manqués faute de canal de contact sécurité est largement supérieur à la légère augmentation potentielle de spam.

Ce générateur est construit en respectant strictement la norme RFC 9116, et tous les formats de sortie sont normalisés : le champ Contact reconnaît automatiquement les préfixes, le champ Expires utilise le format horaire UTC ISO 8601 standard, et Preferred-Languages est automatiquement configuré en fonction de la langue que vous utilisez. Le contenu généré peut être directement copié et déployé sur le chemin /.well-known/security.txt sans aucune modification. Par ailleurs, toute la configuration s'effectue localement dans votre navigateur, aucune donnée n'est envoyée à un serveur — vos informations de contact sécurité restent en permanence sur votre appareil. Déployer security.txt ne prend que 5 minutes, mais le canal de communication sécurité qu'il établit pourra vous aider à éviter un incident de sécurité grave à l'avenir.

术语表

RFC 9116
Document officiel de la norme security.txt publié par l'IETF, numéro 9116, publié en avril 2022. Définit le format, les champs, le chemin de déploiement, le type MIME et tous les détails de spécification du fichier security.txt, c'est la référence faisant autorité pour la mise en œuvre de security.txt.
Répertoire .well-known
Répertoire web standard défini par la RFC 8615, utilisé pour stocker les fichiers de métadonnées normalisés d'un site web (comme security.txt, robots.txt, apple-app-site-association, etc.), le chemin est fixe : le dossier .well-known à la racine du site web.
VDP (Vulnerability Disclosure Policy / Politique de divulgation de vulnérabilités)
Politique de divulgation de vulnérabilités, qui indique quels tests de sécurité sont autorisés sur le site, comment signaler les vulnérabilités, les engagements de délai de réponse, les clauses de sécurité juridique, etc. Le champ Policy dans security.txt doit pointer vers la page VDP.
Chiffrement PGP/GPG
Pretty Good Privacy / GNU Privacy Guard, un standard de chiffrement asymétrique. Les chercheurs en sécurité chiffrent les rapports de vulnérabilité avec la clé publique publiée par le site, et seul le détenteur de la clé privée du site peut le déchiffrer, empêchant l'interception des détails de la vulnérabilité pendant la transmission.
ISO 8601
Format de représentation de date et heure défini par l'Organisation internationale de normalisation. La RFC 9116 impose que le champ Expires utilise obligatoirement ce format en heure UTC (par exemple 2027-12-31T23:59:59Z, Z indiquant le fuseau horaire UTC).
Hall of Fame (Panthéon de la sécurité)
Page de remerciements pointée par le champ Acknowledgments, qui enregistre publiquement les noms/identifiants des chercheurs ayant signalé des vulnérabilités de sécurité au site, c'est une reconnaissance publique de leur contribution à la recherche en sécurité.
Hacker white hat (chapeau blanc / pirate éthique)
Chercheur en sécurité qui découvre et divulgue de manière responsable des vulnérabilités de sécurité dans un but bienveillant, par opposition aux hackers malveillants (black hats / chapeaux noirs) qui exploitent les vulnérabilités pour attaquer. security.txt a justement pour but de fournir un canal de communication officiel aux chercheurs white hat.
URL canonique
Le champ Canonical dans security.txt permet de déclarer l'URL officielle du fichier lui-même, empêchant des attaquants de placer un faux fichier security.txt sur d'autres chemins ou domaines pour tromper les chercheurs.

Tableau de référence des champs security.txt RFC 9116

Voici tous les champs définis par la norme security.txt et leurs exigences :

Nom du champObligatoire/OptionnelPlusieurs autorisés ?Format de la valeurDescription
Contact✅ Obligatoire✅ Plusieurs lignesURI mailto:/https:/tel:Coordonnées de contact sécurité, prend en charge trois formats : adresse e-mail, URL web, numéro de téléphone
Expires✅ Obligatoire❌ Un seulHeure UTC ISO 8601Date d'expiration du contenu du fichier, après laquelle les informations sont considérées comme potentiellement obsolètes
Encryption⬜ Optionnel✅ Plusieurs lignesURI https://URL de l'emplacement de la clé publique PGP, pour l'envoi chiffré de rapports de vulnérabilités sensibles
Acknowledgments⬜ Optionnel✅ Plusieurs lignesURI https://URL de la page de remerciements / Hall of Fame, remerciant publiquement les personnes ayant signalé des vulnérabilités
Policy⬜ Optionnel✅ Plusieurs lignesURI https://URL de la politique de divulgation de vulnérabilités (VDP), indiquant les règles et le périmètre de signalement
Hiring⬜ Optionnel✅ Plusieurs lignesURI https://URL de la page de recrutement de l'équipe sécurité, pour recruter des talents parmi les chercheurs en sécurité
Canonical⬜ Optionnel✅ Plusieurs lignesURI https://URL canonique du fichier security.txt lui-même, pour prévenir les falsifications
Preferred-Languages⬜ Optionnel❌ Un seulCodes de langue (séparés par virgules)Langues prises en charge par l'équipe sécurité, par exemple fr, en, de
CSAF⬜ Optionnel✅ Plusieurs lignesURI https://URL des métadonnées du fournisseur dans le cadre Common Security Advisory Framework

Exemples de configuration security.txt pour les serveurs web courants

Après avoir généré le contenu de security.txt, configurez le chemin d'accès et le Content-Type corrects sur votre serveur :

Serveur webPoints clés de configurationRemarques
Nginxlocation = /.well-known/security.txt { default_type text/plain; alias /var/www/.well-known/security.txt; add_header Cache-Control "public, max-age=3600"; }Utilisez une correspondance exacte (=), définissez default_type sur text/plain pour éviter que Nginx ne traite les fichiers txt comme des fichiers binaires
ApacheAssurez-vous que le répertoire .well-known n'est pas bloqué par les règles Deny du fichier .htaccess, placez simplement le fichier dans le dossier .well-known à la racine du siteApache renvoie par défaut text/plain pour les fichiers .txt, mais vérifiez que les règles mod_rewrite ne réécrivent pas ce chemin
Caddyhandle_path /.well-known/security.txt { file_server { root /var/www } }Caddy utilise HTTPS par défaut et gère correctement le type MIME des fichiers txt, la configuration est la plus simple
Cloudflare Pages/Vercel/NetlifyPlacez security.txt dans le chemin public/.well-known/security.txt, le service statique y donnera accès correctement après déploiementLes plateformes d'hébergement statique gèrent généralement le bon Content-Type automatiquement, vérifiez que la plateforme n'ignore pas le répertoire .well-known s'il commence par un point
CDN/Proxy inverseAssurez-vous que le CDN ou le WAF ne bloque ni ne met en cache trop longtemps security.txt, il est recommandé de définir Cache-Control sur max-age=3600 (1 heure)Pensez à vider le cache du CDN après avoir mis à jour security.txt, sinon les chercheurs pourraient voir une ancienne version

Privacy & Security

Toutes les opérations de configuration de ce générateur s'effectuent entièrement localement dans votre navigateur. Toutes les informations que vous saisissez — adresse e-mail de contact sécurité, URL de clé PGP, lien de recrutement, etc. — ne sont envoyées à aucun serveur, et ne sont ni collectées ni stockées. Après actualisation ou fermeture de la page, tout le contenu saisi est immédiatement effacé. Le contenu du fichier security.txt généré n'existe que dans votre presse-papiers et sur le serveur où vous le déployez, GeekFormat n'en conserve aucune copie.

Troubleshooting

L'accès à /.well-known/security.txt renvoie une erreur 404

Il y a trois causes courantes : premièrement, le fichier n'est pas placé au bon emplacement — vérifiez que le chemin est bien le fichier security.txt dans le dossier .well-known à la racine du site web (attention : .well-known est un répertoire caché commençant par un point) ; deuxièmement, la configuration du serveur web bloque l'accès aux répertoires commençant par un point (les règles .htaccess d'Apache ou les règles deny de Nginx peuvent bloquer les répertoires dotfiles) ; troisièmement, les règles de réécriture de Nginx/Apache (comme le mode history du routage frontend) transfèrent la requête à index.html. Solution : vérifiez le chemin du fichier, ajoutez explicitement une règle location pour /.well-known/security.txt dans la configuration du serveur.

L'accès à security.txt redirige vers la page de connexion ou la page d'accueil

De nombreuses applications monopages (SPA) ou sites web avec authentification redirigent tous les chemins non correspondants vers la page d'accueil ou la page de connexion. Cela empêche les outils automatisés de trouver security.txt. Solution : ajoutez une exception pour le chemin /.well-known/security.txt dans la configuration du serveur, pour que ce chemin renvoie directement le contenu du fichier sans passer par le routage SPA ou le middleware d'authentification. C'est l'écueil le plus courant lors du déploiement de security.txt.

Dans le navigateur, security.txt se télécharge au lieu d'afficher le contenu

Cela est dû au fait que le Content-Type renvoyé par le serveur est incorrect, il peut être défini sur application/octet-stream ou un autre type binaire au lieu de text/plain. Solution : dans la configuration du serveur web, définissez explicitement le Content-Type de security.txt sur text/plain; charset=utf-8. Sur Nginx, utilisez default_type text/plain ou add_header Content-Type text/plain ; Apache gère généralement cela automatiquement, mais en cas de problème vous pouvez forcer la définition avec l'instruction AddType.

J'ai rempli une adresse e-mail dans le champ Contact mais le format est signalé comme incorrect

La valeur du champ Contact doit obligatoirement comporter un préfixe URI : les adresses e-mail doivent commencer par mailto: (par exemple mailto:secur********@*********, vous ne pouvez pas écrire directement secur********@*********), les URL web doivent commencer par https:// (vous ne pouvez pas écrire seulement exemple.fr/securite), les numéros de téléphone doivent commencer par tel:. C'est une exigence explicite de la norme RFC 9116 — comme le champ Contact prend en charge plusieurs types de coordonnées, l'absence de préfixe empêcherait l'analyseur de déterminer le type.

Le format de l'heure Expires est indiqué comme incorrect

Expires doit utiliser le format horaire UTC ISO 8601, au format YYYY-MM-DDTHH:MM:SSZ, et doit obligatoirement se terminer par Z indiquant le fuseau horaire UTC (vous ne pouvez pas écrire +01:00 ou un autre décalage de fuseau horaire local). Exemple correct : 2027-12-31T23:59:59Z. N'utilisez pas d'autres formats comme 2027/12/31, 31 déc. 2027 ou 2027-12-31 23:59:59 — ceux-ci ne sont pas conformes à la norme.

J'ai placé security.txt mais les outils de vérification en ligne disent toujours qu'ils ne le trouvent pas

Vérifiez les points suivants : premièrement, assurez-vous d'y accéder en HTTPS (l'accès en HTTP n'est pas valide, la RFC impose le HTTPS obligatoire) ; deuxièmement, assurez-vous qu'il est accessible correctement à la fois avec et sans le sous-domaine www (si votre site existe dans les deux versions, il est recommandé de déclarer le domaine principal dans le champ Canonical, et de placer security.txt sur les deux domaines ou de configurer une redirection 301 correcte) ; troisièmement, vérifiez que le cache du CDN a été vidé de l'ancien contenu ; quatrièmement, confirmez que le serveur ne renvoie pas de redirection (301/302) vers une autre URL sur le chemin de security.txt — la RFC stipule que les redirections peuvent être refusées par les outils.