Come Gaavala protegge l'audio delle tue riunioni: un'architettura privacy-first
Ogni giorno lavorativo, milioni di professionisti partecipano a riunioni in cui si discutono informazioni sensibili — trattative di fusione, consulti clinici, strategie legali, anteprime dei risultati trimestrali, decisioni sul personale. Quando quelle riunioni attraversano una barriera linguistica, la traduzione in tempo reale diventa indispensabile. Ma la maggior parte degli strumenti di traduzione delle riunioni richiede di inviare il tuo audio grezzo al cloud di un fornitore, creando esattamente il tipo di superficie di esposizione dei dati che i team legali, di conformità e di sicurezza sono sempre meno in grado di approvare.
Gaavala è progettato per togliersi completamente dal percorso dell'audio. Quando fai passare una riunione dalla nostra estensione Chrome, il tuo audio non attraversa i server di Gaavala. Viene trasmesso direttamente dal tuo browser al motore speech-to-text di Soniox tramite un WebSocket crittografato — e il nostro backend non ne vede un solo byte.
Questo articolo spiega esattamente come funziona, quali dati passano sulla rete e come l'architettura si mappa sui framework di conformità più diffusi.
Il principio di privacy alla base
La maggior parte degli strumenti di traduzione SaaS segue un flusso di dati familiare:
- Il tuo browser cattura l'audio della riunione
- L'audio viene caricato sul backend del fornitore
- Il backend del fornitore inoltra l'audio a un motore speech-to-text
- Le trascrizioni tornano indietro passando dal backend del fornitore
- Lungo il percorso, i server del fornitore spesso registrano, mettono in cache o conservano l'audio
Ogni salto di quella catena è un confine di fiducia. Ogni salto è un punto in cui un bug di logging, la fuga di una credenziale, un mandato giudiziario o un ingegnere infedele potrebbero esporre il contenuto della tua riunione. Più sono le parti che toccano l'audio, più diventa difficile dimostrare a un auditor che nessuno l'ha conservato.
Gaavala elimina del tutto il passaggio di inoltro. Il flusso dei dati è questo:
- Il tuo browser cattura l'audio della riunione dalla scheda
- Il tuo browser apre un WebSocket diretto verso Soniox
- L'audio viene trasmesso direttamente su quel WebSocket
- Soniox restituisce le trascrizioni direttamente al tuo browser
- Il backend di Gaavala non è mai coinvolto
L'estensione Chrome in esecuzione sulla tua macchina è l'unico pezzo del nostro codice che tocca il tuo audio — e non ci invia quell'audio.
Perché abbiamo scelto questa architettura
Quando abbiamo ricostruito Gaavala come estensione Chrome, abbiamo preso una decisione architetturale deliberata: l'estensione avrebbe autenticato gli utenti tramite il nostro backend, gestito lo stato dell'abbonamento e servito i metadati — ma non sarebbe mai stata nel percorso dell'audio. Il ragionamento era lineare:
- Superficie di conformità: ogni byte di audio dei clienti che elaboriamo è un byte di cui dobbiamo rendere conto in DPIA, report SOC 2 e negoziazioni di BAA. Il modo più pulito per tenere quella superficie a zero è non toccare mai l'audio in primo luogo.
- Raggio d'impatto della sicurezza: una violazione su un server che elabora audio è fondamentalmente peggiore di una violazione su un server che elabora metadati testuali. Preferiamo che i nostri sistemi più sensibili trattino i dati meno sensibili.
- Latenza: ogni salto di inoltro aggiunge tempo di andata e ritorno. Lo streaming diretto dal browser a Soniox elimina un salto intero e ci dà una latenza dei sottotitoli sensibilmente migliore.
- Costi allineati alla privacy: gestire un nostro proxy audio significherebbe pagare banda e capacità di calcolo su ogni riunione. Non gestirlo fa risparmiare denaro e protegge i clienti. Quando gli incentivi sono allineati, l'architettura tende a restare onesta.
Il flusso dei dati nel dettaglio
Vediamo cosa succede davvero quando avvii la trascrizione in una riunione.
Passaggio 1: autenticazione
Quando accedi a Gaavala per la prima volta, l'estensione usa l'API chrome.identity.launchWebAuthFlow di Chrome per completare un flusso OAuth Authorization Code con Google oppure con Microsoft. Il provider di identità restituisce un codice di autorizzazione al tuo browser, che l'estensione scambia con il nostro backend per un JWT di sessione Gaavala. Quel JWT viene archiviato in chrome.storage.local ed è usato per autenticare le chiamate API successive verso il nostro backend.
Nulla di tutto questo tratta audio. Il flusso OAuth è solo testo — token, claim, campi del profilo.
Passaggio 2: chiave temporanea Soniox
Quando clicchi su "Start" in una riunione, l'estensione chiama l'API del nostro backend per richiedere una chiave temporanea Soniox a breve scadenza. Questa chiave ha tre proprietà importanti:
- È limitata al solo speech-to-text — nient'altro della superficie API di Soniox
- Scade in pochi minuti, non in giorni
- Viene emessa una volta per sessione e non viene conservata sul tuo dispositivo
Il pattern della chiave temporanea è cruciale per la storia della privacy. Se Gaavala distribuisse una chiave API Soniox a lunga durata dentro il bundle dell'estensione, chiunque potrebbe estrarla. Al suo posto emettiamo chiavi usa e getta, coniate su richiesta, legate alla tua sessione autenticata e invalidate poco dopo la fine della sessione.
Il nostro backend registra solo i metadati di questa richiesta — quale utente, a che ora, con quale livello di piano. Non vede alcun audio, perché non è ancora stato catturato alcun audio.
Passaggio 3: cattura dell'audio della scheda
Partecipi alla tua chiamata Microsoft Teams, Zoom, Google Meet o Webex in una scheda di Chrome. L'estensione Gaavala apre il pannello laterale e ti chiede di avviare la cattura dell'audio. Quando confermi, l'estensione usa l'API tabCapture di Chrome — un'API riservata alle estensioni che permette di catturare l'audio della scheda attiva con un'autorizzazione esplicita dell'utente e un indicatore visibile.
Chrome instrada l'audio catturato in un documento offscreen che Gaavala esegue in background. Il documento offscreen è una pagina sandboxed che l'estensione può usare per gestire l'elaborazione audio senza tenere in giro interfacce visibili. Dentro quel documento offscreen, Gaavala apre un MediaStream, lo collega a un AudioContext e lo prepara per lo streaming.
Fatto cruciale, l'audio passa anche per un grafo audio locale che reinstrada il suono verso i tuoi altoparlanti. Questo significa che puoi continuare a sentire la riunione normalmente mentre Gaavala la cattura — nulla viene silenziato o deviato.
Passaggio 4: WebSocket diretto verso Soniox
Il documento offscreen apre poi una connessione WebSocket direttamente verso Soniox (wss://stt-rt.soniox.com/...). Questa connessione:
- Usa TLS 1.2 o superiore
- È autenticata con la chiave temporanea a breve scadenza del Passaggio 2
- Ha origine dallo stack di rete del tuo browser — i pacchetti vanno dal tuo sistema operativo a Soniox, non a Gaavala
I frame audio catturati dalla scheda vengono codificati in PCM e inviati sul WebSocket. Soniox li elabora in tempo reale e restituisce token di trascrizione sulla stessa connessione. Quei token — frammenti di testo con marca temporale ed etichette degli speaker — arrivano direttamente nel documento offscreen, che li inoltra al pannello laterale per la visualizzazione.
In nessun punto di questo intero ciclo un pacchetto audio raggiunge un server gestito da Gaavala. Puoi verificarlo tu stesso con Chrome DevTools: apri la scheda Network con il filtro WS attivo mentre Gaavala è in esecuzione, e vedrai esattamente un WebSocket — verso un host soniox.com — e zero traffico in uscita verso gaavala.com contenente audio.
Passaggio 5: visualizzazione della trascrizione e riepilogo facoltativo
I token di trascrizione vengono resi su tre superfici: il pannello laterale, un overlay fluttuante sulla scheda della riunione e il buffer in memoria usato per l'esportazione. Nessuna di queste superfici serializza audio. Trattano solo testo.
Quando richiedi un riepilogo AI alla fine di una riunione, il riepilogo viene generato interamente sul tuo dispositivo dall'AI integrata di Chrome (Gemini Nano). Il testo della trascrizione non lascia mai la tua macchina — non viene inviato al backend di Gaavala e non viene inviato ad alcuna terza parte. Il contenuto della riunione, che sia audio o testo, non attraversa in alcun modo il backend di Gaavala; le uniche cose che lo fanno restano i metadati di autenticazione e di abbonamento.
Quali dati vedono i server di Gaavala
Ecco l'elenco esatto dei dati che il nostro backend gestisce, in tutte le funzionalità:
| Dato | Quando | Conservazione | Note |
|---|---|---|---|
| Refresh token di sessione Gaavala | Accesso | Durata del token — le righe scadute vengono eliminate ogni giorno | Il tuo token OAuth Google/Microsoft non viene mai memorizzato |
| Profilo utente (email, nome) | Accesso | Durata dell'account | Per fatturazione e assistenza |
| Stato dell'abbonamento | Sempre | Durata dell'account | Livello di piano, stato della prova |
| Richieste di chiave temporanea Soniox | Per sessione | Solo log della richiesta | Nessun audio |
| Contatore dei minuti di trascrizione | Per sessione | Durata dell'account | Raggruppato per mese, per l'applicazione della quota |
| Analytics anonimi del sito web | Solo dopo che accetti i cookie | Conservati da Google Analytics, non nel nostro database | Solo sito web — l'estensione riporta conteggi anonimi di errori privi di qualsiasi ID utente |
Ecco l'elenco esatto dei dati che il nostro backend non vede:
- Audio grezzo della riunione (in qualsiasi formato, in qualsiasi momento)
- Stream audio compressi
- Buffer audio o rappresentazioni intermedie
- Dati biometrici vocali
- L'identità degli speaker, oltre agli ID speaker anonimi assegnati da Soniox
- Il testo della trascrizione — i riepiloghi sono generati on-device; le trascrizioni non lasciano mai la tua macchina
Se un tribunale ordinasse a Gaavala di consegnare l'audio di una riunione specifica, la risposta tecnicamente veritiera sarebbe che non ce l'abbiamo e non possiamo recuperarlo. Non è mai esistito sui nostri sistemi.
Verificalo tu stesso
Uno dei vantaggi di girare come estensione Chrome è che l'intero runtime è ispezionabile. Il tuo team IT può verificare le nostre affermazioni sulla privacy senza credere a una sola parola di questo articolo:
Metodo 1 — Ispezione della rete. Apri chrome://extensions, trova Gaavala, clicca su "service worker" oppure su "inspect views > background page". In DevTools, vai alla scheda Network e filtra per WS (WebSocket). Avvia una riunione. Vedrai aprirsi esattamente un WebSocket, verso un host soniox.com. Nessun audio va verso gaavala.com.
Metodo 2 — Ispezione del manifest. In chrome://extensions, espandi "Details" su Gaavala e passa in rassegna le autorizzazioni. Gli host_permissions dichiarano esattamente quali origini l'estensione può raggiungere. Vedrai gli endpoint Soniox per lo streaming e gli endpoint Gaavala per autenticazione e abbonamento. Non c'è alcuna autorizzazione host con caratteri jolly né alcun accesso di rete non dichiarato.
Metodo 3 — Ispezione del codice. L'estensione include un service worker, un documento offscreen, un pannello laterale e dei content script. Chrome espone tutti questi elementi all'ispezione tramite gli strumenti per sviluppatori. Il tuo team di sicurezza può collegarsi alla background page o al documento offscreen in qualsiasi momento e leggere lo stato a runtime — inclusa la conferma che l'oggetto dello stream audio non viene mai serializzato in una fetch o in una XHR verso il nostro dominio.
Pubblichiamo il manifest e le autorizzazioni host come parte della scheda sul Chrome Web Store, e accogliamo con favore revisioni di sicurezza di terze parti.
Mappatura sulla conformità
GDPR e minimizzazione dei dati
L'articolo 5(1)(c) del GDPR stabilisce il principio di minimizzazione dei dati: i dati personali devono essere "adeguati, pertinenti e limitati a quanto necessario". I dati vocali sono dati personali ai sensi del GDPR, e dati biometrici se usati per l'identificazione.
L'architettura di Gaavala si allinea direttamente a questo principio. Tenendo l'audio interamente fuori dai nostri sistemi, riduciamo i dati personali che trattiamo al minimo assoluto necessario per gestire un'attività in abbonamento — email, nome, stato di fatturazione. Per i clienti che conducono una DPIA, il nostro backend è di fatto trasparente sul trattamento dell'audio: non c'è nulla da valutare, perché nulla arriva fino a noi.
Soniox è un responsabile del trattamento distinto nella tua catena di conformità. Puoi esaminarne la postura sulla privacy in modo indipendente, e Soniox pubblica condizioni di trattamento dei dati che si applicano alla connessione diretta che il tuo browser stabilisce con loro.
HIPAA e audio contenente PHI
Secondo l'HIPAA, qualsiasi fornitore che elabora, archivia o trasmette Protected Health Information deve firmare un Business Associate Agreement. I consulti medici contengono spesso PHI — nomi dei pazienti, diagnosi, piani terapeutici.
Poiché il backend di Gaavala non riceve mai l'audio delle riunioni, la pipeline audio è fuori dal perimetro del BAA di Gaavala. Il rapporto da valutare per il trattamento dell'audio è quello tra te e Soniox direttamente — Gaavala non è un business associate per quei dati, perché quei dati non ci toccano. Se generi riepiloghi AI, questi sono prodotti on-device dall'AI integrata di Chrome — il testo della trascrizione resta sulla tua macchina, quindi nemmeno la funzione di riepilogo porta Gaavala o un fornitore aggiuntivo dentro la catena di trattamento delle PHI.
Rischio fornitori SOC 2
Gli audit SOC 2 richiedono alle organizzazioni di documentare e valutare tutti i fornitori terzi presenti nella loro catena di trattamento dei dati. Ogni fornitore aggiunge complessità alla tua System Description e amplia il perimetro della tua valutazione dei rischi.
Nell'architettura di Gaavala, Soniox è un responsabile del trattamento con cui interagisci direttamente, non attraverso Gaavala. Il tuo registro dei rischi fornitori dovrebbe valutare Soniox secondo i suoi propri termini, cosa che molti team di sicurezza trovano più lineare rispetto a valutare un rapporto con un sub-responsabile. Il perimetro di Gaavala nel tuo registro dei rischi è più stretto: gestiamo identità e fatturazione — non l'audio grezzo, e non il testo della trascrizione o del riepilogo, che non lascia mai la macchina dell'utente.
Perché il formato dell'estensione Chrome conta
Molte delle garanzie di privacy qui sopra dipendono dal fatto che Gaavala giri come estensione Chrome con un pattern di rete diretto verso il fornitore. Abbiamo preso in considerazione, e scartato, diverse alternative:
- Proxy audio lato server: semplice da implementare, ma ci costringerebbe a gestire l'audio di ogni cliente sulla nostra infrastruttura. È esattamente ciò che volevamo evitare.
- Web app con STT integrato: catturare l'audio della scheda da una pagina web richiede
getDisplayMedia, che mostra all'utente un selettore a livello di sistema operativo a ogni sessione e vincola l'estensione alla scheda che sceglie. Peggio ancora, non esiste un modo affidabile per una pagina web di mantenere uno stream audio in background mentre l'utente interagisce con altre schede. - App desktop nativa: ci darebbe più controllo, ma aggiungerebbe attrito all'installazione, costi di firma e oneri di sviluppo specifici per sistema operativo. E comunque non eliminerebbe il nostro ruolo di responsabile del trattamento dell'audio, a meno di stare molto attenti — il che significa reinventare tutti gli stessi problemi.
Il formato dell'estensione Chrome ha reso possibile in modo unico l'architettura della privacy che volevamo. tabCapture, i documenti offscreen e il modello del service worker di Manifest V3 insieme permettono all'estensione di gestire l'audio interamente sulla macchina dell'utente, di aprire connessioni dirette verso servizi esterni e di mantenere lo stato in background necessario per le riunioni lunghe — senza instradare nulla attraverso di noi.
Le cose che dobbiamo comunque fare bene
L'architettura della privacy non finisce con "non tocchiamo l'audio". Ci sono preoccupazioni adiacenti che prendiamo altrettanto sul serio:
- Coniazione delle chiavi temporanee: le chiavi Soniox a breve scadenza che coniamo potrebbero essere abusate se il nostro backend le coniasse per un attaccante. Autentichiamo ogni richiesta con il tuo JWT, applichiamo un rate limit all'emissione delle chiavi e registriamo le anomalie.
- Aggiornamenti dell'estensione: una nuova versione dell'estensione potrebbe in teoria cambiare il pattern di rete. Versioniamo il manifest, pubblichiamo i changelog e il Chrome Web Store mostra qualsiasi nuova autorizzazione prima che un aggiornamento venga installato.
- Testo dei riepiloghi: i riepiloghi sono generati interamente on-device dall'AI integrata di Chrome (Gemini Nano), quindi la trascrizione non raggiunge mai il nostro backend — nell'architettura attuale questo rischio non esiste. Se anche l'elaborazione AI locale è più di quanto una determinata riunione possa tollerare, la funzione di riepilogo può semplicemente restare inutilizzata; nient'altro dipende da essa.
- Campione di riferimento per il clone vocale (Pro): se crei un clone personale della tua voce, il tuo campione di ~20 secondi viene archiviato crittografato (AES-256-GCM) sui server di Gaavala, usato solo per costruire la tua voce ed eliminato su richiesta — vedi l'Informativa sulla privacy.
- Richieste legali: ci impegniamo pubblicamente a rispondere alle richieste legali solo per i dati che effettivamente deteniamo. Per l'audio, la risposta sarà sempre "non ce l'abbiamo".
Confronto tra gli strumenti di traduzione delle riunioni
Come si confronta il modello di privacy di Gaavala con quello di altri strumenti diffusi di traduzione delle riunioni?
| Funzionalità | Gaavala | Otter.ai | Zoom AI Companion | Teams Copilot | Interprefy |
|---|---|---|---|---|---|
| L'audio raggiunge il backend del fornitore | No (diretto verso Soniox) | Sì (server Otter) | Sì (server Zoom) | Sì (server M365) | Sì (server della piattaforma) |
| Audio conservato dopo la riunione | No | Sì (di default) | Facoltativo | Facoltativo | Variabile |
| Usato per l'addestramento dei modelli | No | Rinuncia possibile | Rinuncia possibile | Controlli enterprise | Non noto |
| Puoi verificare la rete da solo | Sì (DevTools) | No | No | No | No |
| Gira come estensione (ispezionabile) | Sì | No | No | No | No |
| Funziona su Teams/Zoom/Meet/Webex | Sì | Parziale | No | No | Variabile |
La differenza che conta: in ogni altra riga di quella tabella, stai dando fiducia a ciò che il fornitore afferma su come tratta l'audio sui propri server. Con Gaavala non ci sono server a cui dare fiducia per l'audio, perché sui nostri server non c'è audio. L'affermazione è verificabile con i normali strumenti per sviluppatori di Chrome.
La privacy è il default, non un livello a pagamento
La versione gratuita di Gaavala ti dà la stessa architettura diretta verso Soniox, la stessa diarizzazione degli speaker, la stessa copertura di 60 lingue. Pro sblocca 120 minuti al giorno, Speak Mode e la clonazione vocale — non la privacy. Non crediamo che gli utenti attenti alla privacy debbano pagare di più per tenere al sicuro i propri dati.
Se la tua organizzazione ha storicamente respinto gli strumenti di traduzione delle riunioni perché la conformità ha detto no all'invio dell'audio al cloud di un fornitore, Gaavala è stato costruito per quella conversazione. La pipeline è progettata perché i tuoi team legali, di sicurezza e di conformità abbiano meno cose da revisionare, non di più.
Prova gratuita una tantum: 5 minuti di trascrizione, non si rinnova mai. Senza carta di credito. Nessuna registrazione sul sito.