Sécurité

Chiffré avant de quitter votre appareil

Vos notes sont chiffrées sur votre appareil, avec des clés que seuls vous et les agents que vous connectez pouvez déverrouiller. Voici comment fonctionnent les clés, ce que nos serveurs voient et ne voient pas, où vos données sont stockées, et les limites que nous n’avons pas résolues.

Les clés

Votre mot de passe ne quitte jamais votre appareil.

À l’inscription, votre navigateur crée vos clés. Votre mot de passe devient une clé maîtresse sur votre appareil, avec Argon2id (au moins 3 passes sur 64 Mio de mémoire). Elle donne deux valeurs : un hachage de connexion, qui est tout ce que nous recevons quand vous vous connectez (et nous n’en stockons qu’un hachage), et la clé qui déverrouille les clés de votre compte.

Chaque espace de travail a sa propre clé aléatoire, et tout ce qu’il contient est chiffré sous cette clé avec XChaCha20-Poly1305. Vous et chaque agent que vous connectez en recevez une copie, scellée pour la paire de clés de son détenteur et signée par vous, pour que notre serveur ne puisse pas glisser une clé à lui. Le tout repose sur libsodium, sans primitive cryptographique maison.

Sur vos appareils

Votre mot de passeArgon2id

Devient votre clé maîtresse, sur votre appareil. Ni l’un ni l’autre ne nous est jamais envoyé.

Clé de récupération

32 octets aléatoires, affichés une seule fois à sa création, pour le jour où vous oubliez votre mot de passe. Jamais envoyée chez nous.

chacun déverrouille une copie verrouillée de

Clés du compteX25519Ed25519

Créées dans votre navigateur à l’inscription : une paire de clés ouvre les clés de vos espaces de travail, l’autre signe vos modifications.

ouvre sa copie scellée de

Clé de l’espace de travailXChaCha20-Poly1305

Une clé aléatoire par espace de travail. Après la révocation d’un agent, ce qui est écrit ensuite en utilise une nouvelle.

sa propre copie

un agent connecté a sa propre copie de la clé de l’espace de travail

Clés de l’agentX25519Ed25519

Créées par la CLI knowtarium sur l’ordinateur que vous connectez : l’une ouvre sa propre copie scellée de la clé de l’espace de travail, l’autre signe ses modifications une fois que vous vous en portez garant.

chiffre tout ce qu’il contient

Texte des notes, titres, noms de fichiers, propriétés, tags et liens, noms des dossiers et des espaces de travail, commentaires, historique et pièces jointes

votre contenu ne sort que chiffré

Sur nos serveurs

  • Vos notes, noms, commentaires et pièces jointes, chiffrés
  • Les clés de votre compte, verrouillées par votre mot de passe et une seconde fois par votre clé de récupération
  • Chaque copie scellée d’une clé d’espace de travail, signée par vous
  • Les clés publiques et les signatures
  • Des hachages à sens unique qui vérifient votre mot de passe et votre clé de récupération

Rien de tout cela n’ouvre vos notes sans une clé qui n’existe que sur vos appareils.

Comment les clés s’articulent : votre mot de passe et votre clé de récupération déverrouillent chacun les clés de votre compte ; les clés de votre compte ouvrent la clé de l’espace de travail ; chaque agent connecté ouvre sa propre copie avec ses propres clés ; la clé de l’espace de travail chiffre tout ce que contient l’espace de travail. De vos clés, nos serveurs ne stockent que des copies verrouillées, des clés publiques, des signatures et des hachages à sens unique ; votre contenu ne leur parvient que chiffré.

Ce que nous voyons

Ce qui parvient à nos serveurs.

Ce que nous voyonsCe que nous ne voyons jamais
Votre compte

Ce que nous voyons

  • Votre adresse e-mail, et si vous l’avez confirmée
  • Des hachages à sens unique qui vérifient votre mot de passe et votre clé de récupération, jamais le mot de passe ni la clé
  • Vos clés publiques, les paramètres de dérivation de votre mot de passe (son sel et sa force), et vos clés privées, verrouillées pour que nous ne puissions pas les ouvrir
  • Vos sessions : quand chacune a commencé, a été active pour la dernière fois et se termine, et le user-agent du navigateur, sans adresse IP
  • Quand votre compte a été actif pour la dernière fois
  • Les réglages de votre application, comme votre thème de couleurs

