Aller au contenu
Klarword

Klarword est conçu pour un ordinateur. Vous pouvez lire ces pages ici, mais pour transcrire, ouvrez le site sur un poste de travail : le modèle pèse plusieurs centaines de mégaoctets et le calcul se fait sur votre machine.

Rien n'est envoyé, et cela se vérifie

Klarword ne vous demande pas de le croire. Le traitement se fait dans votre navigateur, le navigateur interdit à la page de se connecter ailleurs, et vous pouvez le constater en trente secondes.

Vérifier soi-même

  1. Coupez le réseau. Chargez un modèle, puis désactivez le Wi-Fi ou débranchez le câble. Déposez un fichier et transcrivez : tout fonctionne. Rechargez même la page, elle revient.
  2. Ouvrez l'onglet Réseau. Dans les outils de développement (F12), onglet « Réseau », déposez un fichier et lancez la transcription. Aucune requête ne part pendant le travail ; la première fois, seuls les fichiers du modèle arrivent, depuis ce site.
  3. Lisez la politique de sécurité du contenu. Elle est dans l'en-tête de chaque page et reproduite ci-dessous. La ligne connect-src 'self' interdit au navigateur toute connexion vers un autre domaine. C'est lui qui l'applique, pas nous.
  4. Comparez les empreintes. Chaque fichier de modèle a une empreinte SHA-256, publiée sur la page des empreintes. L'outil la vérifie avant de s'en servir, et vous pouvez la recalculer vous-même sur le fichier téléchargé.

L'architecture

Le site est un ensemble de fichiers statiques : des pages, du code, un moteur de calcul et des modèles. Le serveur les sert et ne fait rien d'autre. Il n'y a pas d'application côté serveur, pas de base de données, pas de compte, et aucune adresse à laquelle envoyer un enregistrement.

L'architecture Votre ordinateur L'onglet Klarword La page : lecteur, éditeur, exports Le travailleur : modèle Whisper, moteur WebAssembly ou WebGPU L'espace privé du navigateur : modèles vérifiés Votre enregistrement Votre export

Le serveur Klarword
Des fichiers statiques : pages, code, moteur, modèles

Une fois :pages, code, modèle Jamais :audio, texte,nom de fichier

Une architecture plutôt qu'une promesse

Un service en ligne peut promettre d'effacer votre enregistrement ; vous n'avez aucun moyen de le constater. Une architecture, elle, se constate.

Un service de transcription en ligneKlarword
Où l'audio est traitéSur les serveurs du prestataire, ou chez son fournisseur de modèlesDans votre navigateur, sur votre poste
Ce que vous devez croireSa politique de conservation et ses conditionsRien : coupez le réseau et regardez
Sous-traitantsHébergeur, fournisseur de modèles, parfois hors de l'Union européenneAucun : il n'y a pas de traitement à sous-traiter
Durée de conservationCelle de ses conditions, à négocierSans objet : rien n'est reçu
Réutilisation pour entraîner un modèleSelon ses conditionsImpossible : nous ne recevons rien
DépendanceAu service, à ses tarifs, au droit de son paysAucune : le paquet auto-hébergé tourne sur votre réseau, sans connexion
Compte, cookiesSouvent obligatoiresAucun

Ce qui est téléchargé, et d'où

