後付けでトラッキング機能が有効化されることについて、はてなとTwitterの場合

前: http://d.hatena.ne.jp/mala/20120308/1331193381

はてなのその後の話

  • http://hatena.g.hatena.ne.jp/hatenabookmark/20120313/1331629463
  • 話題になってからの対応が遅い、という人がチラホラいたけれど、別に対応はそれほど遅いというわけでもないと思う。
  • これは近藤さんがSXSWというイベントに行っていて日本にいなかったためで、収益にも影響する話なので即断できなかったのだろう。
  • こういう時にあとさき考えないで不良社員が勝手に広報したり、勝手に修正しても良いと思う(個人の感想です)
  • 公平のため記しておくとHUG Tokyoというイベントで大西さんにおごってもらった(はてな脆弱性をちょくちょく報告しています)

Twitterの話

  • 先日、Twitterが外部サイト上でのボタン、ウィジェットでトラッキングして、それを元にしておすすめユーザーを表示する、という機能をテストし始めた。
  • http://blog.twitter.com/2012/05/new-tailored-suggestions-for-you-to.html
  • デフォルトでは無効だと思っていたのだけど、ちらほら有効化されているようだ(ヨーロッパ圏を除く、といった具合だろう)
  • 広範なWebサイトに埋め込まれているボタン、ウィジェットに対して、後付けでトラッキング機能が有効化されたことになる
  • ブログでの告知、ユーザーに対するメールでの案内はあるが、興味がない、読んでいない人にとっては勝手に有効化されている。

実装面のこと

  • 俺が気にしているのは、リコメンド機能を通じて非公開のつもりだった情報(例えば特定のサイトを訪問したかどうか)が第三者から知られうるか、といったことだ
  • おすすめされるのは "同じウェブサイトを閲覧しているユーザーが頻繁にフォローしているユーザー"
  • 表示されるのは同じ趣味を持っているユーザーが「頻繁にフォローしているユーザー」なので、この機能によって、ユーザーの訪問サイトが他人から推測されるということは、まず起こらないだろう。
  • ものすごく沢山アカウントを作って特定条件でしか表示されないおすすめユーザーを作る、であったり、他人をトラッキング有効状態にしたアカウントに強制ログインさせておすすめユーザーの傾向から訪問サイトを推測、といった方法は考えられるだろう(しかし得られる情報に対して十分に悪用コストが高いと思う)
  • 将来にわたって安全かどうか、アルゴリズム変更されないか、何かやらかさないかという保証はしないし、できない。
  • Twitterは過去にIPアドレスを使ってユーザー推薦のテストを行っていて、中止している http://nlab.itmedia.co.jp/nl/articles/1105/24/news035.html
  • 「配慮してこうなっているのだろう」と思っていたら実は大して何も考えてなくて、あっさり変更されたりということも良くあるものだ。

登録ユーザーだけか?未登録ユーザーも含めてか?

  • https://support.twitter.com/articles/20169942
  • 一部のユーザーに関しては、登録したタイミングで最適なおすすめユーザーを表示すると言っている。
  • 一般に行われている広告目的でのトラッキングは、Webサイトの履歴を収集するけれど「それが誰なのかは分からない」ようにしている
  • 登録前からのトラッキングを行うと「誰なのか分からない状態」から、Twitterに登録した瞬間に誰であるのか把握できるようになる

Twitterに登録する前から、そのユーザーの好みを把握しようとするとなると、ユーザーはTwitterの規約を「まだ読んでいない」し、それを望んでいるのか判別する方法がない(Do Not Trackヘッダで「拒否」は示せる)

Do Not Trackの話

Twitterは、十分に安全な実装だと考えているからこそ、この機能をデフォルトで有効化するのだろう(ヨーロッパ除いて)。で、俺が懸念していることは「Do Not Trackで拒否できるからいいでしょ」といって「勝手にやっても平気(とされている)ことの範囲」が今までよりも広がってしまうことだ。「拒否できるかどうか」ではなく、どんなidでトラッキングされているか、どんな情報がどこに収集されているのか、何が目的か、非公開のつもりの情報が意図せず他人に知られてしまわないかどうか、を気にしなくてはいけない。今まで広く行われてきたことは「個人を特定可能なid + 自社サービス内の履歴を利用」または「個人の特定が不可能な匿名id + 広範なWebサイトの履歴を利用」であって「個人を特定可能なid + 広範なWebサイトの履歴」というパターンは明示的な同意があって行われることだった(GoogleツールバーでWeb履歴機能を有効にする場合、等)

