ChatGPTは、広告収集ツールを通じて他のウェブサイトでのあなたの行動を把握できるようになりました
概要
- OpenAIの広告プラットフォーム 「bzr.openai.com」が設置する __obiクッキー の仕組み解説
- __obiクッキー は ChatGPTアカウント と紐付けられ、外部サイトからOpenAIへ送信
- サイト横断で ユーザー行動 を追跡し、 個人情報 と結び付け可能
- 同意設定 が「分析のみ」でもクッキーが発行される仕様
- Safari等一部ブラウザ では仕組みが無効、広告主側からは識別不可
OpenAIの__obiクッキーによるサイト横断トラッキングの仕組み
- bzr.openai.com は __obi というクッキーを .openai.com ドメインで発行
- ChatGPT利用時 に16バイトのランダムIDを生成し、JWTトークン化
- JWTには アカウントID(sub) と obi識別子 が含まれる
- トークンの有効期限は 60秒
- クライアントが bzr.openai.com/v1/obi/sync へトークンをPOSTし、 Set-Cookie で__obiが1年間保存
- SameSite=None; Secure 設定で クロスサイト送信 が可能
- 広告主サイト がOpenAIの SDKやピクセルタグ を設置
- サイト訪問時、__obiが 自動的にOpenAIへ送信
- SDKは フォームやページ内容、タグマネージャーのバス から 個人情報 も収集
- メール・電話・氏名は SHA-256ハッシュ化、住所情報は 平文送信
- postal code (郵便番号)は最も多く送信
送信される情報と広告主の役割
- SDKの送信元 は以下の4種
- in (広告主が明示的に渡す値)
- fm, ht, js (フォーム・ページテキスト・タグマネージャーから自動取得)
- タグマネージャーバス 経由でメール・電話等を取得
- window.dataLayer.push のフックや adobeDataLayer、 GTM のパラメータ解析
- 個人情報の一部 はハッシュ化、地理情報や郵便番号は平文
- URLパス は送信されるが、クエリストリングは除外
- 自動マッチング はOpenAI Ads Managerから制御、金融系広告主は全て有効
- パスワード等の機微情報 は除外リストで送信不可
クッキーのクロスサイト性と観測結果
- __obi のみが SameSite=None でクロスサイト送信可
- 他のOpenAIクッキー(oai-did等)は SameSite=Lax やドメイン不一致で送信不可
- 1つの__obi値が 複数広告主サイト でOpenAIに送信される事例を複数観測
- 匿名ユーザー にも安定したIDが割り当てられ、 27日以上持続
- Safari等 の一部ブラウザは サードパーティクッキー禁止 で仕組みが機能しない
OpenAIのクッキーポリシーとユーザー同意
- OpenAIのクッキーポリシーで __obiは分析用クッキー として記載
- 1年間有効、 chatgpt.com と openai.com で利用
- 分析のみ同意 でも__obiが発行される挙動
- マーケティング同意を拒否 しても__obiは送信される
- OpenAIへの問い合わせに対し、 明確な回答なし
広告主の視点と他社との比較
- __obi は 広告主のドメインからは読めない 設定
- Meta(Facebook)やGoogle のピクセルと同等の仕組み
- AIチャットサービスでの運用 は前例がない
- ユーザーがAIチャットに入力する内容 はSNSより機微な場合が多い
制限事項・未解決点
- Chrome for Android で検証、 iOSブラウザやSafari では無効
- 全てのChatGPTセッション で同期が発生するわけではない
- OpenAIサーバー側でのアカウント解決 は設計上可能だが、観測は未実施
- __obref (別のクッキー)は 広告主ごとに異なり、クロスサイト送信不可
まとめ
- OpenAIの__obiクッキー は ChatGPTアカウント と外部サイトの行動を 強力に結び付ける 設計
- 広告主やユーザーの同意設定 に関わらず、 分析目的 として広範囲の追跡が可能
- AIチャットサービス ならではの プライバシーリスク が存在
- ユーザーや広告主が気づきにくい 形でデータ収集が行われている点に注意