Hoe Gaavala je vergaderaudio beschermt: een privacy-first architectuur

Elke werkdag nemen miljoenen professionals deel aan vergaderingen waarin gevoelige informatie wordt besproken — fusieonderhandelingen, patiëntconsulten, juridische strategie, previews van kwartaalcijfers, personeelsbeslissingen. Zodra die vergaderingen taalgrenzen overschrijden, wordt realtime vertaling onmisbaar. Maar de meeste vergadervertaaltools vereisen dat je je ruwe audio naar de cloud van een leverancier stuurt, en dat creëert precies het soort blootstellingsoppervlak dat juridische, compliance- en securityteams steeds vaker niet kunnen goedkeuren.

Gaavala is zo ontworpen dat het zichzelf volledig uit het audiopad haalt. Wanneer je een vergadering via onze Chrome-extensie laat lopen, reist je audio niet door servers van Gaavala. Ze streamt rechtstreeks van je browser naar de speech-to-text-engine van Soniox over een versleutelde WebSocket — en onze backend ziet er geen enkele byte van.

Deze post loopt precies door hoe dat werkt, welke data over de lijn gaat, en hoe de architectuur zich verhoudt tot gangbare compliance-frameworks.

Het kernprincipe van de privacy

De meeste SaaS-vertaaltools volgen een bekende gegevensstroom:

  1. Je browser legt vergaderaudio vast
  2. De audio wordt geüpload naar de backend van de leverancier
  3. De backend van de leverancier proxyt de audio door naar een speech-to-text-engine
  4. Transcripten komen terug via de backend van de leverancier
  5. Servers van de leverancier loggen, cachen of bewaren de audio onderweg vaak

Elke hop in die keten is een vertrouwensgrens. Elke hop is een plek waar een logbug, een gelekte credential, een dagvaarding of een kwaadwillende engineer de inhoud van je vergadering kan blootleggen. Hoe meer partijen de audio aanraken, hoe moeilijker het is om aan een auditor te bewijzen dat niemand die heeft bewaard.

Gaavala schrapt de proxystap volledig. De gegevensstroom is:

  1. Je browser legt vergaderaudio vast vanuit het tabblad
  2. Je browser opent een directe WebSocket naar Soniox
  3. De audio streamt rechtstreeks over die WebSocket
  4. Soniox stuurt transcripten rechtstreeks terug naar je browser
  5. De backend van Gaavala komt er nooit aan te pas

De Chrome-extensie die op jouw machine draait is het enige stuk van onze code dat je audio ooit aanraakt — en die stuurt de audio niet naar ons.

Waarom we voor deze architectuur kozen

Toen we Gaavala als Chrome-extensie herbouwden, namen we een bewuste architectuurbeslissing: de extensie zou gebruikers via onze backend authenticeren, de abonnementsstatus beheren en metadata leveren — maar ze zou nooit in het audiopad zitten. De redenering was rechttoe rechtaan:

De gegevensstroom in detail

Laten we kijken naar wat er daadwerkelijk gebeurt wanneer je in een vergadering de transcriptie start.

Stap 1: Authenticatie

Wanneer je voor het eerst bij Gaavala inlogt, gebruikt de extensie de chrome.identity.launchWebAuthFlow API van Chrome om een OAuth Authorization Code-flow met Google of Microsoft af te ronden. De identityprovider geeft een authorization code terug aan je browser, die de extensie bij onze backend inwisselt voor een Gaavala-sessie-JWT. Die JWT wordt opgeslagen in chrome.storage.local en wordt gebruikt om volgende API-aanroepen naar onze backend te authenticeren.

Hier komt geen audio aan te pas. De OAuth-flow is puur tekst — tokens, claims, profielvelden.

Stap 2: Tijdelijke Soniox-sleutel

Wanneer je in een vergadering op "Start" klikt, roept de extensie onze backend-API aan om een kortlevende tijdelijke Soniox-sleutel op te vragen. Die sleutel heeft drie belangrijke eigenschappen:

