Soyez parmi les premiers quand Gaavala arrivera sur le Chrome Web Store. Rejoindre la liste d'attente
Comment Gaavala protège l'audio de vos réunions : une architecture pensée pour la confidentialité
Gaavala envoie l’audio des réunions directement du navigateur à Soniox pour la transcription et la traduction. Son backend traite les comptes, les abonnements et les autres données déclarées, mais ne relaie pas cet audio. L’historique des transcriptions reste sept jours sur votre appareil. Ce guide explique ces flux distincts et leur inspection.

Le principe de confidentialité fondamental
La plupart des outils de traduction SaaS suivent un flux de données familier :
- Votre navigateur capture l'audio de la réunion
- L'audio est téléversé vers le backend de l'éditeur
- Le backend de l'éditeur relaie l'audio vers un moteur de reconnaissance vocale
- Les transcriptions reviennent via le backend de l'éditeur
- Les serveurs de l'éditeur journalisent, mettent en cache ou conservent souvent l'audio en chemin
Chaque saut de cette chaîne est une frontière de confiance. Chaque saut est un endroit où un bug de journalisation, une fuite d'identifiants, une réquisition judiciaire ou un ingénieur malveillant pourrait exposer le contenu de votre réunion. Plus il y a de parties qui touchent l'audio, plus il est difficile de prouver à un auditeur que personne ne l'a conservé.
Gaavala élimine entièrement l'étape de relais. Le flux de données est le suivant :
- Votre navigateur capture l'audio de la réunion depuis l'onglet
- Votre navigateur ouvre un WebSocket direct vers Soniox
- L'audio circule directement sur ce WebSocket
- Soniox renvoie les transcriptions directement à votre navigateur
- Le backend de Gaavala n'intervient jamais
L'extension Chrome qui s'exécute sur votre machine est le seul morceau de notre code qui touche l'audio de votre réunion — et elle ne nous envoie pas cet audio.
Pourquoi nous avons choisi cette architecture
Quand nous avons reconstruit Gaavala sous forme d'extension Chrome, nous avons pris une décision d'architecture délibérée : l'extension authentifierait les utilisateurs via notre backend, gérerait l'état de l'abonnement et servirait des métadonnées — mais elle ne serait jamais sur le chemin de l'audio. Le raisonnement était direct :
- Écarter l’audio des réunions du backend de Gaavala réduit un chemin de traitement ; cela ne dispense pas d’évaluer le service Gaavala, Soniox, les autorisations du navigateur et le stockage local des transcriptions. Les flux de compte, de facturation, d’échantillon vocal et de diagnostic restent à examiner.
- Rayon d'impact d'une brèche : une brèche dans un serveur qui traite de l'audio est fondamentalement pire qu'une brèche dans un serveur qui traite des métadonnées textuelles. Nous préférons que nos systèmes les plus sensibles manipulent les données les moins sensibles.
- Latence : chaque saut de relais ajoute un temps d'aller-retour. Le streaming direct du navigateur vers Soniox supprime un saut entier, ce qui nous donne une latence de sous-titres nettement meilleure.
- Des coûts alignés sur la confidentialité : faire tourner notre propre relais audio signifierait payer de la bande passante et du calcul sur chaque réunion. Ne pas en faire tourner économise de l'argent et protège les clients. Quand les incitations sont alignées, l'architecture a tendance à rester honnête.
Le flux de données en détail
Regardons ce qui se passe réellement quand vous démarrez une transcription dans une réunion.
Étape 1 : l'authentification
Lors de votre première connexion à Gaavala, l'extension utilise l'API chrome.identity.launchWebAuthFlow de Chrome pour effectuer un flux OAuth Authorization Code avec Google ou Microsoft. Le fournisseur d'identité renvoie un code d'autorisation à votre navigateur, que l'extension échange auprès de notre backend contre un JWT de session Gaavala. Ce JWT est stocké dans chrome.storage.local et sert à authentifier les appels API ultérieurs vers notre backend.
Rien de tout cela ne manipule d'audio. Le flux OAuth est purement textuel — jetons, claims, champs de profil.
Étape 2 : la clé Soniox temporaire
Quand vous cliquez sur « Start » dans une réunion, l'extension appelle l'API de notre backend pour demander une clé Soniox temporaire à courte durée de vie. Cette clé a trois propriétés importantes :
- Elle est limitée à la reconnaissance vocale uniquement — rien d'autre dans la surface de l'API Soniox
- Elle expire en quelques minutes, pas en quelques jours
- Elle est émise une fois par session et n'est pas conservée sur votre appareil
Le schéma de la clé temporaire est essentiel dans l'histoire de la confidentialité. Si Gaavala livrait une clé d'API Soniox à longue durée de vie à l'intérieur du bundle de l'extension, n'importe qui pourrait l'extraire. À la place, nous émettons des clés jetables, générées à la demande, liées à votre session authentifiée et invalidées peu après la fin de la session.
Notre backend journalise uniquement les métadonnées de cette requête — quel utilisateur, à quelle heure, quel palier d'abonnement. Il ne voit aucun audio, puisqu'aucun audio n'a encore été capturé.
Étape 3 : la capture de l'audio de l'onglet
Vous rejoignez votre appel Microsoft Teams, Zoom, Google Meet ou Webex dans un onglet Chrome. L'extension Gaavala ouvre le panneau latéral et vous invite à démarrer la capture audio. Quand vous confirmez, l'extension utilise l'API tabCapture de Chrome — une API réservée aux extensions qui permet de capturer l'audio de l'onglet actif avec une permission explicite de l'utilisateur et un indicateur visible.
Chrome achemine l'audio capturé vers un document offscreen que Gaavala exécute en arrière-plan. Le document offscreen est une page sandboxée que l'extension peut utiliser pour traiter l'audio sans conserver d'interface visible. À l'intérieur de ce document offscreen, Gaavala ouvre un MediaStream, le connecte à un AudioContext et le prépare pour le streaming.
Point crucial : l'audio passe aussi par un graphe audio local qui renvoie le son vers vos haut-parleurs. Vous pouvez donc continuer d'entendre la réunion normalement pendant que Gaavala la capture — rien n'est coupé ni détourné.
Étape 4 : le WebSocket direct vers Soniox
Le document offscreen ouvre ensuite une connexion WebSocket directement vers Soniox. Cette connexion :
- Utilise TLS 1.2 ou une version supérieure
- Est authentifiée avec la clé temporaire à courte durée de vie de l'étape 2
- Part de la pile réseau de votre navigateur — les paquets circulent de votre système d'exploitation vers Soniox, pas vers Gaavala
Les trames audio capturées depuis l'onglet sont encodées en PCM et envoyées sur le WebSocket. Soniox les traite en temps réel et renvoie des tokens de transcription sur la même connexion. Ces tokens — des fragments de texte horodatés avec des étiquettes d'intervenants — arrivent directement dans le document offscreen, qui les transmet au panneau latéral pour affichage.
À aucun moment de toute cette boucle un paquet audio de réunion n'atteint un serveur exploité par Gaavala. Vous pouvez le vérifier vous-même avec Chrome DevTools : ouvrez l'onglet Network avec le filtre WS activé pendant que Gaavala tourne, et vous verrez exactement un WebSocket — vers un hôte soniox.com — et zéro trafic sortant vers gaavala.com contenant de l'audio de réunion.
Étape 5 : l'affichage de la transcription et le résumé optionnel
Les sous-titres s’affichent dans le panneau latéral et la fenêtre superposée. L’historique des transcriptions est aussi conservé sept jours dans la base locale de l’extension sur votre appareil, avec export et suppression. Il s’agit de texte stocké localement, pas d’un enregistrement audio ni d’archives dans le cloud.
Quand vous déclenchez un résumé AI à la fin d'une réunion, le résumé est généré entièrement sur votre appareil par l'AI intégrée de Chrome (Gemini Nano). Le texte de la transcription ne quitte jamais votre machine — il n'est pas envoyé au backend de Gaavala, et il n'est envoyé à aucun tiers. Le contenu de la réunion, audio ou texte, ne traverse jamais le backend de Gaavala ; ce qui le traverse figure dans la section suivante.
Ce que voient les serveurs de Gaavala
Voici les principaux types de données que traite notre backend, toutes fonctionnalités confondues :
| Donnée | Quand | Conservation | Remarques |
|---|---|---|---|
| Refresh token de session Gaavala | À la connexion | Durée de vie du token — les entrées expirées sont purgées chaque jour | Votre jeton OAuth Google/Microsoft n'est jamais stocké |
| Profil utilisateur (e-mail, nom) | À la connexion | Durée de vie du compte | Pour la facturation et le support |
| Statut d'abonnement | En permanence | Durée de vie du compte | Palier, état de l'essai |
| Justificatifs de paiement (Pro) | Quand vous payez | Aussi longtemps que la loi fiscale l'exige, y compris après la suppression de votre compte | Montant, taxe, devise, pays, date et moyen de paiement, tels que notre partenaire de paiement les transmet ; les données de votre carte restent chez le partenaire de paiement |
| Demandes de clé Soniox temporaire | Par session | Journal de requêtes uniquement | Aucun audio |
| Compteur de minutes de transcription | Par session | Durée de vie du compte | Regroupé par mois, pour l'application des quotas |
| Échantillon de référence du clone vocal (Pro) | Uniquement si vous en enregistrez un | Jusqu'à ce que vous supprimiez votre voix ou votre compte | Chiffré (AES-256-GCM), utilisé uniquement pour construire votre voix ; ce n'est pas de l'audio de réunion |
| Rapports de problèmes techniques | Uniquement quand vous en envoyez un | 180 jours | Diagnostics que vous choisissez d'envoyer ; le texte des transcriptions en est exclu |
| Langue de l'interface | Chaque fois que vous utilisez l'extension en étant connecté | Durée de vie du compte | Pour que nos e-mails vous parviennent dans votre langue |
| E-mail de la liste d'attente (site web) | Uniquement si vous rejoignez la liste d'attente | Jusqu'à ce que vous nous demandiez de l'effacer | Avec la langue de la page et la source de la campagne ; utilisé uniquement pour confirmer l'adresse et annoncer le lancement |
| Analyse d'audience anonyme du site web | Uniquement après votre acceptation des cookies | Conservée par Google Analytics, pas dans notre base de données | Site web uniquement — l'extension remonte des compteurs d'erreurs anonymes ne portant aucun identifiant utilisateur |
Voici la liste exacte des données que notre backend ne voit pas :
- L'audio brut de la réunion (dans n'importe quel format, à n'importe quel moment)
- Les flux audio compressés des réunions
- Les tampons audio des réunions ou les représentations intermédiaires
- Les données biométriques vocales issues de vos réunions (le seul enregistrement vocal que nous conservons est l'échantillon du clone vocal Pro ci-dessus, et uniquement si vous l'enregistrez)
- L'identité des intervenants au-delà des identifiants anonymes d'intervenants attribués par Soniox
- Le texte de la transcription — les résumés sont générés sur l'appareil ; les transcriptions ne quittent jamais votre machine
Si un tribunal exigeait de Gaavala l'audio d'une réunion précise, la réponse techniquement véridique serait que nous ne l'avons pas et que nous ne pouvons pas le récupérer. Il n'a jamais existé sur nos systèmes.
Pour les appels réguliers avec un client, votre propre clone vocal peut donner une voix familière à Speak Mode ; ce guide explique l’enregistrement et la suppression.
Pour les commandes et limites des réponses uniquement textuelles, consultez le guide d’accessibilité.
Auditez-le vous-même
L'un des avantages de fonctionner comme extension Chrome est que tout l'environnement d'exécution est inspectable. Votre équipe IT peut vérifier nos affirmations de confidentialité sans faire confiance à un seul mot de cet article :
Méthode 1 — inspection réseau. Ouvrez chrome://extensions, trouvez Gaavala, cliquez sur « service worker » ou sur « inspect views > background page » (inspecter les vues > page d'arrière-plan). Dans les DevTools, allez dans l'onglet Network et filtrez sur WS (WebSocket). Démarrez une réunion. Vous verrez exactement un WebSocket ouvert, vers un hôte soniox.com. Aucun audio de réunion ne part vers gaavala.com.
Méthode 2 — inspection du manifeste. Dans chrome://extensions, dépliez « Details » (Détails) sur Gaavala et passez les permissions en revue. Les host_permissions déclarent exactement quelles origines l'extension peut atteindre. Vous y verrez les endpoints Soniox pour le streaming et les endpoints Gaavala pour l'authentification et l'abonnement. Il n'y a aucune permission d'hôte avec joker et aucun accès réseau non déclaré.
Méthode 3 — inspection du code. L'extension est livrée avec un service worker, un document offscreen, un panneau latéral et des content scripts. Chrome expose tout cela à l'inspection via les outils de développement. Votre équipe sécurité peut s'attacher à la page d'arrière-plan ou au document offscreen à tout moment et lire l'état d'exécution — y compris confirmer que l'objet de flux audio n'est jamais sérialisé dans un fetch ou un XHR vers notre domaine.
Nous publions le manifeste et les permissions d'hôte dans le cadre de la fiche du Chrome Web Store, et nous accueillons volontiers les revues de sécurité par des tiers.
Correspondance avec les référentiels de conformité
GDPR et minimisation des données
L'article 5(1)(c) du GDPR établit le principe de minimisation des données : les données personnelles doivent être « adéquates, pertinentes et limitées à ce qui est nécessaire ». La donnée vocale est une donnée personnelle au sens du GDPR, et une donnée biométrique si elle est utilisée à des fins d'identification.
L’examen de la minimisation doit distinguer l’audio envoyé à Soniox, les données de compte et l’échantillon vocal facultatif traités par Gaavala, et le texte stocké sur l’appareil. Ces flux restent à évaluer même sans relais audio.
Soniox reste dans votre chaîne de conformité, en tant que fournisseur de services vocaux sous contrat avec Gaavala : Gaavala détient le compte Soniox et émet la clé à courte durée de vie avec laquelle votre navigateur se connecte, et notre Politique de confidentialité cite Soniox parmi les tiers avec lesquels nous partageons des données. Une DPIA couvre donc Soniox dans le cadre du service de Gaavala, et non comme un fournisseur avec lequel vous contractez vous-même.
HIPAA et audio contenant des PHI
Selon les recommandations du HHS sur les business associates, un prestataire qui traite des informations de santé protégées électroniques (ePHI) pour le compte d'une entité soumise à HIPAA ou d'un autre business associate peut relever de ce statut. Lorsque cette relation s'applique, des dispositions contractuelles BAA adaptées sont nécessaires. Les recommandations du HHS sur le cloud précisent l'application aux services cloud. Évaluez le service réel, les flux de données et les accords.
Le backend de Gaavala ne reçoit jamais l'audio des réunions : les PHI prononcées pendant une réunion ne sont donc jamais stockées sur les serveurs de Gaavala. L'audio des réunions est toutefois transmis à Soniox, le fournisseur de services vocaux sous contrat avec Gaavala, qui le traite ; une évaluation HIPAA doit par conséquent couvrir ce chemin dans le cadre du service de Gaavala — il ne s'agit pas d'une relation entre vous et Soniox seuls. Si vous générez des résumés AI, ceux-ci sont produits sur l'appareil par l'AI intégrée de Chrome — le texte de la transcription reste sur votre machine, si bien que la fonctionnalité de résumé n'ajoute ni les serveurs de Gaavala ni un autre fournisseur à la chaîne de traitement des PHI.
Risque fournisseur SOC 2
Le critère CC9.2 des Trust Services Criteria de l'AICPA porte sur l'évaluation et la gestion des risques liés aux fournisseurs et partenaires commerciaux. L'évaluation dépend du système, des services et des engagements définis, ainsi que du rôle du prestataire dans ce périmètre.
Dans l'architecture de Gaavala, votre navigateur se connecte directement à Soniox, mais la relation fournisseur passe par Gaavala : Gaavala détient le compte Soniox, si bien que votre registre des risques fournisseurs inscrit Soniox comme sous-traitant ultérieur de Gaavala pour la reconnaissance vocale, et non comme un fournisseur avec lequel vous contractez vous-même. Ce que la connexion directe réduit, c'est l'empreinte propre de Gaavala : nos serveurs gèrent des données de compte comme l'identité, la facturation et l'utilisation, plus l'échantillon de clone vocal d'un utilisateur Pro s'il en enregistre un — pas l'audio des réunions, et pas le texte des transcriptions ni des résumés, qui ne quitte jamais la machine de l'utilisateur.
Pourquoi le format extension Chrome compte
Une grande partie des garanties de confidentialité ci-dessus dépend du fait que Gaavala s'exécute comme extension Chrome avec un schéma réseau direct vers le fournisseur. Nous avons envisagé, puis rejeté, plusieurs alternatives :
- Un relais audio côté serveur : simple à implémenter, mais cela nous forcerait à manipuler l'audio de chaque client sur notre propre infrastructure. C'est exactement ce que nous voulions éviter.
- Une application web avec reconnaissance vocale intégrée : capturer l'audio d'un onglet depuis une page web exige
getDisplayMedia, qui affiche à l'utilisateur un sélecteur au niveau du système d'exploitation à chaque session et lie l'extension à l'onglet qu'il sélectionne. Pire, il n'existe aucun moyen fiable pour une page web de maintenir un flux audio en arrière-plan pendant que l'utilisateur interagit avec d'autres onglets. - Une application native de bureau : cela nous donnerait plus de contrôle, mais ajouterait des frictions d'installation, des coûts de signature et une charge de développement propre à chaque système d'exploitation. Et cela ne supprimerait toujours pas notre rôle de responsable du traitement de l'audio, à moins d'y prendre garde — ce qui reviendrait à réinventer exactement les mêmes problèmes.
Le format extension Chrome a été le seul à rendre possible l'architecture de confidentialité que nous voulions. tabCapture, les documents offscreen et le modèle de service worker de Manifest V3 permettent ensemble à l'extension de capter l'audio des réunions sur la machine de l'utilisateur, de le transmettre en flux par une connexion directe au moteur de reconnaissance vocale et de maintenir l'état d'arrière-plan nécessaire aux longues réunions — sans faire transiter l'audio des réunions par nous.
Les points que nous devons encore bien tenir
L'architecture de confidentialité ne s'arrête pas à « nous ne touchons pas l'audio des réunions ». Il existe des préoccupations adjacentes que nous prenons également au sérieux :
- La génération des clés temporaires : les clés Soniox à courte durée de vie que nous générons pourraient être détournées si notre backend en générait pour un attaquant. Nous authentifions chaque requête avec votre JWT, nous limitons le débit d'émission des clés et nous journalisons les anomalies.
- Les mises à jour de l'extension : une nouvelle version de l'extension pourrait en théorie modifier le schéma réseau. Nous versionnons le manifeste, nous publions des changelogs, et le Chrome Web Store expose toute nouvelle permission avant qu'une mise à jour ne s'installe.
- Le texte des résumés : les résumés sont générés entièrement sur l'appareil par l'AI intégrée de Chrome (Gemini Nano), si bien que la transcription n'atteint jamais notre backend — ce risque n'existe pas dans l'architecture actuelle. Si même un traitement AI local dépasse ce qu'une réunion donnée peut tolérer, la fonctionnalité de résumé peut simplement rester inutilisée ; rien d'autre n'en dépend.
- L'échantillon de référence du clone vocal (Pro) : si vous créez un clone personnel de votre voix, votre échantillon de deux minutes est stocké chiffré (AES-256-GCM) sur les serveurs de Gaavala, utilisé uniquement pour construire votre voix, et supprimé sur demande — voir la Politique de confidentialité.
- Les demandes judiciaires : nous nous engageons publiquement à répondre aux demandes judiciaires uniquement pour les données que nous détenons réellement. Pour l'audio des réunions, la réponse sera toujours « nous ne l'avons pas ».
Comparaison entre les outils de traduction de réunions
Comparez séparément le destinataire de l’audio, le lieu et la durée de stockage du texte, et son éventuel usage pour l’entraînement. Gaavala envoie l’audio à Soniox et conserve l’historique local sept jours ; cela ne prouve rien sur la conservation d’un autre produit.
Zoom indique ne pas utiliser les communications de ses clients pour entraîner ses modèles d’IA ou ceux de tiers. Vérifiez séparément la conservation, les fonctions activées et les paramètres de votre organisation : entraînement et stockage sont deux sujets différents.
La confidentialité est le comportement par défaut, pas une option payante
L'essai gratuit de Gaavala vous donne la même architecture directe vers Soniox, la même diarisation des intervenants, la même couverture de 60 langues. Pro débloque 120 minutes par jour, le Speak Mode et le clonage vocal — pas la confidentialité. Nous ne croyons pas que les utilisateurs soucieux de leur vie privée devraient payer davantage pour garder leurs données en sécurité.
Si votre organisation a jusqu'ici écarté les outils de traduction de réunions parce que le service conformité refusait que les serveurs d'un éditeur s'interposent entre vos réunions et le moteur de reconnaissance vocale, Gaavala a été pensé précisément pour ce cas. Le pipeline est conçu pour que vos équipes juridiques, sécurité et conformité aient moins de choses à examiner — pas plus.
Essai gratuit unique : 5 minutes de transcription, jamais réinitialisé. Sans carte bancaire. Sans inscription sur le site web.