À l'ouverture de l'outil, le navigateur télécharge la page, son code et sa feuille de style. Au premier lancement d'un modèle, il télécharge le moteur de calcul puis les fichiers du modèle choisi. Quand vous les demandez, il télécharge aussi l'exemple (un enregistrement d'une minute et son texte) et les polices des sous-titres incrustés. Tout vient de ce site, et rien d'autre n'est demandé : ni police d'un service tiers, ni script tiers, ni mesure d'audience.

La bibliothèque qui fait tourner le modèle (transformers.js) sait aller chercher ses fichiers chez Hugging Face et son moteur sur un réseau de diffusion. Dans Klarword, elle n'en a pas le droit : sa fonction de téléchargement est remplacée par une fonction qui refuse, et elle ne lit que les fichiers vérifiés rangés sur votre poste. Une demande imprévue échoue avec un message, au lieu de partir.

Ce que cela change pour le RGPD

Nous ne recevons aucun enregistrement, donc nous ne traitons aucune des données qu'il contient. Concrètement, pour une organisation :

  • Pas de transfert de données vers un tiers : l'enregistrement ne quitte pas le poste de la personne qui transcrit. La question du transfert hors de l'Union européenne ne se pose pas, faute de transfert.
  • Pas de sous-traitant à qualifier pour le contenu des enregistrements, donc pas de contrat de sous-traitance à signer pour la transcription elle-même.
  • Pas de durée de conservation à fixer ni d'effacement à demander : il n'existe pas de copie ailleurs. Ce qui reste sur le poste, un travail que vous avez demandé de garder, se supprime d'un clic.
  • Aucun fournisseur d'intelligence artificielle ne voit passer vos entretiens : les modèles sont publiés sous licence libre (MIT, Apache 2.0), épinglés, vérifiés et servis par ce site, puis ils tournent sur votre poste.
  • Aucun cookie, aucun traceur, aucun tiers : pas de bandeau de consentement, parce qu'il n'y a rien à consentir. La seule mesure du site est le compteur décrit plus bas.
  • Le site est hébergé en France, par OVH, et ne sert que des fichiers. Pour ne dépendre de personne, le paquet auto-hébergé tourne sur votre réseau interne, sans accès à Internet.

Ce qui reste à votre charge

Klarword ne fait pas deux choses à votre place : informer les personnes enregistrées et, selon le cadre, recueillir leur consentement ; inscrire la transcription à votre registre des traitements. Les conditions d'utilisation le rappellent.

Ce qui n'est jamais envoyé

Ni l'audio, ni la vidéo, ni le texte transcrit ou traduit, ni le compte rendu, ni vos corrections, ni le nom de vos fichiers. Pas de mesure d'audience, pas de cookie, pas de télémétrie.

Le serveur de ce site ne tient pas de journal d'accès. L'hébergeur conserve ses propres journaux techniques au niveau de la machine, selon ses règles de sécurité.

La seule chose qui part : un compteur

Quand une transcription se termine, votre navigateur envoie à ce site une requête, et une seule : POST /compte?m=precis&d=10-60. Elle dit quel modèle a servi et dans quelle tranche tombe la durée de l'enregistrement (moins de 10 minutes, de 10 à 60, plus d'une heure). Rien d'autre : pas un mot du texte, pas un nom de fichier, pas un identifiant.

Le serveur n'écrit qu'une ligne : la date, le modèle, la tranche. Ni adresse IP, ni navigateur, ni page d'origine : deux transcriptions de la même personne sont indistinguables de deux transcriptions d'inconnus. Le total est publié tel quel sur la page des statistiques.

Un navigateur qui demande à ne pas être suivi (Do Not Track, Global Privacy Control) n'envoie rien. Hors ligne, rien ne part, et rien n'est gardé pour plus tard : la requête n'est jamais rejouée. Le paquet auto-hébergé est construit sans compteur. Dans tous les cas, l'outil fonctionne à l'identique.

Disons-le sans détour : nous enregistrons le nombre de transcriptions terminées, avec le modèle employé et une tranche de durée. Nous connaissons donc, jour par jour, combien de transcriptions ont été faites avec chaque modèle, et c'est exactement ce que la page des statistiques affiche. Rien dans ces lignes ne dit qui les a faites, ni d'où, ni ce qu'elles contenaient.

Ce qui est rangé sur votre poste

Les modèles et le moteur sont rangés dans l'espace privé que le navigateur réserve à ce site (Origin Private File System), après vérification de leur empreinte. C'est ce qui évite de les retélécharger, et ce qui permet de travailler hors ligne. L'écran « Sur ce poste » de l'outil les liste et permet de les supprimer.

Votre enregistrement n'y est pas rangé, sauf si vous le demandez. Par défaut, il est lu en mémoire, dans l'onglet, et oublié à sa fermeture ; la transcription aussi. C'est pourquoi l'outil vous demande de l'enregistrer.

Si vous cochez « Garder ce travail sur ce poste », l'enregistrement et sa transcription sont rangés dans ce même espace privé, sur ce disque, et mis à jour à chaque correction, pour que vous les retrouviez à la visite suivante. Ils ne sont envoyés nulle part, et se suppriment d'un clic, depuis l'écran de départ ou depuis « Sur ce poste ». Sans la case, rien n'est gardé.

Deux réglages sont gardés d'une visite à l'autre, dans le stockage local du navigateur, sur ce poste : le glossaire que vous avez écrit, et le style choisi pour les sous-titres incrustés. Ils ne quittent pas le poste ; vous exportez vous-même le glossaire en fichier texte pour le partager.

L'enregistrement depuis le micro

L'outil peut enregistrer directement depuis le micro de l'ordinateur. Le navigateur demande d'abord votre accord ; le son est ensuite gardé en mémoire dans l'onglet, exactement comme un fichier que vous auriez déposé, et transcrit de la même façon. Il n'est envoyé nulle part. Si vous voulez le conserver, l'outil propose de l'enregistrer sur votre poste ; sinon, il disparaît à la fermeture de l'onglet.

L'en-tête Permissions-Policy du site n'autorise le micro que pour ce site lui-même, et interdit la caméra, la géolocalisation et le reste.

Le transfert depuis un téléphone

Pour passer un enregistrement du téléphone à l'ordinateur, l'outil affiche un QR code. Le fichier va ensuite directement d'un appareil à l'autre, par un canal WebRTC chiffré, sur votre réseau local : il ne passe par aucun serveur, ni le nôtre ni un autre.