Ce que nous ne voyons jamais

  • Votre mot de passe, et la clé maîtresse qui en est tirée
  • Votre clé de récupération
  • Vos clés privées, déverrouillées
Facturation

Ce que nous voyons

  • Votre offre, l’état de votre abonnement et vos paiements (montants, devise et dates)
  • Votre identifiant client chez Polar

Ce que nous ne voyons jamais

  • Les données de votre carte : Polar encaisse le paiement sur ses propres pages
Vos notes

Ce que nous voyons

  • L’espace de stockage que vous utilisez, et la taille de chaque élément chiffré
  • Les numéros de version, les horodatages, et la génération de la clé de l’espace de travail qu’utilise chaque élément
  • Des décomptes : versions, commentaires, vérifications, modifications en attente et fragments de pièces jointes
  • Combien de temps chaque espace de travail conserve son historique

Ce que nous ne voyons jamais

  • Le texte, les titres et les noms de fichiers des notes
  • Les propriétés, les tags et les liens
  • Les pièces jointes, avec leurs noms et leurs types
  • Les commentaires et le détail de l’historique
  • Ce qui a changé d’une version à l’autre
Espaces de travail et dossiers

Ce que nous voyons

  • Les identifiants de vos espaces de travail, dossiers, notes et pièces jointes, et leur imbrication
  • Chaque modification d’un dossier (qui l’a faite, quand, et où il a été déplacé, par identifiant), avec son nom avant et après, chiffré
  • Quel dossier est la racine de l’espace de travail, par identifiant

Ce que nous ne voyons jamais

  • Les noms de vos espaces de travail et de vos dossiers
Agents

Ce que nous voyons

  • Quelle personne ou quel agent connecté a fait chaque modification, et de quel type (une modification, une suppression, une approbation), par identifiant, avec la signature des modifications signées
  • Quelles notes, par identifiant, chaque agent ou navigateur récupère, et quand, au moment où la requête arrive (l’API de synchronisation ne l’enregistre pas)
  • Si chacune des vérifications de vos agents a été appliquée ou écartée
  • L’accès de chaque agent (lecture ou lecture-écriture, et quels dossiers, par identifiant), ses permissions et chaque modification de celles-ci que vous avez signée, ses clés publiques, et quand il a été connecté, utilisé pour la dernière fois ou révoqué
  • Quels dossiers vous demandent d’abord votre accord, par identifiant, et quand vous avez changé ce réglage
  • Quelles notes sont vos instructions pour les agents, par identifiant, dans une liste que vous avez signée, et quand vous ou une modification acceptée les mettez à jour

Ce que nous ne voyons jamais

  • Les noms de vos agents
  • Le contenu de ce qu’un agent a lu, écrit ou proposé
  • Ce que disent vos instructions pour les agents
  • Ce qu’ont trouvé les vérifications de vos agents et quelles notes elles ont comparées
Le Web Clipper

Ce que nous voyons

  • Quel dossier sert de boîte de réception à chaque espace de travail, par identifiant, et la clé publique de la boîte de réception, avec votre signature
  • Pour chaque extension que vous connectez : un hachage de son jeton d’accès, sa clé publique de signature avec votre signature, l’espace de travail dans lequel elle enregistre (par identifiant), et quand elle a été connectée, utilisée pour la dernière fois, a enregistré une page pour la dernière fois et a été déconnectée
  • Pour chaque page en file d’attente : sa taille chiffrée, quand elle est arrivée et quelle extension l’a envoyée. Elle est supprimée de la file une fois classée comme note

Ce que nous ne voyons jamais

  • Le lien, le titre, la note et la catégorie de chaque page que vous enregistrez
  • Le nom de l’extension
Réseau et recherche

Ce que nous voyons

  • Votre adresse IP, qui parvient à nos serveurs à chaque requête : l’API de synchronisation ne l’enregistre pas (ses limites de débit ne conservent qu’un hachage à clé), et Vercel, qui sert l’application web, la conserve brièvement dans ses journaux serveur

Ce que nous ne voyons jamais

  • Vos recherches et votre graphe : les deux sont construits sur votre appareil

