Технически fingerprint — это хэш или профиль из десятков микросигналов. В вебе и приложениях берут: ОС и её версию (Android/iOS), модель устройства, разрешение экрана и плотность пикселей (DPR), часовой пояс и локаль, список шрифтов, WebGL/Canvas-рендер, аудио-контекст, язык системы и браузера, тип подключения (Wi‑Fi/4G/5G), а также сетевые признаки: ASN оператора, наличие CG‑NAT, диапазон IP и поведение TCP/IP стека. В приложениях добавляют данные из SDK: производительность CPU/GPU, сенсоры, частота кадров, уровень батареи и состояние энергосбережения. В браузере важны User-Agent, Accept headers, список плагинов, размеры viewport, медиазапросы, поведение на таймерах и даже порядок рендеринга шрифтов.
Каждый параметр несёт энтропию — уникальность. Например, разрешение экрана и DPR быстро меняют комбинацию, но склонны к коллизиям у популярных моделей. Canvas/WebGL даёт высокую уникальность, но чувствителен к обновлениям драйверов. Языковые настройки стабильны, но часто типичны для региона. На мобильных сетях нестабильны именно сетевые признаки: динамический IP и CG‑NAT объединяют тысячи устройств за одним внешним адресом, поэтому само по себе совпадение IP — слабый сигнал. Оптимальный подход — агрегировать 15–40 признаков, нормализовать их (обрезать шумные поля), склеивать в профиль и обновлять по “скользящему окну” времени.
Дальше вступает математика. Детерминированные совпадения (жёсткое соответствие профилей) дают низкий процент ложных совпадений, но сильно проседают при апдейтах устройств. Вероятностные модели (scoring) взвешивают вклад каждого признака, учитывают сезонность и паттерны пользователя. На практике гибридная модель повышает устойчивость к “дрейфу”: профиль не рушится из‑за смены Wi‑Fi на LTE, а показывает близкое соответствие. В хорошо настроенных системах доля корректных повторных распознаваний в мобильном трафике 70–90% в течение 7–14 дней даже без cookies; при сильных изменениях окружения метрика может падать до 50–60%, потому что устройство “обновилось”.
Важно помнить про конфиденциальность и закон. Fingerprint — это персональные данные, если по нему можно идентифицировать человека. Значит, обязательны: политика конфиденциальности, уведомление и согласие (opt‑in/opt‑out), цель обработки и срок хранения. Бизнесу лучше работать с агрегированными сигналами и хэшами, исключать чувствительные поля, и применять дифференцированное хранение (короткий TTL для высокоэнтропийных признаков). Для России применимы требования 152‑ФЗ и рекомендации по минимизации данных. В рекламе и аналитике используйте SDK/платформы, которые поддерживают consent mode и audit‑логи.
- Собирайте “устойчивые” признаки: модель, версия ОС, DPI, локаль, часовой пояс, Canvas/WebGL, аудио контекст.
- Нормализуйте шум: округляйте размеры экрана, фильтруйте нестабильные хедеры, не полагайтесь на IP как на главный сигнал.
- Стройте гибридную модель сопоставления и обновляйте профиль по скользящему окну, учитывая дрейф.