Sécurité / Architecture du chiffrement

SécuritéMis à jour le 24 octobre 2026

Architecture du chiffrement

Comprendre en détail comment Parrot Scribe protège vos données

Version : Ce guide décrit la version stable 1.0.8 de Parrot Scribe. La bêta publique 1.1.0 propose des commandes différentes et certaines fonctions restent inachevées. Consultez Installation de la bêta et différences avant d'appliquer ces instructions à la bêta.

L'architecture de la version stable est décrite ci-dessous. La section sur la bêta 1.1.0 explique ses différences de stockage et de portée des suppressions.

Parrot Scribe stocke les éléments des sessions et leur index de métadonnées sous forme chiffrée au repos. La transcription et le traitement des intervenants utilisent des modèles locaux et n'envoient pas le contenu brut des sessions à un serveur. Les licences, la gestion des appareils et le téléchargement des modèles utilisent des services réseau.

Racine de confiance : Trousseau de protection des données

Parrot Scribe génère un secret maître aléatoire de 32 octets et le stocke comme élément synchronisable dans le Trousseau de protection des données de macOS.

  • Disponible lorsque le Mac est déverrouillé : macOS rend l'élément accessible après le déverrouillage du Mac par l'utilisateur.
  • Transmission par le Trousseau iCloud : si le Trousseau iCloud est activé, Apple peut transmettre le secret maître à un autre Mac connecté au même compte Apple.
  • Clé de récupération de 24 mots : la phrase de récupération reconstruit le même secret maître sans le Trousseau iCloud. Si vous choisissez Copier ou Enregistrer, l'app place la phrase dans le presse-papiers ou écrit un fichier en clair accessible uniquement à son propriétaire, à l'emplacement choisi. Parrot Scribe n'envoie pas la phrase à ses serveurs.
  • Aucun dépôt de clé chez Parrot Scribe : l'app ne possède aucune copie du secret maître côté serveur.

La clé racine actuelle est un secret logiciel protégé par le Trousseau. Les anciennes bibliothèques peuvent contenir des clés liées au Mac d'origine jusqu'à la fin de la migration vers des clés transférables.

Hiérarchie et séparation des clés

Parrot Scribe ne chiffre pas directement chaque élément avec le secret maître :

  1. HKDF-SHA256, documentation en anglais dérive une clé de chiffrement de clés à partir du secret maître.
  2. Cette clé utilise AES Key Wrap pour protéger les secrets aléatoires propres aux sessions et aux domaines de stockage dans des fichiers associés.
  3. Les clés de données AES-256-GCM sont dérivées de ces secrets avec des sels propres aux fichiers et des étiquettes propres aux domaines.

Les clés de données des transcriptions, de l'audio, des commentaires et des ensembles de données d'intervenants sont distinctes, mais les fichiers d'une même session partagent le même secret de session sous-jacent. L'exposition d'une clé de données dérivée n'expose pas les autres clés de domaine. L'exposition du secret de session expose tous les domaines de cette session. Aucune de ces séparations ne protège un Mac déverrouillé contre un logiciel exécuté avec les droits de l'utilisateur.

Chiffrement au repos

Fichiers

Les blocs de transcription, les blocs audio conservés, les empreintes vocales, les commentaires et les métadonnées des dossiers utilisent AES-256-GCM, documentation en anglais. Les formats de fichiers stockent un nonce, le texte chiffré et une étiquette d'authentification. Des données authentifiées supplémentaires lient le texte chiffré au format ou au contexte de l'élément concerné.

Les fichiers de transcription et d'audio des sessions sont des conteneurs chiffrés alimentés uniquement par ajout. Les blocs sont authentifiés indépendamment, ce qui permet une récupération bornée après un arrêt inattendu sans stocker de transcription en clair ni de fichier audio directement lisible dans la bibliothèque.

Index des métadonnées des sessions

L'index SQLite des sessions est chiffré séparément avec SQLCipher, documentation en anglais et une clé de 256 bits. SQLCipher n'est pas présenté ici comme utilisant AES-GCM : il possède son propre mécanisme de chiffrement de base de données.

Bibliothèque récupérable