Deux prestataires en voient un peu plus. Les notifications que Polar nous envoie contiennent aussi votre nom et votre adresse de facturation, que nous ne stockons pas, et nous pouvons les voir dans le tableau de bord de Polar. Resend, qui envoie les e-mails de votre compte, reçoit votre adresse et le contenu de chaque e-mail.

L’extension de navigateur Web Clipper ne détient aucune clé qui lit vos notes : chaque page qu’elle enregistre est chiffrée dans votre navigateur. La politique de confidentialité indique ce qu’elle lit et ce que nous stockons.

La politique de confidentialité liste les mêmes données, avec la raison pour laquelle nous les conservons et pour combien de temps.

Où elles vivent

Stockées dans l’UE.

Les bases de données, les buckets de stockage et les objets d’espace de travail de notre API de synchronisation sont conservés par Cloudflare dans sa juridiction UE : les bases de données et les buckets y ont été créés, et chaque espace de travail vit dans un Durable Object créé là aussi. Notre vérification de déploiement refuse toute configuration qui placerait les espaces de travail ou les buckets ailleurs. De courts journaux des échecs et des notifications de facturation inhabituelles de Polar (ce qui s’est passé et à quel endroit de notre code, avec des identifiants techniques comme l’identifiant de requête de Cloudflare ou l’identifiant de notification de Polar ; jamais d’adresses IP ni votre contenu) sont conservés par la journalisation de Cloudflare, que ce réglage ne couvre pas.

Cela concerne le lieu de stockage des données. Cloudflare, une entreprise américaine, fait tourner l’API de synchronisation pour nous en tant que sous-traitant. Ce site et l’application web sont servis par Vercel, les e-mails du compte sont envoyés par Resend, et Polar vend les offres payantes en tant que merchant of record (vendeur officiel). Vos notes ne leur parviennent que chiffrées, si elles leur parviennent ; la politique de confidentialité indique ce que reçoit chacun d’eux.

  • Juridiction UE

    Bases de données D1

    Votre compte, vos clés sous forme verrouillée, vos agents et extensions de navigateur connectés, et l’état de votre facturation.

  • Juridiction UE

    Buckets R2

    Les versions chiffrées de vos notes, les modifications proposées par vos agents et vos pièces jointes.

  • Juridiction UE

    Durable Objects

    Un par espace de travail : ses dossiers, versions, commentaires et entrées d’historique, et les pages en attente venant du Web Clipper, par identifiant et chiffrés.

Agents

Votre agent déchiffre sur votre ordinateur.

  • 01

    Déchiffré sur votre ordinateur

    La connexion, avec ou en le demandant à votre agent, crée les clés propres à l’agent sur votre ordinateur et obtient une copie de la clé de l’espace de travail scellée pour elles. Le serveur MCP que fait tourner votre agent y déchiffre les notes. Vos notes ne transitent par nos serveurs que chiffrées.

  • 02

    Vous vous en portez garant

    Quand vous approuvez un agent, vous signez sa clé. Chaque modification qu’il enregistre est signée avec cette clé, affichée comme étant la sienne, et s’annule en un clic. Dans les dossiers réglés sur Ask me first, ses modifications vous attendent plutôt. Il ne supprime ou ne réorganise qu’avec les permissions que vous lui donnez, chacune signée par vous.

  • 03

    Son fournisseur d’IA voit ce qu’il lit

    Tout ce que lit votre agent part chez son fournisseur d’IA (par exemple Anthropic ou OpenAI), selon les conditions de ce fournisseur. Nous ne faisons tourner aucun modèle d’IA, donc rien n’est envoyé à un modèle en notre nom.

  • 04

    Révocable à tout moment

    Révoquer un agent lui ferme aussitôt l’accès à nos serveurs, et ce qui est écrit ensuite utilise une nouvelle clé d’espace de travail que l’agent n’a pas. Il garde ce qu’il a déjà lu, ainsi que l’ancienne clé.

Les connecteurs distants ne sont pas encore là. Les connecteurs pour claude.ai et ChatGPT sont prévus pour tourner dans une enclave attestée : un serveur scellé dont votre navigateur vérifie le code avant de lui remettre une clé. Aucun n’existe aujourd’hui, donc aucun serveur Knowtarium ne déchiffre vos notes.

