Chrome Privacy Sandbox: що це означає для fingerprinting пристроїв
Chrome обмежує userAgent, Client Hints і сторонні cookie. Як tracio.ai утримує точність 99,5% попри ці обмеження.
Google Privacy Sandbox — це найзначніша зміна у fingerprinting браузерів від часу появи Canvas API. За останні два роки Chrome поступово скоротив обсяг інформації, доступної через navigator API, увів User-Agent Client Hints на заміну рядка user-agent і повністю прибирає сторонні cookie.
Для постачальників fingerprinting пристроїв це одночасно і виклик, і можливість. Виклик очевидний: менше сигналів означає меншу ідентифікаційну спроможність. Можливість полягає в тому, що вендори, які адаптуються, отримають суттєву конкурентну перевагу над тими, хто покладався на тепер обмежені сигнали.
Що змінилося
Найвідчутніша зміна — скорочення рядка navigator.userAgent. Тепер Chrome повертає «скорочений» user agent, який опускає версію ОС, модель пристрою та повну версію браузера. Натомість ця інформація доступна через User-Agent Client Hints — але лише коли її явно запитано через заголовок Accept-CH і за умови дотримання політик дозволів.
Для tracio.ai user agent ніколи не був високорозрізняльним сигналом. Він додавав обмежену розрізняльність до нашого fingerprint, і його цінність спадала, оскільки Chrome, Edge і Brave зближувалися до схожих форматів. Наша багаторівнева архітектура ідентифікації вже класифікувала дані user-agent як сигнал «рівня сесії» — корисний для початкової ідентифікації, але не критичний для міжсесійної стійкості.
Наша стратегія адаптації
Відповідь tracio.ai на Privacy Sandbox має три складові. По-перше, ми змістили фокус на сигнали апаратного рівня, які Chrome не може обмежити без порушення сумісності вебу: рендеринг canvas, точність шейдерів WebGL, характеристики обробки звуку та параметри GPU. Ці сигнали працюють на рівні нижче за засоби контролю приватності браузера — вони залежать від фізичного апаратного забезпечення, а не від конфігурації браузера.
По-друге, ми інвестували в комбінування сигналів на основі ML. Коли окремі сигнали стають менш розрізняльними, комбінація багатьох сигналів усе одно може дати високоунікальний fingerprint. Наша модель на основі AI навчається кореляціям сигналів, які проста конкатенація не вловлює. Конкретна комбінація роздільної здатності екрана + device pixel ratio + hardware concurrency + рендерера GPU + частоти дискретизації звуку може бути майже настільки ж унікальною, як canvas fingerprint окремо.
По-третє, ми розширили наш каталог сигналів поза межі традиційних браузерних API. CSS feature queries, метрики рендерингу шрифтів, характеристики таймингу JavaScript-рушія та поведінка компіляції WebAssembly — усі вони дають ідентифікаційні сигнали, на які не націлені обмеження Privacy Sandbox.
Вплив на точність
Ми відстежуємо точність нашої ідентифікації по релізах Chrome починаючи з версії 110. Ось наші показники:
Chrome 110 (до скорочення): точність 99,7%. Chrome 115 (часткове скорочення UA): точність 99,6%. Chrome 120 (повне скорочення UA): точність 99,5%. Chrome 125 (примусове застосування Client Hints): точність 99,5%.
Падіння на 0,2% припадає передусім на крос-браузерні сценарії mobile Safari — Chrome, де апаратні сигнали відрізняються. Для ідентифікації відвідувачів, що повертаються у тому ж браузері — нашого основного сценарію використання — точність трималася на рівні 99,5% упродовж усього розгортання Privacy Sandbox.
Що буде далі
Google оголосив плани обмежити додаткові API, зокрема знизити точність screen.width/height і обмежити перелічення розширень WebGL. Ми готуємося до цих змін за допомогою альтернативних джерел сигналів і вдосконалених ML-моделей.
Фундаментальне спостереження полягає в тому, що апаратна різноманітність — це основа fingerprinting пристроїв, і ця різноманітність нікуди не дінеться. Доки різні пристрої по-різному рендерять пікселі, по-різному обробляють звук і по-різному виконують код, ідентифікація пристроїв залишатиметься здійсненною з високою точністю. Сигнали, які ми використовуємо, можуть змінюватися, але базовий принцип — кожен пристрій унікальний — залишається.