考えなければいけない差異は何か

単純に比較できない(してはいけない)問題なので、ポイントをいくつか整理しておく。

告知可能かそうでないかの問題
  • はてなブックマークボタンをサイトに設置するユーザーは、必ずしもはてなのユーザーではない(ボタン設置者全員に現実的な手段で告知不可能)
  • TwitterTwitterのボタン・ウィジェットを設置しているサイトに対しては、同様に告知することが出来ないけれど、登録ユーザーに対してはメールでプライバシーポリシーの変更を告知することができる(到達可能なメールアドレスを入力してくださいという建前で)

はてなの場合、トラッキングされるのははてなの登録ユーザーだけではないし、ボタンの表示領域では告知のしようもない。俺はGoogleAdsenseでトラッキング開始したときの前例を参考にするならばWebサイト側のプライバシーポリシーを変更してユーザーに周知させなければならないと書いたがそんなものは建前であって実際にそんな世の中になることを望んでいない。ブラウザがP3Pヘッダを見つけて利用目的とオプトアウト方法を通知バー的なもので表示してCookie受け入れるかどうか送信するかどうか、あるいは次回からリクエスト丸ごとブロックするかどうかなど選択可能な世の中が実現していたならば、そんなものは必要なかった。そうはならなかったので人間が読めるようなプライバシーポリシーを目立つところに掲げろなどという馬鹿げたことになってしまっている。人間に読める形式で書いてあっても肝心の人間は読まない。

Twitterのケースはどうだろうか。基本的にはTwitterのボタンを貼り付けてるサイトは放っておいて良いと思う。まだTwitterに登録していないユーザーにとっては、今まで通り「単にTwitterアクセスログが残る」という認識でいればよく、Twitterに登録しているユーザーに関しては、Twitterのプライバシーポリシーに則って、機能を有効化した場合には集計集約されるということを知っておけばいいからだ。ただし、Twitterに登録していない段階でのトラッキング(Twitterに登録しなければ何にも使われずに10日で捨てられる)をどう扱うべきなのかは分からない。「個人特定が不可能なidでトラッキングするけど、ユーザー登録しない限りは利用されずに捨てられるよ」というパターンでボタン・ウィジェット設置するWebサイト側に何らかの告知が必要なのだろうか(ヨーロッパ圏では必要だ、と言いそう)

利用目的によるリスク評価、広告の場合、リコメンドの場合

広告をクリックした場合に、広告主に対して、広告をクリックしたユーザーの属性が取得できてしまうという問題について過去に書いた http://d.hatena.ne.jp/mala/20111202/1322835191
実装次第では、表示される広告経由で訪問者の属性が推測できてしまう。あるいは行動履歴によって推定されたユーザー情報を確認する機能がある場合、例えばDoubleClick cookieが漏洩すればAds Preferences Manager経由でユーザーの属性情報が直接的に漏洩することになるだろう。

リコメンドの場合でも、不適切な実装をしていたなら、ユーザーの取った行動が間接的に把握できてしまうことになる。

  • TwitterIPアドレスを使っていた事例に見られるような「非公開の情報」を利用してつくると、間接的に非公開のつもりだった情報が公開されてしまうリスクが高まる。
  • Facebookのように頑なに「知り合いかも」のアルゴリズム詳細を公開しないというケースもある。
  • アルゴリズムの詳細を公開することで、spamに利用しやすくなったり、推薦内容から特定個人の行動を推測できてしまう可能性が高まる、というジレンマがある。
ログインidや訪問先URLの情報を受け取る必然性があるか
  • ログイン状態に応じて表示内容を変化させる必然性があるか
  • Facebookのlikeボタンのように同じURLに言及している友人の一覧を表示する機能があるなら、ログイン状態を取得する必要がある。
  • Twitterウィジェットはログイン状態に応じて表示内容が変わるといったことがない。表示が変化するのはフォローボタン(フォローしてるかどうかトグルになっている)ぐらいである。
  • ボタン・ウィジェットが埋めこまれているURLを収集する必然性があるか
  • ブックマーク数を表示する、Twitterでの言及数を表示する、という機能をつけるのであれば、それは見ているサイトのURLを送る必然性がある。
  • 「どのサイトに埋め込まれていても同じ内容を表示する」のであれば、埋めこまれているサイトのURLを取得する必然性がない