Limites connues

Ce que le chiffrement ne peut pas résoudre.

Nous servons le code de l’application web

Chaque fois que vous ouvrez l’application web, votre navigateur charge depuis chez nous le code qui chiffre vos notes (il est hébergé chez Vercel). Si ce code était altéré, chez nous ou chez notre hébergeur, il pourrait divulguer vos clés, et vous auriez du mal à vous en rendre compte. Une Content Security Policy stricte ne laisse l’application exécuter que ses propres scripts et ne communiquer qu’avec elle-même et notre API de synchronisation (et, pendant que vous connectez un agent, avec la CLI sur votre ordinateur), ce qui bloque les scripts injectés, mais elle ne peut pas vous protéger d’un mauvais déploiement. Il n’existe pas encore de moyen de vérifier le code qu’exécute votre navigateur.

Perdez les deux, et tout est perdu

Si vous perdez à la fois votre mot de passe et votre clé de récupération, nous ne pouvons pas déchiffrer vos notes, et vous non plus (seuls les agents déjà connectés le peuvent encore, jusqu’à ce que vous repartiez de zéro). Vous pouvez repartir de zéro avec la même adresse e-mail, mais cela supprime tous les espaces de travail du compte.

Les métadonnées que nous ne pouvons pas cacher

Votre e-mail, les tailles, les horodatages, les décomptes, l’imbrication de vos dossiers et de vos notes, quelles notes sont récupérées et quand, et quel agent a modifié quoi. Quelqu’un qui aurait accès à nos serveurs pourrait savoir quand et combien vous travaillez, jamais ce que vous avez écrit.

Un agent révoqué garde l’ancienne clé

Une nouvelle clé ne protège que ce qui est écrit après une révocation : rien n’est chiffré à nouveau. Ce qui a été écrit avant reste sous l’ancienne clé : une note jusqu’à ce qu’elle change et que la durée d’historique de son ancienne version soit écoulée, et les commentaires, les entrées d’historique et les pièces jointes aussi longtemps qu’ils sont conservés. Un agent révoqué pourrait encore les lire s’il mettait la main sur ces copies chiffrées, que nos serveurs ne lui donnent plus.

Les dossiers et les permissions sont appliqués par notre serveur

Un agent que vous limitez à certains dossiers, ou que vous n’autorisez pas à supprimer, détient toujours la clé de l’espace de travail ; c’est notre serveur qui lui tient les autres dossiers hors de portée et refuse ce que vous n’avez pas autorisé. Les agents ne suppriment jamais les fichiers joints, et chaque suppression, déplacement ou modification de dossier est signé par l’agent, vérifié par l’application au regard des permissions que vous avez signées, et listé avec Undo pendant deux semaines, ou pendant la durée de votre historique si elle est plus courte (une note supprimée revient tant que votre historique la conserve). Leurs conventions leur disent de ne supprimer ou réorganiser que si vous le demandez, mais c’est une consigne, pas un verrou. Si un dossier doit rester hors de portée d’un agent quoi qu’il arrive, gardez-le dans un autre espace de travail.

Les instructions guident, elles n’imposent rien

Vos instructions de dossier disent à un agent comment écrire, mais le modèle peut encore se tromper, et un client modifié pourrait les ignorer. Ce que nous imposons, c’est qui les modifie : notre serveur refuse qu’un agent y écrive directement, et un agent n’applique que les instructions que vous avez signées. Un agent limité à certains dossiers lit aussi les instructions des dossiers au-dessus, alors n’y mettez rien qu’il ne devrait pas voir.

Open source

Lisez le code.

Le chiffrement, la gestion des clés, le client de synchronisation, la CLI et le serveur MCP sont open source sous licence MIT, dans knowtarium-sdk. L’application web est construite sur le même paquet. Chaque version de la CLI depuis la 0.1.0 est publiée sur npm depuis ce dépôt avec sa provenance, npm enregistre donc quel build l’a produite.

Aucun audit de sécurité indépendant n’a encore été réalisé. Si vous trouvez un problème, merci de le signaler en privé par e-mail à support@knowtarium.com avec « Security » dans l’objet.