Gaavalaが会議音声を守る仕組み: プライバシー最優先のアーキテクチャ

毎日の勤務時間の中で、何百万人ものプロフェッショナルが機微な情報を扱う会議に参加しています — 合併交渉、患者の診察、法務戦略、四半期決算のプレビュー、人事の判断。そうした会議が言語の壁をまたぐとき、リアルタイム翻訳は不可欠になります。しかし、ほとんどの会議翻訳ツールは、あなたの生の音声をベンダーのクラウドへ送ることを要求します — 法務、コンプライアンス、セキュリティのチームが年々承認できなくなっている、まさにその種のデータ露出面を作り出しながら。

Gaavalaは、自らを音声経路から完全に取り除くように設計されています。当社のChrome拡張機能で会議を走らせているとき、あなたの音声がGaavalaのサーバーを通ることはありません。暗号化されたWebSocketを介して、ブラウザからSonioxの音声認識エンジンへ直接ストリーミングされます — そして当社のバックエンドが、その1バイトすら目にすることはありません。

この記事では、それが具体的にどう機能するのか、どんなデータが回線を渡るのか、そしてこのアーキテクチャが一般的なコンプライアンスフレームワークにどう対応するのかを解説します。

プライバシーの中核原則

ほとんどのSaaS翻訳ツールは、見慣れたデータフローに従います:

  1. ブラウザが会議の音声をキャプチャする
  2. 音声がベンダーのバックエンドへアップロードされる
  3. ベンダーのバックエンドが、その音声を音声認識エンジンへプロキシする
  4. 文字起こしがベンダーのバックエンド経由で返ってくる
  5. その途中で、ベンダーのサーバーが音声をログしたり、キャッシュしたり、保持したりすることが少なくない

この連鎖のすべてのホップが、信頼の境界です。すべてのホップが、ログのバグ、認証情報の漏洩、召喚状、あるいは悪意ある技術者によって、会議の中身が露出しうる場所です。音声に触れる当事者が増えるほど、誰もそれを保持していないと監査人に証明することは難しくなります。

Gaavalaは、プロキシのステップを丸ごと取り除きます。データフローはこうです:

  1. ブラウザがタブから会議の音声をキャプチャする
  2. ブラウザがSonioxへの直接のWebSocketを開く
  3. そのWebSocketを通じて音声が直接ストリーミングされる
  4. Sonioxが文字起こしを直接ブラウザへ返す
  5. Gaavalaのバックエンドは一切関与しない

あなたのマシン上で動いているChrome拡張機能が、あなたの音声に触れる当社のコードの唯一の部分です — そしてその拡張機能は、その音声を当社へ送りません。

なぜこのアーキテクチャを選んだのか

GaavalaをChrome拡張機能として作り直したとき、私たちは意図的なアーキテクチャ上の決定を下しました: 拡張機能は当社のバックエンドを通じてユーザーを認証し、サブスクリプションの状態を管理し、メタデータを提供する — しかし、音声経路に入ることは決してない、という決定です。理由は単純でした:

データフローの詳細

会議で文字起こしを開始したとき、実際に何が起きるのかを見ていきましょう。

ステップ1: 認証

初めてGaavalaにサインインするとき、拡張機能はChromeの chrome.identity.launchWebAuthFlow APIを使い、GoogleまたはMicrosoftとのOAuth認可コードフローを完了します。IDプロバイダーは認可コードをあなたのブラウザへ返し、拡張機能はそれを当社のバックエンドでGaavalaのセッションJWTと交換します。そのJWTは chrome.storage.local に保存され、以降の当社バックエンドへのAPI呼び出しの認証に使われます。

このどこにも音声は関わりません。OAuthフローはテキストだけです — トークン、クレーム、プロフィールのフィールド。

ステップ2: Sonioxの一時キー

会議で「Start」をクリックすると、拡張機能は当社のバックエンドAPIを呼び出し、短命のSoniox一時キーを要求します。このキーには3つの重要な性質があります:

この一時キーのパターンは、プライバシーの物語にとって決定的です。もしGaavalaが長命のSoniox APIキーを拡張機能のバンドルに同梱していたら、誰でもそれを抽出できてしまいます。代わりに私たちは、必要に応じてその場で発行され、あなたの認証済みセッションに紐づき、セッション終了の直後に無効化される使い捨てのキーを発行します。

当社のバックエンドがログするのは、このリクエストのメタデータだけです — どのユーザーが、いつ、どのプランティアで。まだ音声はキャプチャされていないため、音声を見ることはありません。

ステップ3: タブ音声のキャプチャ

あなたはMicrosoft Teams、Zoom、Google Meet、Webexの通話にChromeタブで参加します。Gaavalaの拡張機能はサイドパネルを開き、音声のキャプチャを開始するよう促します。あなたが確定すると、拡張機能はChromeの tabCapture APIを使います — 明示的なユーザーの許可と目に見えるインジケーターのもとで、アクティブなタブから音声をキャプチャできる、拡張機能専用のAPIです。

Chromeはキャプチャした音声を、Gaavalaがバックグラウンドで走らせているoffscreenドキュメントへ流します。offscreenドキュメントは、目に見えるUIを持ち続けることなく音声処理を扱うために拡張機能が使えるサンドボックス化されたページです。そのoffscreenドキュメントの中で、Gaavalaは MediaStream を開き、それを AudioContext に接続し、ストリーミングの準備をします。

決定的に重要な点として、音声はローカルの音声グラフも通ってスピーカーへ音を戻します。つまり、Gaavalaがキャプチャしている間も、あなたは会議を通常どおり聞き続けられます — 何もミュートされず、経路が変わることもありません。

ステップ4: Sonioxへの直接WebSocket

