Jak Gaavala chroni dźwięk Twoich spotkań: architektura z prywatnością na pierwszym miejscu

Każdego dnia pracy miliony profesjonalistów dołączają do spotkań, na których omawia się informacje wrażliwe — negocjacje fuzji, konsultacje z pacjentami, strategię prawną, zapowiedzi wyników kwartalnych, decyzje kadrowe. Gdy takie spotkania przecinają barierę językową, tłumaczenie w czasie rzeczywistym staje się niezbędne. Większość narzędzi do tłumaczenia spotkań wymaga jednak wysłania surowego dźwięku do chmury dostawcy, tworząc dokładnie ten rodzaj powierzchni narażenia danych, której zespoły prawne, compliance i bezpieczeństwa coraz częściej nie mogą zaakceptować.

Gaavala została zaprojektowana tak, aby całkowicie usunąć się z drogi dźwięku. Gdy prowadzisz spotkanie przez nasze rozszerzenie Chrome, Twój dźwięk nie wędruje przez serwery Gaavala. Płynie bezpośrednio z Twojej przeglądarki do silnika speech-to-text Soniox przez szyfrowany WebSocket — a nasz backend nie widzi z niego ani jednego bajtu.

Ten wpis pokazuje dokładnie, jak to działa, jakie dane przechodzą przez sieć i jak ta architektura odwzorowuje się na typowe wymogi zgodności.

Podstawowa zasada prywatności

Większość narzędzi tłumaczeniowych w modelu SaaS podąża za znajomym przepływem danych:

  1. Twoja przeglądarka przechwytuje dźwięk spotkania
  2. Dźwięk trafia na backend dostawcy
  3. Backend dostawcy przekazuje dźwięk do silnika speech-to-text
  4. Transkrypcje wracają przez backend dostawcy
  5. Po drodze serwery dostawcy często logują, buforują lub przechowują dźwięk

Każdy przeskok w tym łańcuchu to granica zaufania. Każdy przeskok to miejsce, w którym błąd w logowaniu, wyciek poświadczeń, wezwanie sądowe albo nieuczciwy inżynier mogą ujawnić treść Twojego spotkania. Im więcej stron dotyka dźwięku, tym trudniej udowodnić audytorowi, że nikt go nie zachował.

Gaavala całkowicie eliminuje etap pośrednika. Przepływ danych wygląda tak:

  1. Twoja przeglądarka przechwytuje dźwięk spotkania z karty
  2. Twoja przeglądarka otwiera bezpośredni WebSocket do Soniox
  3. Dźwięk płynie bezpośrednio przez ten WebSocket
  4. Soniox zwraca transkrypcje wprost do Twojej przeglądarki
  5. Backend Gaavala nigdy nie bierze w tym udziału

Rozszerzenie Chrome działające na Twoim komputerze jest jedynym fragmentem naszego kodu, który kiedykolwiek dotyka Twojego dźwięku — i nie wysyła tego dźwięku do nas.

Dlaczego wybraliśmy tę architekturę

Gdy przebudowywaliśmy Gaavala na rozszerzenie Chrome, podjęliśmy świadomą decyzję architektoniczną: rozszerzenie będzie uwierzytelniać użytkowników przez nasz backend, zarządzać stanem subskrypcji i serwować metadane — ale nigdy nie znajdzie się na drodze dźwięku. Uzasadnienie było proste:

Droga danych w szczegółach

Przyjrzyjmy się temu, co faktycznie dzieje się, gdy uruchamiasz transkrypcję na spotkaniu.

Krok 1: Uwierzytelnianie

Gdy logujesz się do Gaavala po raz pierwszy, rozszerzenie używa API chrome.identity.launchWebAuthFlow w Chrome, aby przeprowadzić wymianę OAuth Authorization Code z Google albo z Microsoftem. Dostawca tożsamości zwraca kod autoryzacyjny do Twojej przeglądarki, a rozszerzenie wymienia go na naszym backendzie na sesyjny token JWT Gaavala. Ten JWT jest przechowywany w chrome.storage.local i służy do uwierzytelniania kolejnych wywołań API do naszego backendu.

Nic z tego nie dotyczy dźwięku. Przepływ OAuth jest wyłącznie tekstowy — tokeny, oświadczenia, pola profilu.

Krok 2: Tymczasowy klucz Soniox

Gdy klikasz „Start" na spotkaniu, rozszerzenie wywołuje API naszego backendu, aby poprosić o krótkotrwały klucz tymczasowy Soniox. Ten klucz ma trzy istotne właściwości:

Wzorzec klucza tymczasowego jest kluczowy dla całej historii prywatności. Gdyby Gaavala umieściła długoterminowy klucz API Soniox wewnątrz paczki rozszerzenia, każdy mógłby go wydobyć. Zamiast tego wystawiamy jednorazowe klucze, generowane na żądanie, powiązane z Twoją uwierzytelnioną sesją i unieważniane krótko po jej zakończeniu.

Nasz backend loguje wyłącznie metadane tego żądania — który użytkownik, o której godzinie, w jakim planie. Nie widzi żadnego dźwięku, bo żaden dźwięk nie został jeszcze przechwycony.

Krok 3: Przechwytywanie dźwięku karty

Dołączasz do swojej rozmowy w Microsoft Teams, Zoomie, Google Meet albo Webexie w karcie Chrome. Rozszerzenie Gaavala otwiera panel boczny i prosi o rozpoczęcie przechwytywania dźwięku. Gdy potwierdzasz, rozszerzenie używa API tabCapture w Chrome — API dostępnego wyłącznie dla rozszerzeń, które pozwala przechwycić dźwięk aktywnej karty za wyraźną zgodą użytkownika i z widocznym wskaźnikiem.

Chrome kieruje przechwycony dźwięk do dokumentu offscreen, który Gaavala uruchamia w tle. Dokument offscreen to odizolowana strona, której rozszerzenie może użyć do obsługi przetwarzania dźwięku bez utrzymywania widocznego interfejsu. Wewnątrz tego dokumentu Gaavala otwiera MediaStream, podłącza go do AudioContext i przygotowuje do strumieniowania.

Co ważne, dźwięk przechodzi też przez lokalny graf audio, który odtwarza go z powrotem w Twoich głośnikach. Oznacza to, że wciąż normalnie słyszysz spotkanie, gdy Gaavala je przechwytuje — nic nie jest wyciszane ani przekierowywane.

Krok 4: Bezpośredni WebSocket do Soniox