はてなマイクロアドへの情報送信にあたってトラッキング用のコードを追加しているし、Twitterも「たまたま取得できる情報を活用しました」ではなく、トラッキング用のコードを追加している(p.twitter.comドメインに送信される)

匿名idでのトラッキングと個人特定可能なidでのトラッキングの区別

だいたい今まで行われてきたのはこんなことだ。

  • 匿名のidで、広告掲載サイト、トラッキングコード使用サイトの行動履歴を取得 (一般的な行動ターゲティング広告)
  • そのサービスのidで、そのサイト内の行動履歴を取得 (サービス提供者自身によるアクセス解析や、改善目的での利用)
  • そのサービスのidで、自社サービスに入力されたプロフィール情報や行動履歴を広告目的につがうが、外部サイトの履歴は収集しない (自社サービス内で十分なデータを集められる大手ポータルサイト等)
  • そのサービスのidで、外部サイトの行動履歴を取得するが、ユーザー明確な同意を得て使う(Google Web History、足あと系のブログパーツ)

個人特定可能なidで外部サイトの履歴を取得して、直接的に特定ユーザーの履歴を商品として販売しまくり、といった話は聞いたことがないし、まあそんなことにはなっていない。Twitterは外部サイトの履歴をおすすめユーザーの改善目的には使うが、広告目的には使わないと明言している。

はてながやったことは、悪く言えばユーザーのWebサイト訪問履歴という個人情報を(金目的で)第三者に売り渡した、ということになってしまう。俺の個人的な考えでは、外部サイトへの埋め込みパーツから取得できるログの利用を「はてな自身がやるよりも遥かにマシ」だと思っている。はてなを信用しているとか、信用していないとかの問題ではなく、個人特定可能なidを持っているサービスが、自社サイト外の、広範な外部サイトの履歴を扱うという選択をするほうがリスクだ。それは重大な責任が伴う行為だ。必然的に自社サービスのユーザー、特定のユーザーがどのサイトを訪問したのかを把握できてしまうことになるからだ。どのユーザーがどのサイトを訪問したのか分かってしまうログなど、積極的に捨てるべきだと思う。実際にどちらのほうがリスクが高いのか、低いのかということを考慮せずに(それをどのように判断するかは人それぞれだとは思うが)、形式上、第三者に履歴情報を提供したということが問題視されてしまった。十分な技術的な見識、前提知識がなければ、ユーザーはどちらがマシなのかということを正常に判断できず、感覚・感情で判断してしまうことになるだろう。

まとめ

  • Twitterは、Do Not Trackで拒否できますよ、といって「個人特定可能なid + 外部サイトの履歴」を使う機能をデフォルトで有効化してしまった(ヨーロッパ除く)。
  • この機能自体には、現状、大したリスクはないだろう。ヨーロッパとかドイツとかで問題になるかも知れないけど。
  • GoogleFacebookが同じことをやるかというと、もっと慎重にならざるを得ないだろう(広告屋でもあるから)
  • しかし全体的に、時間をかけて、同意を取った上で or DNTで拒否できますよ、といって「個人特定可能なid + 外部サイトの履歴」が利用されるようになるのは避けられない傾向であるように思う

俺は「個人特定可能な情報を預かるのであれば」広範なWebサイトの履歴を収集できてしまうような、リスクの高い実装は積極的に避けるべきだと思っている(ログインCookie持っているドメインで外部パーツを作らない) そして、個人特定可能な情報を持っている企業が、広範なWebサイト上の行動履歴情報を取得するということは、あくまでユーザーを匿名のまま取り扱おうとしている広告事業者が同じことを行うよりもリスクが高いと考えている。自分は「信頼して個人情報を預けている企業」であるほど、信頼しない、という一見矛盾しているような選択をする。それは、疎結合の方が望ましいという、エンジニア的な美学の話で、それが広く理解されなければ、なるべく自社サービス内でユーザーのプロフィール、行動情報を蓄積して、大量のデータを保有している企業が勝ち続けることになってしまう。自分が最も懸念しているのはそういう話だ。