シークレットモード検知の仕組み
プライベートブラウジングのモードは、観測可能な形でブラウザの挙動を変え、検知はそれらの違いを手がかりにします。歴史的には、IndexedDB、FileSystem API、クォータ制限といったストレージAPIは、プライベートウィンドウでは異なる挙動をするか制限されており、それらを調べることでモードが判明しました。ブラウザはこうしたギャップを塞ぐために継続的にこれらの挙動を調整するため、検知技術もそれに合わせて進化します。
検知は、特別な許可なしに、特定のストレージや機能のチェックへの応答を観察することで、標準的なウェブAPIを使ってページの内部から完全に実行されます。ベンダーはプライベートモードの検知を阻止すべきものとして扱うため、信頼できる検知には、単一の固定された小細工に頼るのではなく、各ブラウザの実装に歩調を合わせ続けることが必要です。
重要なのは、シークレットモードの検知が訪問者の識別とは別物だということです。プライベートモードでも、デバイスフィンガープリンティングは、保存された状態ではなくデバイスの特性を活用するため、依然として訪問者識別子を生成します。したがって、同じ訪問者を認識すると同時に、プライベートモードにあるとフラグ付けできます。
不正防止においてシークレットモード検知が重要な理由
シークレットモードは、Cookieやローカルストレージに依存する制御を回避するために頻繁に使われます。プロモーションを再び請求する、余分なアカウントを作成する、従量制のペイウォールを回避するといったことは、セッションごとに保存された状態が消去されると、いずれも容易になります。プライベートブラウジングの検知は有用なシグナルです。正当なユーザーがこうしたアクションのためにそれを必要とすることはめったにないため、不正利用が起きやすいフローにおけるその存在は、とりわけプライベートモードではリセットできないデバイス識別子と組み合わさったときに、適切な疑いを高めるからです。
TRACIOでの扱い方
TRACIOはシークレットモード検知をSmart Signalsの1つとして公開し、それをプライベートモードでも機能し続けるよう設計された識別の手法と組み合わせます。訪問者IDは保存されたCookieではなくデバイスシグナルから導き出されるため、ユーザーは単にプライベートウィンドウを開くだけでは認識から逃れられず、シークレットモードのフラグは、その回避が試みられているときをチームに伝えます。