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 plus bas. 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

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. Tout vient de ce site, et rien d'autre n'est demandé : ni police, 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 qui n'est jamais envoyé

Ni l'audio, ni la vidéo, ni le texte transcrit, ni vos corrections, ni le nom de vos fichiers. Il n'existe pas de compteur, pas de journal d'usage, pas de télémétrie. Le serveur ne sait pas que vous avez transcrit quelque chose.

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é.

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 jamais rangé. 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.

Une seule chose de votre travail est gardée d'une visite à l'autre : le glossaire que vous avez écrit, dans le stockage local du navigateur, sur ce poste. Il ne quitte pas le poste ; vous l'exportez vous-même 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 mode hors ligne

Un travailleur de service garde une copie des pages et du code de l'outil, pour qu'il se recharge réseau coupé. Il ne fait aucune requête de lui-même, ne met rien en attente pour plus tard, et ne touche qu'aux fichiers de ce site. Les pages passent d'abord par le réseau quand il est là, pour que vous lisiez toujours la politique de sécurité en vigueur.

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.

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, avec sa taille et son empreinte SHA-256. Les modèles viennent des dépôts onnx-community sur Hugging Face, épinglés à une révision précise, et sont servis par ce site. Pour vérifier un fichier : sha256sum sous Linux, shasum -a 256 sous macOS, certutil -hashfile fichier SHA256 sous Windows.

FichierTailleSHA-256
Moteur de calcul (onnxruntime-web)
ort/ort-wasm-simd-threaded.asyncify.mjsmoins de 1 Mo0966b6105cd936744498aa60df7a22cbd47af3374dbc64a9ab561c08a71e3611
ort/ort-wasm-simd-threaded.asyncify.wasm27 Mo49871f5a4409519797e127440868a6d1923339d9185907f301a5b2a1d90af082
Rapide · onnx-community/whisper-base · révision 1846881b6b3a
config.jsonmoins de 1 Mof4d0608f7d918166da7edb3e188de5ef1bfe70d9802e785d271fd88111e9cf4b
generation_config.jsonmoins de 1 Mo61070cf8de25b1e9256e8e102ded49d8d24a8369ed36ef84fdf21549e68125a0
onnx/decoder_model_merged_quantized.onnx54 Mofa3ef9902734ce5ae6f9ef2bdb2ba9a6c4b5785b09f4f420ce036573dc9d090b
onnx/encoder_model_quantized.onnx23 Mo5862993336bf33acd23736071aae2b32261d3b1b2f37780194460d4ef974dd46
preprocessor_config.jsonmoins de 1 Moa6a76d28c93edb273669eb9e0b0636a2bddbb1272c3261e47b7ca6dfdbac1b8d
tokenizer.json2 Mo27fc476bfe7f17299480be2273fc0608e4d5a99aba2ab5dec5374b4482d1a566
tokenizer_config.jsonmoins de 1 Mo2e036e4dbacfdeb7242c7d4ec4149f4a16e86026048f94d1637e3a8ee9c6a573
Équilibré · onnx-community/whisper-small · révision 36050c46d777
config.jsonmoins de 1 Mo457854d452f17661e197d74aee12b8e74fb75ba30ebfaa7426d0d61ea1e08a18
generation_config.jsonmoins de 1 Mof538b28220c6a6d6f1af1458d4141cacb4ef4963df3de98a19490440c412ddf0
onnx/decoder_model_merged_q4.onnx233 Mo795c61b344576719c2b249cc9911c78b4cc552c8c6a5407be21a3380a0791b13
onnx/decoder_model_merged_quantized.onnx157 Moec07c3cbb64172c39791e26ee870a65ac22b458c36722bfe2776b3dbf741e0c9
onnx/encoder_model_q4.onnx66 Mo9f088ad0fe15ba2cf094c9fb22ac7fe1111fc9ef317c1e4d1f6a3bca38a931ba
onnx/encoder_model_quantized.onnx92 Moa43a83f3c5361cd591cfa7c36f14b43cf7cb22f47a415cc14a8d557be800fa92
preprocessor_config.jsonmoins de 1 Moa6a76d28c93edb273669eb9e0b0636a2bddbb1272c3261e47b7ca6dfdbac1b8d
tokenizer.json2 Mo27fc476bfe7f17299480be2273fc0608e4d5a99aba2ab5dec5374b4482d1a566
tokenizer_config.jsonmoins de 1 Mo2a4c4281cf9f51ac6ccc406fdc711a087afe6530f671fa7b80953edc498275ce
Précis · onnx-community/whisper-large-v3-turbo · révision 360ebcde2559
config.jsonmoins de 1 Mo35cd83669f75bc2867f3b3a4461850392d5e308cd6ea951c3700539883c28df1
generation_config.jsonmoins de 1 Mo16f95291d2f47c944d3c2b19390bba7965666555c1ea2a0bdc850d1fab45612f
onnx/decoder_model_merged_q4.onnx334 Mo8b933ac24074a24a1635084d06a4ed37e387ef22d980f184a5fc27418e9ceeb8
onnx/decoder_model_merged_q4f16.onnx194 Mo45981cdd958a4c8e1447839850d2e6e27e30974ccbe31b4a1e5ebe9ad8965a5f
onnx/encoder_model_q4.onnx425 Mo7e64b20dd7b556cb7a2c1c65d9fbf31af985323c006f993d2a9dd10083547d78
onnx/encoder_model_q4f16.onnx370 Moaafd3383f1aa372db0825a885730ebbbae7e34871ec0460428663c69641a63d0
preprocessor_config.jsonmoins de 1 Mo7ccc62c6f2765af1f3b46c00c9b5894426835a05021c8b9c01eecb6dfb542711
tokenizer.json2 Mo6d8cbd7cd0d8d5815e478dac67b85a26bbe77c1f5e0c6d76d1ce2abc0e5f21ca
tokenizer_config.jsonmoins de 1 Mo844b642c73a91359722f47b35705f7174686df33d252695d8572cf9ac03a6389
Locuteurs, tours de parole · onnx-community/pyannote-segmentation-3.0 · révision 733a93b6473d
config.jsonmoins de 1 Mo5a4c6bb4f49f1b47c9bd398aac78b8cd4a9f30a0ff91b5c2dc68d05e13e160cf
onnx/model.onnx6 Mo057ee564753071c0b09b5b611648b50ac188d50846bff5f01e9f7bbf1591ea25
preprocessor_config.jsonmoins de 1 Modfc7d35a3895f8997eb94521e28b1921c03480a34fa9bcbb6bef1f1934f81480
Locuteurs, empreinte vocale · onnx-community/wespeaker-voxceleb-resnet34-LM · révision 6a61a1833ff2
config.jsonmoins de 1 Mo4a65a1544d2085d7819632f130583d83f6815f49ef6c8ba6c8eb460bd4085041
onnx/model.onnx27 Mo3955447b0499dc9e0a4541a895df08b03c69098eba4e56c02b5603e9f7f4fcbb
preprocessor_config.jsonmoins de 1 Moa81bbded0530b1bf5c3d395d2c5c7c266686e348be5989171290ace960f24ec2