Les enregistrements chiffrés conservent l'état validé des sessions et de la bibliothèque indépendamment de la base de requêtes, notamment les titres, les commentaires, les dossiers, les corrections d'intervenants et les suppressions inachevées. SQLCipher fournit l'index local de liste et de recherche. Si les enregistrements et leurs clés correspondantes sont intacts, le démarrage peut reconstruire cet index sans perdre les modifications validées.

Cet index de recherche contient une copie chiffrée supplémentaire du texte des transcriptions de toute la bibliothèque. L'accès à sa clé de base de données peut exposer ce contenu consultable même si les sessions sources possèdent des clés séparées. Une suppression nettoie donc la base gérée et son journal d'écriture anticipée, en plus de supprimer les fichiers de session et les clés. Les sauvegardes distinctes conservent leur propre périmètre de suppression.

Les bibliothèques des versions 0.4.0 et ultérieures disposent d'un parcours de mise à niveau automatique et reprenable. Gardez le Mac d'origine disponible jusqu'à la fin de toute conversion nécessaire des anciennes clés. Pour les formats plus anciens, Exporter une ancienne bibliothèque préserve les éléments lisibles dans une archive transférable, sans importer cette archive dans la Bibliothèque.

La récupération ne peut pas remplacer les fichiers ou les clés manquants. Si certaines données de session sont illisibles, la Bibliothèque peut afficher les sessions disponibles avec un avis de récupération incomplète, tout en préservant les fichiers concernés. Consultez Erreurs de récupération de la bibliothèque avant de modifier ou de supprimer des fichiers de bibliothèque.

Où les données existent en clair

Le chiffrement au repos ne signifie pas que les données ne sont jamais en clair. Le contenu audio et les transcriptions doivent exister dans la mémoire du processus pendant que Parrot Scribe les capture, les transcrit, les recherche, les affiche, les exporte ou les lit. L'exportation ou le partage peut écrire des données en clair à l'emplacement choisi ou temporairement dans un dossier accessible uniquement à son propriétaire. Les fichiers temporaires sont supprimés lors du nettoyage normal.

Données locales et transfert

Parrot Scribe ne téléverse ni ne synchronise automatiquement les transcriptions, l'audio conservé ou les métadonnées des sessions. Les licences et la gestion des appareils envoient des informations de licence et d'appareil à des services hébergés. Les téléchargements de modèles utilisent des services externes. Le contenu que vous exportez, partagez ou rendez accessible explicitement par le serveur MCP facultatif va vers la destination ou le client autorisé de votre choix.

L'élément racine du Trousseau est marqué comme synchronisable. Si le Trousseau iCloud le transmet, un autre Mac peut déchiffrer les éléments créés après la migration uniquement si vous copiez séparément la bibliothèque chiffrée avec les fichiers de clés associés correspondants. Une session copiée nécessite son fichier session.key et la clé racine correspondante, obtenue par le Trousseau iCloud ou par la restauration de la clé de récupération.

Les éléments antérieurs à la migration peuvent encore nécessiter des clés liées au Mac d'origine.

Sauvegardes et transfert vers un autre Mac

Quittez Parrot Scribe avant de copier l'intégralité de son dossier de données ~/Library/Application Support/Parrot Scribe/. Conservez ensemble les fichiers d'une même copie effectuée lorsque l'app était fermée, y compris les enregistrements chiffrés, les fichiers de clés associés et les fichiers compagnons de la base de données. Ne copiez pas uniquement une base de données ou quelques transcriptions, ne combinez pas des fichiers issus de sauvegardes de dates différentes et ne placez pas la base active dans un dossier synchronisé par iCloud Drive.

La clé de récupération de 24 mots restaure le secret maître, pas les fichiers de la bibliothèque. Une restauration nécessite les données chiffrées avec leurs fichiers de clés associés correspondants et le secret maître correspondant, transmis par le Trousseau iCloud ou restauré à partir des mots de récupération. Gardez le Mac d'origine et la sauvegarde jusqu'à la vérification du contenu restauré. Parrot Scribe ne synchronise pas le contenu de la bibliothèque entre les Mac.

