Ce qu’il advient de vos mots et de vos fichiers une fois que vous avez cliqué sur « Chiffrer et envoyer », et qui peut les lire.
Étape par étape
- Votre navigateur crée une nouvelle clé. Une clé aléatoire est créée sur votre appareil, pour cet envoi uniquement.
- Tout est verrouillé avec elle. Votre texte, vos choix de publication, vos coordonnées si vous en donnez, ainsi que chaque fichier et son nom, sont chiffrés dans votre navigateur avant d’en sortir.
- La clé est verrouillée pour la rédaction. La clé elle-même est ensuite verrouillée avec la clé publique de la rédaction. Une clé publique ne peut que verrouiller. Pour ouvrir, il faut la clé privée correspondante, que seule la rédaction détient.
- Notre serveur conserve ce qu’il ne peut pas lire. Il vérifie que le formulaire a été envoyé par une personne et non par un robot de spam, puis il enregistre le texte verrouillé dans sa base de données et les fichiers verrouillés dans un espace de stockage privé sans adresse publique. Il ne dispose d’aucune clé capable de les ouvrir.
- Vous recevez un code de récépissé (le conserver est facultatif). Le serveur génère un code aléatoire et vous l’affiche une seule fois. Il n’en garde qu’une empreinte, qui suffit à le reconnaître mais pas à l’afficher de nouveau. Conserver le code est facultatif : il vous permet de compléter plus tard le même envoi. Une fois envoyé, un envoi ne peut être ni retiré ni modifié.
Qui peut le lire
Seule la rédaction de ce site, qui détient la clé privée permettant d’ouvrir les envois. Cette clé ne se trouve jamais sur notre serveur : la rédaction ne la charge dans son propre navigateur que le temps de lire les envois, et elle est effacée dès que la page est verrouillée ou fermée.
Personne d’autre ne peut lire ce que vous envoyez : ni notre hébergeur, ni quiconque surveille votre connexion à Internet, ni une personne qui s’introduirait dans notre serveur ou sa base de données.
Ce que notre serveur peut voir
Le chiffrement cache ce que vous avez écrit, pas le fait qu’un envoi a eu lieu. Le serveur peut voir :
- à quel moment votre envoi, et tout ce que vous y ajoutez ensuite, est arrivé ;
- le type que vous avez choisi : votre expérience, une affaire ou des preuves ;
- le nombre de fichiers envoyés, ainsi que la taille de chaque fichier et du texte chiffré, ce qui donne une idée approximative de leur longueur ;
- l’empreinte de votre code de récépissé.
Il ne conserve pas votre adresse IP, et la journalisation des requêtes est désactivée.
Ce que signifie « anonyme » ici
- Vous n’avez pas besoin de compte, et il n’est pas nécessaire de donner votre nom.
- Le seul champ de contact est facultatif, et il est chiffré avec tout le reste.
- Nous ne conservons pas votre adresse IP. Notre hébergeur, qui assure aussi la vérification anti-spam, la voit néanmoins lorsque vous vous connectez, et notre serveur l’utilise un instant pour limiter la fréquence des envois depuis une même connexion.
Avant toute publication
- Rien de ce que vous envoyez n’est publié automatiquement. La rédaction le lit et le vérifie d’abord.
- Votre témoignage n’est publié que si vous l’avez autorisé, et jamais avec plus de votre nom que ce que vous avez choisi. Un témoignage publié indique le mois de sa réception.
- Les identités des survivants, de leurs familles et des sources anonymes sont retirées des témoignages et caviardées dans les documents avant publication. Ce qu’un document montre des abus ou de leur dissimulation n’est pas caviardé : c’est la raison d’être de ce registre.
- Chaque fichier publié est débarrassé de ses données cachées : ni auteur, ni appareil, ni localisation, ni logiciel, ni historique des modifications. Les photos sont réenregistrées à partir de leurs pixels. Les PDF sont reconstruits à partir d’une image de chaque page, si bien qu’aucun texte caché ni aucune version antérieure ne peut subsister.
- Les notes privées de la rédaction, comme les sources et les coordonnées, ne sont jamais publiées.
Détails techniques
- La cryptographie s’exécute dans votre navigateur avec libsodium.
- Chaque envoi reçoit une clé aléatoire de 256 bits. Des sous-clés distinctes pour le texte et pour les fichiers en sont dérivées avec crypto_kdf (BLAKE2b), de sorte que les deux ne partagent jamais la même clé.
- Texte : XChaCha20-Poly1305 (AEAD IETF) avec un nonce aléatoire de 192 bits. Le message chiffré contient les champs du formulaire, les choix de consentement, le contact facultatif et la liste des fichiers (noms, types, tailles).
- Fichiers : crypto_secretstream_xchacha20poly1305 en blocs authentifiés de 64 Kio ; une balise finale détecte toute troncature.
- Encapsulation de la clé : la clé de l’envoi est scellée pour chaque clé publique de la rédaction avec crypto_box_seal (X25519 avec une paire de clés jetable, XSalsa20-Poly1305). La clé publique de la rédaction est intégrée à cette page.
- Tout ajout ultérieur effectué avec un code de récépissé est chiffré de la même manière avec une nouvelle clé.
- Code de récépissé : 26 caractères (130 bits aléatoires) générés par le serveur ; seule son empreinte SHA-256 est conservée.
- Stockage : une base de données pour le texte chiffré et un espace de stockage privé pour les fichiers chiffrés, qui ne contiennent l’un et l’autre que du texte chiffré. La limitation du débit repose sur l’adresse IP de connexion, au sein du limiteur de débit de l’hébergeur, et n’est pas conservée ; le jeton anti-spam est vérifié sans transmettre votre adresse IP.
- Intégrité des scripts : chaque fichier de script chargé par le formulaire est épinglé par une empreinte SHA-384 dans une import map, si bien que les navigateurs qui prennent en charge l’intégrité des import maps refusent les fichiers modifiés. La Content Security Policy n’autorise que les scripts de ce site et ceux de la vérification anti-spam. Cela protège contre le remplacement de fichiers de script, mais pas contre une personne qui prendrait le contrôle du site et modifierait la page elle-même ; c’est pourquoi les empreintes sont publiées : empreintes des scripts du formulaire.