Het patroon met tijdelijke sleutels is cruciaal voor het privacyverhaal. Als Gaavala een langlevende Soniox-API-sleutel in de extensiebundel zou meeleveren, kon iedereen die eruit halen. In plaats daarvan geven we wegwerpsleutels uit die op aanvraag worden aangemaakt, gebonden zijn aan je geauthenticeerde sessie, en kort na het einde van de sessie ongeldig worden.

Onze backend logt alleen de metadata van dat verzoek — welke gebruiker, welk tijdstip, welk abonnementsniveau. Ze ziet geen audio, omdat er nog geen audio is vastgelegd.

Stap 3: Tabbladaudio vastleggen

Je neemt in een Chrome-tabblad deel aan je gesprek in Microsoft Teams, Zoom, Google Meet of Webex. De Gaavala-extensie opent het zijpaneel en vraagt je om het vastleggen van audio te starten. Bevestig je dat, dan gebruikt de extensie de tabCapture API van Chrome — een API die alleen voor extensies bestaat en waarmee audio van het actieve tabblad kan worden vastgelegd met expliciete toestemming van de gebruiker en een zichtbare indicator.

Chrome routeert de vastgelegde audio naar een offscreen-document dat Gaavala op de achtergrond draait. Het offscreen-document is een sandboxed pagina die de extensie kan gebruiken om audioverwerking af te handelen zonder zichtbare UI aan te houden. Binnen dat offscreen-document opent Gaavala een MediaStream, verbindt die met een AudioContext en maakt hem klaar om te streamen.

Cruciaal is dat de audio ook door een lokale audiograaf loopt die het geluid terugvoert naar je speakers. Dat betekent dat je de vergadering gewoon kunt blijven horen terwijl Gaavala haar vastlegt — er wordt niets gedempt of omgeleid.

Stap 4: Directe WebSocket naar Soniox