続いてoffscreenドキュメントが、Soniox(wss://stt-rt.soniox.com/...)への直接のWebSocket接続を開きます。この接続は:

タブからキャプチャされた音声フレームはPCMとしてエンコードされ、WebSocketを通じて送られます。Sonioxはそれをリアルタイムで処理し、文字起こしのトークンを同じ接続で返します。それらのトークン — 話者ラベル付きの、タイムスタンプを持つテキスト断片 — は、offscreenドキュメントへ直接届き、そこからサイドパネルへ表示のために転送されます。

このループ全体のどの時点でも、音声のパケットがGaavalaの運用するサーバーに届くことはありません。これはChrome DevToolsを使ってご自身で検証できます: Gaavalaが動いている間にWSフィルターを有効にしたNetworkタブを開けば、WebSocketがちょうど1本だけ — soniox.com のホストへ — 見え、音声を含む gaavala.com 宛ての送信トラフィックはゼロであることが分かります。

ステップ5: 文字起こしの表示と、任意のサマリー

文字起こしのトークンは3つの面にレンダリングされます: サイドパネル、会議タブ上のフローティングオーバーレイ、そしてエクスポートに使われるメモリ内バッファです。これらの面はいずれも音声をシリアライズしません。扱うのはテキストだけです。

会議の終わりにAIサマリーを実行すると、そのサマリーはChromeの組み込みAI(Gemini Nano)によって完全にあなたの端末上で生成されます。文字起こしのテキストがあなたのマシンを離れることはありません — Gaavalaのバックエンドへ送られることも、いかなる第三者へ送られることもありません。会議の内容は、音声であれテキストであれ、そもそもGaavalaのバックエンドを一切通りません。通るのは、認証とサブスクリプションのメタデータだけです。

Gaavalaのサーバーが見るデータ

当社のバックエンドが全機能を通じて扱うデータの、正確な一覧です:

データ タイミング 保持期間 備考
Gaavalaのセッションリフレッシュトークン サインイン時 トークンの有効期間 — 期限が切れたレコードは日次の処理で削除 あなたのGoogle/Microsoft OAuthトークンが保存されることはありません
ユーザープロフィール(メールアドレス、氏名) サインイン時 アカウントの有効期間 請求とサポートのため
サブスクリプションの状態 常時 アカウントの有効期間 プランのティア、トライアルの状態
Sonioxの一時キーのリクエスト セッションごと リクエストログのみ 音声なし
文字起こしの分数カウンター セッションごと アカウントの有効期間 月単位のバケットに分けられ、クォータの適用のため
匿名のウェブサイトアナリティクス Cookieに同意した後にのみ Google Analytics側で保持され、当社のデータベースには保存されません ウェブサイトのみ — 拡張機能はユーザーIDを含まない匿名のエラー件数を報告します

当社のバックエンドが見ないデータの、正確な一覧です:

もし裁判所が特定の会議の音声をGaavalaに召喚したとしても、技術的に正直な答えは、私たちはそれを持っておらず、取り出すこともできない、というものになります。それは当社のシステム上に一度も存在しなかったのです。

ご自身で監査する

Chrome拡張機能として動くことの利点の1つは、ランタイム全体が検査可能だということです。あなたのITチームは、この記事の言葉を1つも信じることなく、当社のプライバシーの主張を検証できます:

方法1 — ネットワークの検査。 chrome://extensions を開き、Gaavalaを見つけ、「service worker」または「inspect views > background page」をクリックします。DevToolsでNetworkタブへ移動し、WS(WebSocket)でフィルターします。会議を開始してください。soniox.com のホストへ向かうWebSocketがちょうど1本だけ開かれるのが見えます。gaavala.com へ音声が向かうことはありません。

方法2 — マニフェストの検査。 chrome://extensions でGaavalaの「Details」を展開し、権限を確認してください。host_permissions は、拡張機能が到達できるオリジンを正確に宣言しています。ストリーミングのためのSonioxのエンドポイントと、認証とサブスクリプションのためのGaavalaのエンドポイントが見えるはずです。ワイルドカードのホスト権限も、宣言されていないネットワークアクセスもありません。

方法3 — ソースの検査。 拡張機能は、サービスワーカー、offscreenドキュメント、サイドパネル、コンテンツスクリプトを同梱しています。Chromeは、それらすべてを開発者ツールでの検査に開放しています。あなたのセキュリティチームはいつでもバックグラウンドページやoffscreenドキュメントにアタッチしてランタイムの状態を読むことができます — 音声ストリームのオブジェクトが当社ドメイン宛てのfetchやXHRへシリアライズされることが決してないと確認することも含めて。

私たちはマニフェストとホスト権限をChrome Web Storeのリスティングの一部として公開しており、第三者によるセキュリティレビューを歓迎します。

コンプライアンスとの対応関係

GDPRとデータ最小化

GDPR第5条(1)(c)はデータ最小化の原則を定めています: 個人データは「十分であり、関連性があり、必要な範囲に限定されている」必要があります。音声データはGDPRの下では個人データであり、識別に用いられる場合は生体データにもあたります。

Gaavalaのアーキテクチャは、この原則と直接的に一致します。音声を当社のシステムから完全に締め出すことで、私たちが処理する個人データは、サブスクリプション事業を運営するために絶対に必要な最小限 — メールアドレス、氏名、請求の状態 — に抑えられます。DPIAを実施する顧客にとって、音声処理に関して当社のバックエンドは実質的に透明です: 何も当社に届かないため、評価すべきものが存在しません。

Sonioxは、あなたのコンプライアンス連鎖における独立した処理者です。そのプライバシー姿勢は独立して確認でき、Sonioxは、あなたのブラウザが直接張る接続に適用されるデータ処理条件を公開しています。

HIPAAとPHIを含む音声

HIPAAの下では、保護対象保健情報(PHI)を処理・保存・送信するベンダーは、事業提携契約(BAA)に署名しなければなりません。医療の診察には、しばしばPHIが含まれます — 患者名、診断、治療計画。

Gaavalaのバックエンドは会議音声を一切受け取らないため、音声のパイプラインはGaavalaのBAAのスコープ外にあります。音声処理について評価すべき関係は、あなたとSonioxの間に直接あるものです — そのデータは当社に触れないため、Gaavalaはそのデータの事業提携者ではありません。AIサマリーを生成する場合も、それはChromeの組み込みAIによって端末上で生成されます — 文字起こしのテキストはあなたのマシンに留まるため、サマリー機能がGaavalaや追加のベンダーをPHIの処理連鎖に持ち込むこともありません。

SOC 2のベンダーリスク

SOC 2の監査では、データ処理連鎖に含まれるすべてのサードパーティベンダーを文書化し評価することが求められます。ベンダーが1つ増えるたびにシステム記述書は複雑になり、リスクアセスメントのスコープは広がります。

Gaavalaのアーキテクチャでは、Sonioxはあなたが直接やり取りするデータ処理者であり、Gaavalaを介した処理者ではありません。あなたのベンダーリスク登録簿は、Sonioxを独立した条件で評価すべきであり、多くのセキュリティチームはこちらのほうが、サブプロセッサー関係を評価するよりも分かりやすいと感じています。この登録簿におけるGaavalaのスコープはより狭くなります: 私たちが扱うのはアイデンティティと請求であって、生の音声ではなく、また文字起こしやサマリーのテキストでもありません — それらはユーザーのマシンを離れないからです。

Chrome拡張機能という形が重要な理由

上に挙げたプライバシーの保証の多くは、GaavalaがChrome拡張機能として、プロバイダーへ直結するネットワークパターンで動作することに依存しています。私たちはいくつかの代替案を検討し、そして退けました:

Chrome拡張機能という形だけが、私たちの望んだプライバシーアーキテクチャを可能にしました。tabCaptureoffscreen ドキュメント、そしてManifest V3のサービスワーカーモデルが組み合わさることで、拡張機能はユーザーのマシン上だけで音声を扱い、外部サービスへ直接接続を開き、長時間の会議に必要なバックグラウンドの状態を維持できます — 何ひとつ当社を経由させることなく。

それでも正しくやり続けなければならないこと

プライバシーのアーキテクチャは「音声に触れない」で終わりではありません。私たちが同じく真剣に受け止めている隣接する懸念があります:

会議翻訳ツール横断の比較

Gaavalaのプライバシーモデルは、他の一般的な会議翻訳ツールと比べてどうでしょうか。

機能 Gaavala Otter.ai Zoom AI Companion Teams Copilot Interprefy
音声がベンダーのバックエンドに届く いいえ(Sonioxへ直接) はい(Otterのサーバー) はい(Zoomのサーバー) はい(M365のサーバー) はい(プラットフォームのサーバー)
会議後に音声が保持される いいえ はい(初期設定) 任意 任意 まちまち
モデルの学習に使われる いいえ オプトアウト オプトアウト エンタープライズの制御 不明
ネットワークを自分で監査できる はい(DevTools) いいえ いいえ いいえ いいえ
拡張機能として動作(監査可能) はい いいえ いいえ いいえ いいえ
Teams/Zoom/Meet/Webexをまたいで動作 はい 部分的 いいえ いいえ まちまち

本当に重要な差はこれです: この表の他のすべての行では、あなたはベンダーのサーバー上で音声がどう扱われているかについて、ベンダーの主張を信じることになります。Gaavalaでは、音声について信じるべきサーバーが存在しません — 当社のサーバーに音声がないからです。この主張は、標準のChrome開発者ツールで検証できます。

プライバシーは初期設定であって、有料ティアではありません

Gaavalaの無料ティアでも、まったく同じSonioxへの直接アーキテクチャ、まったく同じ話者識別、まったく同じ60言語のカバレッジが手に入ります。Proが解放するのは1日120分、Speak Mode、そしてボイスクローンであって、プライバシーではありません。プライバシーを意識するユーザーが、自分のデータを安全に保つために余分に支払うべきだとは、私たちは考えていません。

音声をベンダーのクラウドへ送ることにコンプライアンスがノーと言ったために、あなたの組織がこれまで会議翻訳ツールを退けてきたのなら、Gaavalaはまさにその会話のために作られました。このパイプラインは、あなたの法務、セキュリティ、コンプライアンスのチームがレビューすべきものが増えるのではなく、減るように設計されています。

GaavalaをChromeに追加 →

一度きりの無料トライアル: 5分間の文字起こし、リセットなし。クレジットカード不要。ウェブサイトでの登録も不要です。


関連記事

Gaavalaのガイドをもっと見る