Vos e-mails ne partent pas. Vérifiez-le vous-même.
Vos messages restent sur votre appareil, et vous pouvez le contrôler en trente secondes. Cette page explique comment.
Trois vérifications
L'onglet Réseau
Ouvrez les outils de développement du navigateur (F12), onglet Réseau, puis déposez un message et mettez-le en PDF. Vous verrez le chargement des scripts et des polices du site, et aucune requête qui emporte votre message.
Le mode avion
Chargez une page d'outil, coupez le réseau, puis travaillez : la lecture, l'extraction et le PDF continuent de fonctionner.
La politique de sécurité
Affichez le code source de la page : la balise
Content-Security-Policyporteconnect-src 'self'. Le navigateur refuse à la page toute connexion vers un autre domaine, quel que soit le code qu'elle exécute.
La politique de sécurité du contenu
C'est la même sur chaque page du site : default-src 'self', connect-src 'self' blob: data:, img-src 'self' blob: data:, form-action 'none', object-src 'none', base-uri 'none'. Aucune police n'est chargée d'un fournisseur, aucun script d'un CDN, aucune mesure d'audience. script-src admet en plus 'wasm-unsafe-eval' et blob:, pour le moteur de transcription décrit plus bas : compiler son code WebAssembly, et le laisser écrire son fil d'exécution dans la mémoire de l'onglet. Un blob: vient toujours de la page elle-même, jamais d'une autre origine.
Le corps d'un e-mail s'affiche dans un cadre isolé, sans scripts, qui hérite de cette politique : une image hébergée ailleurs y est refusée par le navigateur, ce qui empêche un message de prévenir son expéditeur qu'il a été ouvert, et un formulaire contenu dans un message ne peut rien envoyer.
Ce qui ne sort pas
- Le fichier et ce qu'il contient : lus, affichés, mis en page et enregistrés dans l'onglet.
- Aucune requête DNS : la signature DKIM d'un message n'est pas recalculée, puisqu'il faudrait demander une clé à un serveur ; le résultat affiché est celui qu'a inscrit le serveur de réception.
- Aucun horodatage : la date de production écrite dans un PDF est celle de votre ordinateur, et elle est dite comme telle.
- Aucune image distante, aucune police ni aucun script d'un tiers.
Ce qui passe d'un onglet à l'autre : Klarmask
Le bouton « Caviarder dans Klarmask », sous un PDF produit ici, ouvre Klarmask dans un nouvel onglet et lui confie ce PDF. Le fichier va d'un onglet à l'autre de votre navigateur, sur votre poste : il n'est téléversé nulle part, et l'onglet Réseau ne montre aucune requête qui l'emporte.
Rien ne part sans le geste : le PDF n'est confié qu'au clic sur ce bouton, à la seule adresse www.klarmask.com, jamais à un autre site. Klarinbox attend que la page de réception de Klarmask accuse l'empreinte du fichier reçu, et cet onglet ne peut ensuite plus rien lui demander.
De l'autre côté, Klarmask range le PDF quelques instants dans l'espace privé que le navigateur lui réserve, le temps d'ouvrir son atelier, vérifie son empreinte et l'efface aussitôt. Il tient la même promesse que Klarinbox et décrit ce passage sur sa propre page Souveraineté.
La seule requête du site
Après un enregistrement, votre navigateur envoie à ce domaine une requête sans corps, qui ne contient qu'une famille et un nombre : POST /compte?f=message&p=1. Rien d'autre : ni nom de fichier, ni contenu, ni adresse, ni cookie.
La famille dit ce qui a été ouvert : message pour un fichier de message déposé (.msg, .eml, .emlx, winmail.dat), boite pour un message tiré d'une boîte (.pst, .ost, mbox), discussion pour une discussion WhatsApp. Le nombre est celui des messages, ou des discussions, que couvre le fichier enregistré : une pièce jointe ou le PDF d'un message comptent 1, l'archive des pièces de vingt messages compte 20. Un dossier de pièces qui mêle des fichiers et des messages de boîte envoie une requête par famille. Un même message enregistré deux fois compte deux fois.
Le journal du compteur n'écrit qu'une date, la famille et ce nombre, et seulement pour une requête valide. Le journal d'accès du site n'écrit qu'une date, le code de réponse et la page demandée, sans sa chaîne de requête. Ni l'un ni l'autre ne garde d'adresse IP, d'agent utilisateur ou de référent. Les totaux de l'accueil en sont tirés une fois par heure.
Un navigateur qui demande à ne pas être suivi (Global Privacy Control, Do Not Track) n'envoie rien. L'échec de l'envoi est silencieux : il n'empêche jamais un enregistrement. Hors ligne, rien n'est envoyé, ni gardé pour plus tard.
Le modèle qui transcrit les notes vocales
Une discussion WhatsApp contient parfois des notes vocales, et une recherche par mot-clé ne les voit pas. Klarinbox peut les transcrire pour qu'on puisse y chercher. Il ne le fait qu'à votre demande, et il annonce le poids exact avant de télécharger quoi que ce soit. Tant que vous n'avez pas accepté, la recherche ne regarde pas les sons, et l'outil le dit plutôt que de laisser croire qu'il a tout lu.
Le modèle est Whisper, publié par OpenAI sous licence MIT, dans la version convertie par la communauté ONNX, épinglée à une révision. Il est servi par ce site, jamais par un tiers : environ 102 Mo (76 Mo de poids et 26 Mo de moteur WebAssembly), téléchargés une fois, vérifiés fichier par fichier contre les empreintes publiées, puis rangés dans l'espace privé que votre navigateur réserve à ce site. Un fichier dont l'empreinte ne correspond pas n'est ni rangé ni exécuté, et un bouton efface le tout.
La transcription se fait dans l'onglet, sur votre machine : le son ne part nulle part, et l'onglet Réseau ne montre aucune requête pendant le travail. Pour que le moteur puisse s'exécuter, la politique de sécurité admet la compilation WebAssembly ('wasm-unsafe-eval') et les modules écrits dans la mémoire de l'onglet (blob:) : ce n'est pas 'unsafe-eval', aucun JavaScript ne s'évalue à la volée, et ces deux lignes n'ouvrent aucune origine.
Ce que rend la transcription est le travail d'une machine : elle sert à lire et à chercher, elle se trompe parfois sur un nom propre, et elle ne remplace pas l'écoute. Le fichier d'origine reste la note vocale elle-même, avec son empreinte.
Ce que votre navigateur garde pour travailler hors ligne
Après la visite d'une page d'outil, un travailleur de service garde dans le navigateur le code du site (l'atelier, ses lecteurs, le moteur PDF) et les pages de votre langue. On peut alors couper le réseau et continuer, changer d'outil compris.
Les polices et les emojis des PDF (environ 31 Mo en tout, dont 23 Mo de polices) ne sont gardés qu'à leur première utilisation, jamais d'avance : un message en français n'en demande que 1,7 Mo. Le moteur vérifie l'empreinte de chacun à chaque production, qu'il vienne du réseau ou de ce cache.
Ce cache ne contient que des fichiers du site : jamais un de vos fichiers, jamais la requête du compteur. Il se vide avec les données du site, dans les réglages du navigateur, et se renouvelle seul à chaque version. Servi en clair ou ouvert depuis un disque, le site fonctionne sans lui.
Et le RGPD
Klarinbox ne traite aucune des données personnelles contenues dans vos messages : il ne les reçoit pas. L'éditeur n'est donc pas sous-traitant pour ce que vous ouvrez, et il n'y a ni transfert, ni contrat de sous-traitance, ni durée de conservation à fixer. Vous restez responsable de ce que vous faites des messages, et notamment de ceux de tiers.
Ce que nous ne garantissons pas
- Votre navigateur et ses extensions. Une extension autorisée à lire les pages peut lire ce qui s'y affiche, ici comme partout.
- Votre poste. Un logiciel espion installé sur la machine voit ce que vous voyez.
- Les fichiers enregistrés. Une pièce jointe enregistrée s'ouvre ensuite avec vos logiciels, avec les risques d'un fichier reçu ; un PDF envoyé par courriel quitte votre machine.
- Les liens d'un message. Un lien que vous suivez s'ouvre dans un nouvel onglet, sur un autre site : ce qui s'y passe ne dépend plus de nous.