OpenAI 広告収集トラッキング:__obi クッキーが ChatGPT アカウントとウェブ活動をどのように関連付けるか

OpenAI は、ユーザーがサードパーティーサイトで行う活動を、特定の ChatGPT アカウントと関連付けるためのクロスサイトトラッキングメカニズムを導入しています。この仕組みは bzr.openai.com にホストされた広告収集サーバーと、__obi という特別なクッキーによって実現されています。

トラッキングメカニズム:__obi の仕組み

OpenAI は、署名付きトークンとクロスサイトクッキーを用いた3段階プロセスにより、異なるドメイン間でユーザーのアイデンティティを接続しています。

1. ID の生成と署名

chatgpt.com で、クライアントは16バイトのランダムデータを生成し、POST /backend-api/bazaar/obi/sync-token を通じて同期トークンを要求します。OpenAI のバックエンドは、22文字の識別子(obi)をユーザーのアカウント主体(sub)に紐づける RS256 JWT(JSON Web Token)を返します。このトークンは収集器に限定され、60秒以内に有効期限が切れます。

2. クッキーのデプロイ

その後、クライアントはこの JWT を bzr.openai.com/v1/obi/sync に送信します。サーバーは __obi=«value»; Domain=.openai.com; HttpOnly; Max-Age=31536000; Path=/; SameSite=none; Secure というクッキーを設定します。

このクッキーは SameSite=none かつ Secure に設定されているため、他の OpenAI クッキー(例:oai-did やセッションクッキー)が SameSite=Lax やドメインの不一致によりブラウザでブロックされるのとは異なり、クロスサイトリクエストでも送信が許可されます。

3. 広告主サイトからのデータ送信

ユーザーが OpenAI の測定ピクセル(SDK)を導入したサイトにアクセスすると、ブラウザは自動的に __obi クッキーを OpenAI のホストに送信するリクエストに添付します。これは主に以下の3つの方法で発生します:

  • SDK の読み込み: SDK コードが実行される前、bzrcdn.openai.com/sdk/oaiq.min.js を読み込む <script src> リクエストにクッキーが添付されます。
  • コンバージョンイベント: obref 識別子を含む POST リクエストが bzr.openai.com/v1/sdk/events に送信されます。
  • クレデンシャルなしパス: SDK の「クレデンシャルなし」パスを使用して POST リクエストが bzr.openai.com/v1/sdk/events に送信されます。

データ収集とスクラップされたアイデンティティ

__obi 識別子以外にも、OpenAI の SDK は広告主のページから直接アイデンティティデータを収集しています。SDK は4つのソースからデータをスクラップします:広告主が提供する値(in)、フォームフィールド(fm)、レンダリングされたページテキスト(ht)、タグマネージャーバス(js)。

収集されたデータに関する主な発見は以下の通りです:

  • スクラップ vs. 提供されたデータ: スクラップされたアイデンティティデータは広告主が提供するデータを大きく上回っています(観測トラフィックでは685イベント対255イベント)。
  • 収集されたフィールド: タグマネージャーバス(window.dataLayer.push の代替や adobeDataLayer の読み取り)からメールアドレスと電話番号がターゲットされています。郵便番号が最も頻繁に収集されるフォームフィールドです。
  • プライバシー保護: メールアドレス、電話番号、名前は送信前に SHA-256 でハッシュ化されています。ただし、国、地域、都市、郵便番号は平文で送信されます。
  • 機密データ: パスワード、SSN、医療歴を除外する拒否リストはありますが、観測されたパスには医療状態、債務解決フロー、訴訟受付フォームが含まれていました。

カバレッジとスコープ

調査によると、__obi 識別子は Coursera、HelloFresh、Eventbrite、Wayfair、SeatGeek を含む多様な商業サイトから OpenAI に送信されています。このメカニズムはログインユーザー(subject_type: account_user)とログアウトユーザー(subject_type: anonymous)の両方で動作し、匿名識別子は少なくとも27日間保持されます。

ブラウザと技術的制限

このトラッキングの効果は、ブラウザのクッキー処理ポリシーに依存します:

  • iOS ブラウザ: Safari のインテリジェントトラッキング防止(ITP)および iOS 上の WebKit ベース Chrome がすべてのサードパーティークッキーをブロックするため、このメカニズムは iOS ブラウザでは動作しません。
  • Android Chrome: Chrome for Android ではトラッキングが観測され、正常に機能しています。
  • クッキー分離: 一部のユーザーは、厳格なクッキー分離(CHIPS)を実装するブラウザでは、サードパーティーサイトとして使用されるクッキーのジャーナルが分離されるため、この懸念は無視できると指摘しています。

コミュニティの見解と反論

技術的な議論では、この技術の「標準的」な性質と AI 製品という文脈との間に緊張が生じています。

このメカニズムは標準的な広告テックです。しかし、AIチャット製品でこれを実行している点には前例がありません。人々はソーシャルネットワークに投稿しないような情報をこれらの製品に語っているのに、これらの製品はますますその代わりに行動しています。

批判者は、一部のユーザーがサブスクリプションを支払っているにもかかわらず、依然としてサードパーティークッキー経由でデータが収集されている点が特に懸念されるとしています。他の意見では、bzr.openai.com を DNS でブロックする、または Firefox、Brave、Safari のようにより厳格なクッキー分離を実装するブラウザを使用することが、効果的な緩和策であると提案しています。

Sources

関連

  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch