GDPR監査を完了しました。実際にクローズした内容をお伝えします。
数週間前、私たちはビデオツールのホームページにある「GDPR準拠」という表記は、あなたが思うほど意味を持たないと書きました。GDPRは*あなた(データ管理者)*に対する義務の集合体であり、ベンダーはそれを満たす助けをするか、あるいは黙ってあなたの机の上に置いたままにするかのどちらかです。その主張を誠実に裏付けるには、自社側で作業を行い、一行ずつ示すしかありません。
そして実際に行いました。私たちはデータ処理者として負う義務に対して、InterMINDのコードベース全体の監査を実施し、コードとして実装されているすべてのギャップを修正し、稼働中のプロダクトに対して一つひとつ検証しました。本記事は完了報告書です — バッジではなく、私たちの回答を記したチェックリストです。
私たちは「100% GDPR認証」と意図的に主張しません。GDPRは合格する資格証明書ではありません — また、私たちがまだ取得していないISOバッジを振りかざすつもりもありません。私たちが言えるのは、DPOが取り組むアーキテクチャ上およびプロセス上の義務に対し、現在すでに具体的で検証可能な回答があり、それぞれが稼働中のコードに対して確認済みであるということです。
クローズした内容
消去権(第17条)— カスケードは実際に動作する
アカウントを削除するということは、単に無効化するだけではありません。POST /api/user/delete-account は実際のカスケードを実行します。あなたのミーティング → 参加者、メッセージ、カンファレンス、文字起こしが削除され、データベースカスケードの前に Tigrisからストレージブロブを一掃し、孤立したデータを残しません — チャット添付ファイルと録画ファイルの両方のカラムを確実に消去します。また、Stripeのサブスクリプションをキャンセルし、Stripeの顧客レコードを削除します。オンデマンド削除もあります — UIからチャンネルやメッセージを削除すれば、即座に消去されます。匿名(ゲスト)アカウントには専用の削除エンドポイントに加え、監視下のcronによる6時間ごとのバックグラウンドスイープが用意されています。監査で一つのギャップが浮き彫りになりました — データベースカスケードが録画ブロブを削除してもストレージには残る状態 — これを修正し、消去処理がオブジェクトストレージに何も残さないようにしました。
保持(第5条1項e)— 文書化された基準
第5条1項eは自動的なTTL(有効期限)を要求していません。それは定義された保持基準を要求します。私たちの基準は現在プライバシーポリシーに明記されています — データはあなたまたはチームオーナーが削除するまで保持され、アカウントの削除はすべてを消去します。これはSlackやNotionといったコラボレーションツールが採用しているのと同じモデルです — 永続化が期待される挙動であり、そのコントロールはあなたが握っています。基準は暗黙ではなく、明示されています。
アナリティクスの同意(第6条/第7条)— デフォルトでオプトアウト
Usercentricsの同意バナー(EU訪問者に表示)がアナリティクスをゲートし、PostHogはopt_out_capturing_by_default: trueの設定で出荷されています — 同意が与えられるまで何も収集されず、その逆ではありません。
データポータビリティ(第20条)— 実際に動くエクスポート
GET /api/user/export は、あなたのミーティング、メッセージ、録画、翻訳をまとめたZIPを生成し、7日間のダウンロード期間と自動クリーンアップを提供します。アクセス、削除、ポータビリティは、ポリシー上の約束ではなく、実際に動くツールです。
ミーティングコンテンツは一つのAIゲートウェイへ、EU内で — 組織が選択
ミーティングコンテンツの最大のフローである、音声とチャットのリアルタイム翻訳は、フランスにある私たち独自のエンジンで稼働し、決してサードパーティのLLMには送られません。汎用モデルを使用するAIステップ(ダイジェスト、ドキュメント要約、ノートエディタの生成アクション、Ask AI)は、組織が選択するAIゲートウェイ上で稼働します — デフォルトはEUデータゾーンのAzure OpenAI、選択によりVertex AI EUまたはAmazon Bedrock Frankfurt、それぞれ独自のテナント内で、顧客コンテンツのデータ保持はゼロ、学習にも使用されません。あるいは組織自身のエンドポイント。コード内の単一のリゾルバがすべてのコールサイトのゲートウェイを選択するため、第二の経路は存在しません。また、PostHogのセッション録画がキャプチャしうるカンファレンスのブラウザログから参加者名と発話テキストを削除しました。ベンダーごとの完全なマッピングは、InterMINDのミーティングが実際にどこで動くかに記載されています。
透明性 — 委託先と処理記録、公開済み
委託先リストは公開されており、各ベンダーが何を行い、どこに所在するかが記載されています — 「請求により提供」ではありません。その背後には、稼働中のスキーマから構築された処理活動記録(ROPA)があります — 11の処理操作、それぞれに対するセキュリティ対策、および消去/ポータビリティのパス。私たちのプライバシーポリシーと利用規約は現在、私たち独自の法人の下で運用され、実際の処理チェーンが記述されています。
EUランタイム — 約束ではなく固定化
ミーティングが経由するランタイムのすべてのホップはEU内にあります — アプリとAPIはVercel Frankfurt、ミーティングサーバーはFly Paris、アプリケーションデータはNeon Postgres(AWS Frankfurt)、エラーはSentry EU、アナリティクスはPostHog EU、メールはResend Ireland。Tigrisのオブジェクトストレージは現在EUリージョンに固定(Frankfurt + Amsterdam)されており — ユーザーの場所にかかわらず、すべての新規書き込みはEUに着地します。完全なアーキテクチャはセキュリティページに記載されています。