Dokument offscreen otwiera następnie połączenie WebSocket bezpośrednio do Soniox (wss://stt-rt.soniox.com/...). To połączenie:

Ramki audio przechwycone z karty są kodowane jako PCM i wysyłane przez WebSocket. Soniox przetwarza je w czasie rzeczywistym i strumieniuje z powrotem tokeny transkrypcji tym samym połączeniem. Te tokeny — fragmenty tekstu ze znacznikami czasu i etykietami mówców — trafiają wprost do dokumentu offscreen, który przekazuje je do panelu bocznego w celu wyświetlenia.

W żadnym momencie tej pętli pakiet audio nie dociera do serwera prowadzonego przez Gaavala. Możesz to sprawdzić samodzielnie w Chrome DevTools: otwórz zakładkę Network z filtrem WS, gdy Gaavala działa, a zobaczysz dokładnie jeden WebSocket — do hosta soniox.com — i zero ruchu wychodzącego do gaavala.com, który zawierałby dźwięk.

Krok 5: Wyświetlanie transkrypcji i opcjonalne podsumowanie

Tokeny transkrypcji renderują się na trzech powierzchniach: w panelu bocznym, w pływającej nakładce na karcie spotkania oraz w buforze w pamięci używanym do eksportu. Żadna z nich nie serializuje dźwięku. Obsługują wyłącznie tekst.

Gdy na koniec spotkania uruchamiasz podsumowanie AI, powstaje ono w całości na Twoim urządzeniu, dzięki wbudowanemu w Chrome AI (Gemini Nano). Tekst transkrypcji nigdy nie opuszcza Twojego komputera — nie jest wysyłany na backend Gaavala ani do żadnej firmy trzeciej. Treść spotkania, czy to dźwięk, czy tekst, w ogóle nigdy nie przechodzi przez backend Gaavala; jedyne, co przez niego kiedykolwiek przechodzi, to metadane uwierzytelniania i subskrypcji.

Jakie dane widzą serwery Gaavala

Oto dokładna lista danych, którymi zajmuje się nasz backend, we wszystkich funkcjach:

Dane Kiedy Retencja Uwagi
Token odświeżający sesji Gaavala Logowanie Czas życia tokenu — wygasłe rekordy usuwane codziennie Twój token OAuth Google/Microsoft nigdy nie jest przechowywany
Profil użytkownika (e-mail, imię) Logowanie Czas życia konta Do rozliczeń i wsparcia
Status subskrypcji Zawsze Czas życia konta Poziom planu, stan wersji próbnej
Żądania tymczasowego klucza Soniox Na sesję Wyłącznie log żądania Bez dźwięku
Licznik minut transkrypcji Na sesję Czas życia konta Grupowany miesięcznie, do egzekwowania limitów
Anonimowa analityka strony internetowej Dopiero po zaakceptowaniu plików cookie Przechowywana przez Google Analytics, nie w naszej bazie danych Tylko strona internetowa — rozszerzenie zgłasza anonimowe liczniki błędów, które nie zawierają identyfikatora użytkownika

A oto dokładna lista danych, których nasz backend nie widzi:

Gdyby sąd zażądał od Gaavala dźwięku konkretnego spotkania, technicznie prawdziwa odpowiedź brzmiałaby, że go nie mamy i nie możemy go odzyskać. Nigdy nie istniał w naszych systemach.

Sprawdź to samodzielnie

Jedną z zalet działania w formie rozszerzenia Chrome jest to, że całe środowisko uruchomieniowe da się zbadać. Twój zespół IT może zweryfikować nasze deklaracje o prywatności, nie ufając ani jednemu słowu z tego wpisu:

Metoda 1 — inspekcja sieci. Otwórz chrome://extensions, znajdź Gaavala, kliknij „service worker" albo „inspect views > background page". W DevTools przejdź do zakładki Network i filtruj po WS (WebSocket). Uruchom spotkanie. Zobaczysz dokładnie jeden otwarty WebSocket, do hosta soniox.com. Żaden dźwięk nie idzie do gaavala.com.

Metoda 2 — inspekcja manifestu. W chrome://extensions rozwiń „Details" (Szczegóły) przy Gaavala i przejrzyj uprawnienia. Sekcja host_permissions deklaruje dokładnie te źródła, do których rozszerzenie może sięgnąć. Zobaczysz punkty końcowe Soniox do strumieniowania i punkty końcowe Gaavala do uwierzytelniania i subskrypcji. Nie ma uprawnienia hosta z symbolem wieloznacznym ani niezadeklarowanego dostępu do sieci.

Metoda 3 — inspekcja kodu. Rozszerzenie dostarcza service worker, dokument offscreen, panel boczny i skrypty treści. Chrome udostępnia je wszystkie do inspekcji przez narzędzia deweloperskie. Twój zespół bezpieczeństwa może w każdej chwili podpiąć się do strony w tle albo do dokumentu offscreen i odczytać stan uruchomieniowy — łącznie z potwierdzeniem, że obiekt strumienia audio nigdy nie jest serializowany do żądania fetch ani XHR w stronę naszej domeny.

Manifest i uprawnienia hostów publikujemy jako część wpisu w Chrome Web Store i chętnie przyjmujemy zewnętrzne przeglądy bezpieczeństwa.

Mapowanie na wymogi zgodności

GDPR (RODO) i minimalizacja danych

Artykuł 5 ust. 1 lit. c GDPR ustanawia zasadę minimalizacji danych: dane osobowe muszą być „adekwatne, stosowne oraz ograniczone do tego, co niezbędne". Dane głosowe są danymi osobowymi w rozumieniu GDPR, a danymi biometrycznymi, jeśli służą do identyfikacji.

Architektura Gaavala wprost odpowiada tej zasadzie. Utrzymując dźwięk całkowicie poza naszymi systemami, ograniczamy przetwarzane dane osobowe do absolutnego minimum potrzebnego do prowadzenia biznesu subskrypcyjnego — adres e-mail, imię, stan rozliczeń. Dla klientów przeprowadzających DPIA nasz backend jest w praktyce przezroczysty w zakresie przetwarzania dźwięku: nie ma czego oceniać, bo nic do nas nie dociera.

Soniox jest osobnym podmiotem przetwarzającym w Twoim łańcuchu zgodności. Możesz niezależnie ocenić jego podejście do prywatności, a Soniox publikuje warunki przetwarzania danych, które obejmują bezpośrednie połączenie nawiązywane przez Twoją przeglądarkę.

HIPAA i dźwięk zawierający PHI

Zgodnie z HIPAA każdy dostawca, który przetwarza, przechowuje lub przesyła chronione informacje zdrowotne (PHI), musi podpisać umowę Business Associate Agreement. Konsultacje medyczne często zawierają PHI — nazwiska pacjentów, diagnozy, plany leczenia.

Ponieważ backend Gaavala nigdy nie otrzymuje dźwięku spotkania, tor audio pozostaje poza zakresem BAA Gaavala. Relacja, którą oceniasz w odniesieniu do przetwarzania dźwięku, łączy Ciebie bezpośrednio z Soniox — Gaavala nie jest tu partnerem biznesowym dla tych danych, ponieważ dane nas nie dotykają. Jeśli generujesz podsumowania AI, powstają one na urządzeniu dzięki wbudowanemu w Chrome AI — tekst transkrypcji zostaje na Twoim komputerze, więc funkcja podsumowań również nie wprowadza Gaavala ani żadnego dodatkowego dostawcy do łańcucha przetwarzania PHI.

Ryzyko dostawcy w SOC 2

Audyty SOC 2 wymagają od organizacji udokumentowania i oceny wszystkich zewnętrznych dostawców w łańcuchu przetwarzania danych. Każdy dostawca dokłada złożoności do opisu systemu i poszerza zakres oceny ryzyka.

W architekturze Gaavala Soniox jest podmiotem przetwarzającym, z którym masz do czynienia bezpośrednio, a nie za pośrednictwem Gaavala. Twój rejestr ryzyka dostawców powinien oceniać Soniox na jego własnych warunkach, co wiele zespołów bezpieczeństwa uznaje za prostsze niż ocenianie relacji z podmiotem podprzetwarzającym. Zakres Gaavala w Twoim rejestrze ryzyka jest węższy: obsługujemy tożsamość i rozliczenia — nie surowy dźwięk i nie tekst transkrypcji ani podsumowania, który nigdy nie opuszcza komputera użytkownika.

Dlaczego forma rozszerzenia Chrome ma znaczenie

Duża część powyższych gwarancji prywatności zależy od tego, że Gaavala działa jako rozszerzenie Chrome ze wzorcem połączeń prosto do dostawcy. Rozważaliśmy — i odrzuciliśmy — kilka alternatyw:

Forma rozszerzenia Chrome jako jedyna umożliwiła architekturę prywatności, jakiej chcieliśmy. tabCapture, dokumenty offscreen i model service workera z Manifest V3 razem pozwalają rozszerzeniu obsłużyć dźwięk w całości na komputerze użytkownika, otwierać bezpośrednie połączenia z usługami zewnętrznymi i utrzymywać stan w tle potrzebny na długich spotkaniach — bez kierowania czegokolwiek przez nas.

To, co wciąż musimy robić dobrze

Architektura prywatności nie kończy się na „nie dotykamy dźwięku". Są też sąsiednie kwestie, które traktujemy poważnie:

Porównanie z innymi narzędziami do tłumaczenia spotkań

Jak model prywatności Gaavala wypada na tle innych popularnych narzędzi do tłumaczenia spotkań?

Funkcja Gaavala Otter.ai Zoom AI Companion Teams Copilot Interprefy
Dźwięk dociera do backendu dostawcy Nie (prosto do Soniox) Tak (serwery Ottera) Tak (serwery Zooma) Tak (serwery M365) Tak (serwery platformy)
Dźwięk przechowywany po spotkaniu Nie Tak (domyślnie) Opcjonalnie Opcjonalnie Różnie
Używany do trenowania modeli Nie Możliwość rezygnacji Możliwość rezygnacji Kontrole enterprise Nieznane
Możliwość samodzielnego audytu sieci Tak (DevTools) Nie Nie Nie Nie
Działa jako rozszerzenie (audytowalne) Tak Nie Nie Nie Nie
Działa w Teams/Zoom/Meet/Webex Tak Częściowo Nie Nie Różnie

Różnica, która ma znaczenie: w każdym innym wierszu tej tabeli ufasz deklaracjom dostawcy o tym, jak obchodzi się z dźwiękiem na swoich serwerach. W przypadku Gaavala nie ma serwerów, którym trzeba by ufać w kwestii dźwięku, bo na naszych serwerach nie ma dźwięku. Tę deklarację da się zweryfikować standardowymi narzędziami deweloperskimi Chrome.

Prywatność jest domyślna, a nie płatna

Bezpłatny poziom Gaavala daje Ci tę samą architekturę z bezpośrednim połączeniem do Soniox, tę samą diaryzację mówców i to samo pokrycie 60 języków. Pro odblokowuje 120 minut dziennie, Speak Mode i klonowanie głosu — nie prywatność. Nie uważamy, by osoby dbające o prywatność musiały płacić więcej za bezpieczeństwo swoich danych.

Jeśli Twoja organizacja historycznie odrzucała narzędzia do tłumaczenia spotkań, bo compliance nie zgadzał się na wysyłanie dźwięku do chmury dostawcy, Gaavala powstała właśnie z myślą o tej rozmowie. Ten tor zaprojektowano tak, by Twoje zespoły prawne, bezpieczeństwa i compliance miały mniej do przeglądania, a nie więcej.

Dodaj Gaavala do Chrome →

Jednorazowa bezpłatna wersja próbna: 5 minut transkrypcji, nigdy się nie resetuje. Bez karty kredytowej. Bez rejestracji na stronie internetowej.


Powiązane artykuły

Więcej przewodników Gaavala