Pour que les deux appareils se trouvent, le serveur du site leur sert de boîte aux lettres, quelques secondes : chacun y dépose une description de connexion (ses adresses sur le réseau local et l'empreinte de sa clef de chiffrement), l'autre la lit. Ces descriptions sont signées avec un secret que seul le QR code porte, dans la partie de l'adresse que le navigateur n'envoie jamais à un serveur : le relais ne peut donc pas se faire passer pour l'un des deux. Il les garde en mémoire dix minutes au plus, sans journal, et refuse tout message de plus de 16 Ko.

Aucun serveur STUN ou TURN n'est utilisé : un STUN public serait une requête vers un tiers, un TURN un serveur par lequel le fichier finirait par passer. La contrepartie est écrite à l'écran : les deux appareils doivent se voir sur le même réseau.

Débranché, l'outil marche encore

Un travailleur de service garde une copie des pages et du code de l'outil, pour qu'il se recharge réseau coupé ; les modèles, eux, sont rangés à part, après vérification de leur empreinte. C'est la démonstration qu'un service qui téléverse ne peut pas copier : il lui faut son serveur pour travailler.

Un travailleur de service est un programme qui s'installe entre la page et le réseau : c'est exactement l'endroit d'où l'on ferait sortir vos enregistrements. Voici ce que fait le nôtre, et ce qu'il ne fait pas.

  • Il n'ouvre aucune connexion. Son travail est de répondre avec ce qu'il a déjà. Il ne parle à aucun autre domaine : la politique de sécurité du contenu le lui interdirait de toute façon.
  • Aucun enregistrement ne passe par lui. Votre fichier va de votre disque à la mémoire de l'onglet ; ce qu'il garde, ce sont les pages et le code de ce site, rien d'autre.
  • Il ne touche pas au compteur, et ne le rejoue jamais. Un travailleur de service sait mettre un envoi en attente et le refaire au retour du réseau : ce serait garder une trace de votre travail en attendant de nous l'envoyer. Hors ligne, le compteur ne compte pas.
  • Il se vide à chaque nouvelle version du site, et les pages passent d'abord par le réseau quand il est là : vous lisez toujours la politique de sécurité en vigueur.
  • Il se lit. C'est le fichier /sw.js, à la racine du domaine, commenté, qui s'ouvre dans un onglet.

Pour l'enlever, si vous préférez : outils de développement (F12), onglet Application, Service workers, Unregister. L'outil fonctionnera comme avant, en ligne.

Le correcteur orthographique

Le correcteur du navigateur est désactivé par défaut dans l'éditeur. Celui de base, dans Chrome, Edge et Firefox, travaille sur le poste ; mais la « vérification orthographique améliorée » de Chrome envoie le texte saisi à Google. Si vous l'activez dans Klarword, vérifiez d'abord le réglage de votre navigateur.

Ce que cette architecture ne garantit pas

  • Une extension installée dans votre navigateur peut lire la page et faire ses propres requêtes. Pour un travail sensible, utilisez un profil sans extensions.
  • Un poste compromis reste compromis : Klarword ne protège pas contre un logiciel espion installé sur la machine.
  • Le navigateur lui-même envoie des informations à son éditeur (mises à jour, rapports d'incident) selon ses propres réglages.
  • La liste des requêtes affichée dans l'outil est tenue par la page. L'onglet Réseau du navigateur est la vérification qui fait foi.

Le posséder entièrement

Le site est un dossier de fichiers statiques, des modèles compris. Il n'y a ni application, ni base de données, ni service qui tourne. On peut donc le poser ailleurs :

  • sur l'intranet de votre organisation, sans accès à Internet ;
  • sur un serveur web de votre réseau, aussi modeste soit-il ;
  • sur votre propre hébergement, si vous préférez ne dépendre de personne.

C'est le second sens du mot « souverain » : ne pas dépendre d'un domaine, d'un abonnement, d'un fournisseur de modèles ni de la santé économique d'un prestataire. Si ce site disparaissait demain, une copie posée chez vous continuerait de fonctionner à l'identique. Le paquet auto-hébergé est ce dossier, avec ses empreintes.

Comment c'est fait, en trois phrases

L'enregistrement est décodé par votre navigateur, puis transcrit par un modèle Whisper qui tourne dans l'onglet, sur la carte graphique quand elle est là (WebGPU), sur le processeur sinon (WebAssembly). Les locuteurs, le compte rendu et la traduction sont faits de la même façon, par d'autres modèles ouverts, sur le même poste. Tout ce que le navigateur télécharge vient de ce site, est épinglé à une version précise et vérifié par son empreinte avant de servir.

Un audit indépendant

Le code servi est lisible dans le navigateur, et le paquet auto-hébergé est identique à celui du site, avec son empreinte. Une organisation peut donc le faire auditer par le prestataire de son choix, ou demander à son responsable de la sécurité de le relire avant de l'autoriser. Écrivez-nous pour obtenir le paquet à auditer.

La politique de sécurité du contenu

Envoyée par le serveur avec chaque page, et répétée dans la page elle-même pour le cas où elle serait posée sur un autre serveur :

default-src 'self';
script-src 'self' 'wasm-unsafe-eval' blob:;
worker-src 'self' blob:;
style-src 'self' 'unsafe-inline';
img-src 'self' blob: data:;
media-src 'self' blob:;
font-src 'self';
connect-src 'self' blob:;
object-src 'none';
frame-src 'none';
base-uri 'none';
form-action 'none'

Les empreintes des fichiers

Chaque fichier que l'outil peut télécharger, le moteur comme les modèles, a sa taille et son empreinte SHA-256 publiées sur une page à part : les empreintes des fichiers.