Préservez les enregistrements de récupération indépendants avec les fichiers des sessions et de la bibliothèque partagée. Les noms et les métadonnées d'identité partagés des intervenants peuvent être sauvegardés. Les outils de sauvegarde qui respectent les exclusions de macOS omettent les modèles vocaux biométriques et leurs fichiers de clés associés. Une sauvegarde peut donc restaurer l'identité d'un intervenant sans restaurer sa reconnaissance vocale. Consultez Intervenants restaurés.

Portée des suppressions

Lorsque vous supprimez une session, Parrot Scribe retire d'abord ses clés actives, puis supprime son dossier et sa ligne d'index. Dans Storage v2, oublier un intervenant révoque et supprime chaque session où il apparaît, puis supprime son empreinte vocale et son entrée d'index. Cette opération supprime aussi le contenu des autres intervenants dans les sessions concernées.

La suppression cryptographique s'applique au stockage actuel géré par l'app. Une copie distincte qui contient encore l'ancien fichier de clé enveloppée et la clé racine correspondante peut toujours déchiffrer ses données.

Les enregistrements de récupération préservent l'intention de suppression après une interruption et empêchent une base locale obsolète de rétablir une session supprimée. Cela n'efface pas les sauvegardes indépendantes ni les fichiers exportés.

Bêta 1.1.0

La version publique 1.1.0-beta.1 utilise une bibliothèque distincte dans ~/Library/Application Support/Parrot Scribe/rs/library/. Elle importe la bibliothèque d'origine sans remplacer ses fichiers. Les mots de récupération encodent toujours le même secret maître, mais la nouvelle bibliothèque utilise une clé dérivée séparément et un autre format de fichier.

  • Contenu scellé : les enregistrements de session, l'audio conservé, les réglages, les dossiers, les informations d'intervenants et les autorisations de clients utilisent le chiffrement authentifié XChaCha20-Poly1305. Chaque enregistrement scellé possède un nouveau nonce aléatoire de 24 octets. Une clé commune à la bibliothèque est dérivée du secret maître avec HKDF-SHA256.
  • Petit index en clair : index.sqlite est une base SQLite ordinaire, pas SQLCipher. Il contient les identifiants et les heures de début des sessions, pas les textes des transcriptions, les titres ni les noms des intervenants. L'app peut le reconstruire à partir des enregistrements de session scellés. Les noms et les tailles des fichiers sont aussi visibles par toute personne pouvant lire le dossier de données.
  • Séparation des clés différente : la bêta n'utilise pas les clés enveloppées distinctes par session de l'app stable. Supprimer une session retire ses enregistrements et son audio actuels gérés par l'app tout en conservant la clé de la bibliothèque. Ce n'est pas une révocation cryptographique de clé par session. Un enregistrement chiffré copié peut rester déchiffrable avec la clé racine correspondante.
  • Originaux et sauvegardes : une suppression dans la bêta ne supprime ni la bibliothèque d'origine préservée, ni les sauvegardes indépendantes, ni les fichiers exportés. Gérez ces copies selon votre propre politique de conservation. Ne supposez pas que supprimer une session de la bêta efface toutes ses copies antérieures.

Le chiffrement authentifié rejette les données chiffrées modifiées et les clés incorrectes, mais ne garantit généralement ni l'emplacement d'origine ni la version la plus récente d'un fichier valide. Un logiciel pouvant modifier les fichiers de la bibliothèque avec les droits de l'utilisateur peut déplacer de l'audio chiffré valide entre les emplacements d'enregistrement de cette même bibliothèque ou réintroduire une ancienne version chiffrée valide. Le chiffrement au repos ne protège pas contre cet accès aux fichiers.

Le secret maître utilise l'identité de production du Trousseau de protection des données. Il est disponible lorsque le Mac est déverrouillé et marqué comme synchronisable. La transmission de la clé racine par le Trousseau iCloud ne copie toujours pas le contenu de la bibliothèque. Une restauration nécessite une copie complète et cohérente des données et la bonne clé racine. Les mots de récupération ne peuvent pas recréer les fichiers manquants.

Les données doivent toujours exister en clair en mémoire pendant le traitement et aux destinations vers lesquelles vous les exportez explicitement ou les partagez avec un client IA. Le chiffrement local n'empêche pas un client IA cloud autorisé d'envoyer des transcriptions à son fournisseur. Ces limites s'appliquent même si le mécanisme de stockage de la bêta diffère de celui de la version stable.

Pour approfondir