Het offscreen-document opent vervolgens een WebSocket-verbinding rechtstreeks naar Soniox (wss://stt-rt.soniox.com/...). Die verbinding:

De uit het tabblad vastgelegde audioframes worden als PCM gecodeerd en over de WebSocket verstuurd. Soniox verwerkt ze in realtime en streamt transcriptietokens over dezelfde verbinding terug. Die tokens — tekstfragmenten met tijdstempel en sprekerlabel — komen rechtstreeks binnen in het offscreen-document, dat ze doorgeeft aan het zijpaneel om te tonen.

Op geen enkel moment in deze hele lus bereikt een audiopakket een server van Gaavala. Je kunt dit zelf verifiëren met Chrome DevTools: open het Network-tabblad met het WS-filter aan terwijl Gaavala draait, en je ziet precies één WebSocket — naar een soniox.com-host — en nul uitgaand verkeer naar gaavala.com met audio erin.

Stap 5: Weergave van het transcript en optionele samenvatting

Transcriptietokens worden op drie oppervlakken gerenderd: het zijpaneel, een zwevende overlay op het vergadertabblad, en de in-memory buffer die voor export wordt gebruikt. Geen van die oppervlakken serialiseert audio. Ze verwerken alleen tekst.

Wanneer je aan het einde van een vergadering een AI-samenvatting activeert, wordt die volledig op je apparaat gegenereerd door de ingebouwde AI van Chrome (Gemini Nano). De transcripttekst verlaat je machine nooit — ze wordt niet naar de backend van Gaavala gestuurd en ook niet naar een derde partij. Vergaderinhoud, of dat nu audio of tekst is, passeert de backend van Gaavala helemaal nooit; het enige dat dat wel doet blijven authenticatie- en abonnementsmetadata.

Welke data de servers van Gaavala zien

Dit is de exacte lijst van data die onze backend verwerkt, over alle functies heen:

Data Wanneer Bewaartermijn Opmerkingen
Gaavala-sessie-refresh-token Bij inloggen Levensduur van het token — verlopen rijen worden dagelijks opgeruimd Je Google/Microsoft-OAuth-token wordt nooit opgeslagen
Gebruikersprofiel (e-mail, naam) Bij inloggen Levensduur van het account Voor facturering + support
Abonnementsstatus Altijd Levensduur van het account Abonnementsniveau, status van de proefperiode
Aanvragen van een tijdelijke Soniox-sleutel Per sessie Alleen in het verzoeklog Geen audio
Teller van transcriptieminuten Per sessie Levensduur van het account Gebundeld per maand, voor het handhaven van het quotum
Anonieme website-analytics Alleen nadat je cookies accepteert Bewaard door Google Analytics, niet in onze database Alleen de website — de extensie rapporteert anonieme fouttellingen die geen gebruikers-ID bevatten

Dit is de exacte lijst van data die onze backend niet ziet:

Zou een rechter Gaavala dagvaarden voor de audio van een specifieke vergadering, dan is het technisch waarheidsgetrouwe antwoord dat we die niet hebben en niet kunnen achterhalen. Ze heeft nooit op onze systemen bestaan.

Controleer het zelf

Een van de voordelen van draaien als Chrome-extensie is dat de volledige runtime inspecteerbaar is. Je IT-team kan onze privacyclaims verifiëren zonder ook maar één woord van deze post te geloven:

Methode 1 — Netwerkinspectie. Open chrome://extensions, zoek Gaavala en klik op "service worker" of "inspect views > background page". Ga in DevTools naar het Network-tabblad en filter op WS (WebSocket). Start een vergadering. Je ziet precies één geopende WebSocket, naar een soniox.com-host. Er gaat geen audio naar gaavala.com.

Methode 2 — Manifestinspectie. Klap in chrome://extensions "Details" open bij Gaavala en bekijk de machtigingen. De host_permissions declareren precies welke origins de extensie kan bereiken. Je ziet Soniox-endpoints voor het streamen en Gaavala-endpoints voor auth en abonnement. Er is geen wildcard-hostmachtiging en geen ongedeclareerde netwerktoegang.

Methode 3 — Broninspectie. De extensie wordt geleverd met een service worker, een offscreen-document, een zijpaneel en content scripts. Chrome stelt die allemaal beschikbaar voor inspectie via de developer tools. Je securityteam kan zich op elk moment aan de background page of het offscreen-document hangen en de runtime-status lezen — inclusief de bevestiging dat het audiostream-object nooit wordt geserialiseerd naar een fetch of XHR richting ons domein.

We publiceren het manifest en de hostmachtigingen als onderdeel van onze Chrome Web Store-vermelding, en we verwelkomen securityonderzoek door derden.

Compliance-mapping

GDPR en dataminimalisatie

Artikel 5(1)(c) van de GDPR legt het principe van dataminimalisatie vast: persoonsgegevens moeten "toereikend, ter zake dienend en beperkt tot wat noodzakelijk is" zijn. Stemdata zijn persoonsgegevens onder de GDPR, en biometrische gegevens wanneer ze voor identificatie worden gebruikt.

De architectuur van Gaavala sluit rechtstreeks aan bij dat principe. Door audio volledig buiten onze systemen te houden, beperken we de persoonsgegevens die we verwerken tot het absolute minimum dat nodig is om een abonnementsbedrijf te draaien — e-mail, naam, factureringsstatus. Voor klanten die een DPIA uitvoeren is onze backend op audioverwerking feitelijk transparant: er valt niets te beoordelen, omdat er niets bij ons binnenkomt.

Soniox is een aparte verwerker in je compliance-keten. Je kunt hun privacypositie onafhankelijk beoordelen, en Soniox publiceert verwerkersvoorwaarden die gelden voor de directe verbinding die je browser met hen maakt.

HIPAA en audio met PHI

Onder HIPAA moet elke leverancier die Protected Health Information verwerkt, opslaat of verzendt een Business Associate Agreement tekenen. Medische consulten bevatten vaak PHI — patiëntnamen, diagnoses, behandelplannen.

Omdat de backend van Gaavala nooit vergaderaudio ontvangt, valt de audiopijplijn buiten de BAA-scope van Gaavala. De relatie die je voor die audioverwerking beoordeelt is die tussen jou en Soniox rechtstreeks — Gaavala is voor die data geen business associate, omdat de data ons niet raakt. Genereer je AI-samenvattingen, dan worden die on-device geproduceerd door de ingebouwde AI van Chrome — de transcripttekst blijft op je machine, dus ook de samenvattingsfunctie haalt Gaavala of een extra leverancier niet de PHI-verwerkingsketen in.

SOC 2-leveranciersrisico

SOC 2-audits vereisen dat organisaties alle derde partijen in hun gegevensverwerkingsketen documenteren en beoordelen. Elke leverancier maakt je System Description complexer en vergroot de scope van je risicobeoordeling.

In de architectuur van Gaavala is Soniox een gegevensverwerker met wie je rechtstreeks te maken hebt, niet via Gaavala. Je leveranciersrisicoregister hoort Soniox op eigen merites te beoordelen, wat veel securityteams overzichtelijker vinden dan het beoordelen van een subverwerkersrelatie. De scope van Gaavala in je risicoregister is smaller: wij verwerken identiteit en facturering — geen ruwe audio, en geen transcript- of samenvattingstekst, want die verlaat de machine van de gebruiker nooit.

Waarom de vorm van een Chrome-extensie uitmaakt

Veel van de bovenstaande privacygaranties hangen ervan af dat Gaavala draait als Chrome-extensie met een netwerkpatroon dat rechtstreeks naar de provider gaat. We hebben verschillende alternatieven overwogen en verworpen:

De vorm van een Chrome-extensie maakte de privacyarchitectuur die we wilden als enige mogelijk. tabCapture, offscreen-documenten en het service-workermodel van Manifest V3 laten de extensie samen audio volledig op de machine van de gebruiker afhandelen, directe verbindingen naar externe diensten openen en de achtergrondstatus aanhouden die lange vergaderingen nodig hebben — zonder dat er iets via ons loopt.

De dingen die we nog steeds goed moeten doen

Privacyarchitectuur eindigt niet bij "we raken de audio niet aan". Er zijn aangrenzende zorgen die we net zo serieus nemen:

Vergeleken met andere vergadervertaaltools

Hoe verhoudt het privacymodel van Gaavala zich tot andere gangbare vergadervertaaltools?

Functie Gaavala Otter.ai Zoom AI Companion Teams Copilot Interprefy
Audio bereikt de backend van de leverancier Nee (rechtstreeks naar Soniox) Ja (Otter-servers) Ja (Zoom-servers) Ja (M365-servers) Ja (platformservers)
Audio bewaard na de vergadering Nee Ja (standaard) Optioneel Optioneel Wisselend
Gebruikt voor modeltraining Nee Opt-out Opt-out Enterprisecontroles Onbekend
Netwerk zelf controleren Ja (DevTools) Nee Nee Nee Nee
Draait als extensie (controleerbaar) Ja Nee Nee Nee Nee
Werkt in Teams/Zoom/Meet/Webex Ja Gedeeltelijk Nee Nee Wisselend

Het verschil dat ertoe doet: in elke andere rij van die tabel vertrouw je op de claims van de leverancier over hoe audio op hun servers wordt behandeld. Bij Gaavala zijn er voor audio geen servers om te vertrouwen, omdat er geen audio op onze servers staat. De claim is verifieerbaar met standaard Chrome-developertools.

Privacy is de standaard, geen betaald niveau

De gratis versie van Gaavala geeft je dezelfde rechtstreeks-naar-Soniox-architectuur, dezelfde speaker diarization en dezelfde dekking van 60 talen. Pro ontgrendelt 120 minuten per dag, Speak Mode en stemklonen — geen privacy. Wij vinden niet dat privacybewuste gebruikers meer zouden moeten betalen om hun data veilig te houden.

Heeft je organisatie vergadervertaaltools historisch afgewezen omdat compliance nee zei tegen het sturen van audio naar de cloud van een leverancier, dan is Gaavala voor dat gesprek gebouwd. De pijplijn is zo ontworpen dat je juridische, security- en complianceteams minder te beoordelen hebben — niet meer.

Voeg Gaavala toe aan Chrome →

Eenmalige gratis proefperiode: 5 minuten transcriptie, wordt nooit gereset. Geen creditcard. Geen registratie op de website.


Verder lezen

Meer Gaavala-gidsen