Из чего складывается fingerprint
- User-Agent / Client Hints;
- platform и languages;
- timezone;
- screen/viewport и devicePixelRatio bucket;
- hardwareConcurrency/deviceMemory bucket;
- touch capability;
- нормализованный WebGL vendor/renderer class;
- ограниченный набор browser capabilities.
Почему данные нужно нормализовать
Сырые значения создают лишнюю уникальность и privacy-риск. Для антибота часто достаточно buckets и capability classes. Например, важно не точное количество RAM, а грубая категория и её согласованность с остальными признаками.
Fingerprint stability и churn
Если одна pseudonymous session identity за короткий период меняет GPU, screen, CPU bucket и platform, это может быть risk evidence. Но изменение ориентации телефона или browser update — нормальные причины изменений.
Поэтому churn оценивают по окну времени и числу независимых изменений, а не по одному несовпадению.
Повторное использование fingerprint
Если много независимых visitor identities используют почти одинаковый normalized fingerprint вместе с одинаковыми behavioral sequences, это может указывать на automation fleet. Но корпоративный парк компьютеров и VDI создают похожие группы, поэтому нужен confidence и дополнительные признаки.
Privacy и границы
Антиботу не нужен full DOM, browser history, список расширений, raw canvas image или audio sample. Для Risk достаточно ограниченного, versioned и объяснимого набора coarse features.
Хранение лучше делать pseudonymous и bounded: raw events с коротким TTL, агрегаты — дольше, но тоже с retention policy.
Fingerprint в AntiPF 10.050
Browser Signals Lite использует bounded/coarse telemetry и может строить нормализованный pseudonymous fingerprint для stability/churn/reuse. Он не является самостоятельным основанием permanent BLOCK.