Sur cette page
Architecture de sécurité
Spécifications techniques de nos protocoles de chiffrement côté client (CSE) et de notre infrastructure de stockage sans confiance.
Bases de sécurité
- Chiffrement de bout en bout dans votre navigateur—chiffré localement avant envoi, le clair ne quitte pas votre appareil.
- La clé de chiffrement/déchiffrement est générée dans votre navigateur et intégrée au lien partagé. PrivateNote.ai ne la reçoit ni ne la stocke.
- Nos serveurs ne stockent que du chiffré et ne détiennent pas les clés nécessaires au déchiffrement.
Chiffrement côté client
Les notes sont chiffrées localement en mémoire du navigateur avant la transmission avec la Web Crypto API. Le serveur ne voit que le blob chiffré obtenu.
Gestion des clés
Les notes privées standard encodent la clé brute de 256 bits en Base64url dans le fragment d’URL (#...). Les notes protégées par mot de passe enveloppent la clé de contenu avec des clés dérivées via Argon2id.
Le lien partagé donne accès à la note. Ne le partagez qu’avec les destinataires prévus.
Cryptographie
Chiffrement symétrique
AES-256-GCM
Chiffrement authentifié avec tags 128 bits et données authentifiées supplémentaires (AAD) liant l’id de note, l’expiration et les limites de lecture. Des clés 256 bits restent une barrière pratique même face à une recherche quantique de clé de type Grover.
IV cryptographique de 12 octets
Des vecteurs d'initialisation uniques empêchent la reconnaissance de motifs entre plusieurs notes.
Dérivation de clé (KDF)
Argon2id (profil v2)
Les notes protégées par mot de passe utilisent Argon2id avec des paramètres résistants en mémoire (time=3, memory=64 MiB, parallelism=1) pour augmenter le coût des attaques par force brute, notamment sur GPU/ASIC.
Sel cryptographique de 16 octets
Un sel unique par note protège contre les attaques par tables arc-en-ciel.
Infrastructure et sécurité opérationnelle
Stockage sous juridiction de l’UE
Les données d’authentification, les notes chiffrées et les enregistrements opérationnels sont stockés dans une infrastructure sous juridiction de l’UE.
Gestion d'état atomique
Cloudflare Durable Objects fournit une cohérence atomique pour la logique de lecture unique, empêchant les conditions de concurrence et la double consommation.
Aucun cookie de suivi
API sans état. Aucun pixel publicitaire ou de suivi n'est jamais chargé.
Vérification Turnstile
La vérification des requêtes humaines empêche l'énumération des notes par force brute.
Chaîne d’approvisionnement et intégrité
Comme le chiffrement s’exécute dans votre navigateur, le bundle chargé fait partie du modèle de confiance. Hébergement statique, builds CI épinglés et garde-fous navigateur limitent volontairement ce qui peut s’exécuter—pas une garantie contre un client compromis, mais des limites assumées.
Déploiement et garde-fous navigateur
- Déploiements statiques Cloudflare Pages avec assets de build hashés depuis la CI
- CSP HTTP et en-têtes de sécurité ; listes blanches seulement pour les fonctionnalités requises (Turnstile, CDN IA locale, WASM)
- Installations reproductibles via package-lock.json (npm ci dans les pipelines de déploiement)
- HTTPS avec HSTS (preload) en périphérie via Cloudflare
- Pas de scripts pub ou analytics ; JS tiers surtout Turnstile et chargements CDN IA optionnels si vous utilisez ces fonctions
Traitement des données IA
L’IA est optionnelle lors de la rédaction d’une note—vous n’en avez pas besoin pour créer un lien sécurisé. Si vous l’utilisez, choisissez entre l’IA privée sur l’appareil et Cloud Assist avec consentement ; les limites de confidentialité diffèrent.
IA privée (sur l’appareil)
Confidentialité
S’exécute dans votre navigateur (WebLLM). Le texte du brouillon n’est pas envoyé à PrivateNote.ai ni à un tiers pour l’inférence.
Après enregistrement
Votre texte est traité localement. Seule la note chiffrée est envoyée—l’invite IA ne transite pas par nos serveurs.
Configuration requise
Quand c’est possible, nous chargeons Qwen3 0.6B ou Gemma 2 2B sur ordinateurs compatibles WebGPU. Prévoyez jusqu’à ~1 Go de stockage navigateur pour les poids du modèle et assez de mémoire GPU. Souvent impossible sur téléphone ou portable modeste—utilisez Cloud Assist ou rédigez sans IA.
Premier chargement
La première utilisation peut télécharger des poids quantifiés (jusqu’à ~1 Go) depuis des CDN publics (p. ex. Hugging Face ou jsDelivr)—séparément du chiffré de la note. Les visites suivantes peuvent réutiliser un cache local.
Cloud Assist (hébergé)
Confidentialité
S’exécute sur Cloudflare Workers AI (Meta Llama 3.2 3B Instruct). Consentement requis—le clair du brouillon quitte votre appareil. Rien n’est envoyé tant que vous n’avez pas confirmé Cloud Assist.
Après enregistrement
Seule la note chiffrée est envoyée. Lors de la rédaction, votre invite transite par le Worker PrivateNote.ai en clair—nous ne la stockons pas, mais notre edge la traite pour cette requête avant Cloudflare.
Configuration requise
Tout navigateur moderne avec connexion réseau—pas de GPU ni de grand stockage local. Utilisé quand l’IA privée ne peut pas tourner sur votre appareil ou si vous choisissez la rédaction hébergée.
Premier chargement
Aucun. Pas de téléchargement de modèle, pas d’installation, pas de cache local—acceptez Cloud Assist et envoyez un brouillon quand vous y êtes invité.
Modèle de menace et limites
Un bon modèle de menace précise ce que nous protégeons, contre qui, sous quelles hypothèses, quels contrôles s’appliquent—and ce que nous n’assumons pas. Les protections détaillées sont plus haut (la section 4 résume) ; les sections 1–3 et 5 fixent les limites.
Ce que nous protégeons
Contenu en clair des notes
Clés de chiffrement
Garanties de lecture unique
Expiration & limites de lecture
Données de compte
Identifiants d’authentification
Hypothèses
- L’appareil et le navigateur de l’utilisateur sont de confiance lors du chiffrement ou déchiffrement.
- Le navigateur implémente correctement Web Crypto.
- Le TLS vers notre origine fonctionne comme prévu.
- Le code applicatif livré n’a pas été modifié de façon malveillante (voir Chaîne d’approvisionnement).
- Le lien de note n’est partagé qu’avec les destinataires prévus.
Ce que nous couvrons
- Compromission serveur ou base (chiffré au repos uniquement)
- Administrateurs malveillants ou curieux accédant aux notes stockées
- Violation chez le fournisseur de stockage ou d’infrastructure
- Interception du trafic des notes (TLS plus chiffré)
- Énumération automatisée et abus (Turnstile, limitation de débit)
- Force brute sur notes protégées par mot de passe (Argon2id)
- Tentatives de prise de compte (sessions HttpOnly, rotation à la connexion, limites, TOTP optionnel, step-up pour actions sensibles)
- Second accès ou relecture de notes à lecture unique (consommation atomique à la première ouverture)
Ce que nous ne couvrons pas
- Logiciels malveillants sur les appareils expéditeur ou destinataire
- Extensions de navigateur malveillantes
- Systèmes d’exploitation compromis
- Logiciels de capture ou d’enregistrement d’écran
- Surveillance du presse-papiers
- Partage de l’URL complète de la note (y compris la clé #fragment) via des canaux non sécurisés ou avec des personnes non autorisées
- Compromission du JavaScript livré
- Phishing ciblant les utilisateurs
- Ingénierie sociale
- Cloud Assist si vous optez in (traitement du brouillon en clair par un tiers)
Intégrité technique
Nous privilégions la clarté et les garanties de sécurité mesurables plutôt que les promesses marketing.