Les fichiers data/*.json servis sont des modèles cliniques statiques (schéma psynote.library.v1) — des canevas vides, jamais des notes remplies. Le texte des notes n'est transmis au serveur que pour la reformulation (/api/rewrite) et la synthèse des rapports (/api/mini-report), endpoints même origine : le texte est traité en mémoire, jamais stocké ni journalisé, et aucune note ne figure dans les journaux. Le PDF de rapport n'embarque que les rubriques relues, jamais les notes sources.
Le texte des notes reste dans le navigateur de l'utilisatrice : stockage local chiffré (IndexedDB, chiffrement AES-256-GCM, dérivation PBKDF2-SHA256), durée de vie 8 heures après la dernière sauvegarde, même origine et même profil de navigateur. La phrase de passe et le texte en clair ne sont jamais persistés. Rien de tout cela ne transite par le serveur.
Par défaut, le serveur utilise un moteur déterministe local (correction de forme / extraction, sans appel externe). Si un moteur IA autorisé est configuré (PSYNOTE_AI_ENDPOINT / PSYNOTE_AI_KEY), le texte de note lui est transmis pour reformulation/synthèse — à n'activer que vers un service conforme à la Loi 25. Un pont documentaire (NIM) existe dans le dépôt mais n'est pas branché et n'envoie jamais de note. Aucun suivi publicitaire, aucun traceur.
Les réponses de modèles et d'interface sont servies avec cache-control: no-store, x-content-type-options: nosniff et referrer-policy: no-referrer.
Contact : infodev@mmcco.co.