В последнее время из каждого утюга можно услышать такую фразу — «отпечатки браузера», «цифровой отпечаток устройства», «фингерпринт». Все эти фразы описывают одну и ту же характеристику, которая влияет на нашу с вами уникальность в сети интернет. 

Привет! Я Александр, пишу для антидетект‑браузера Aurorium и по совместительству являюсь специалистом в вопросах автоматизации и парсинга. В этом материале мы рассмотрим, что такое отпечаток браузера и что изменилось в технологии за 6 лет, кофе или чай приветствуются — мы начинаем!

Отпечаток браузера не возник недавно — о нем знали уже тогда, когда мессенджеры еще не ловили на парковке, а сахар был слаще, трава зеленее и вода мокрее. В далеком 2020 году были робкие попытки препарировать это понятие и рассказать окружающим, как там все устроено. 

Много воды с тех пор утекло, как и много нового добавилось в понятие «отпечаток устройства». Ну а где, как не в блоге антидетект‑браузера, разобрать, что такое фингерпринт, почему он важен для цифровой гигиены и куда движется антифрод в вопросах отслеживания нас с вами в сети? Давайте разбираться!

Что такое отпечаток браузера, фингерпринт, цифровой отпечаток устройства?

Для начала разберемся с базой — что такое отпечаток браузера?

Цифровой отпечаток (он же фингерпринт) представляет собой массив данных, собираемый сайтами на основе конфигурации программного и аппаратного обеспечения устройства. Данная технология необходима сайтам для идентификации пользователя и отслеживания его активности на ресурсе.

Фактически отпечаток браузера выглядит совсем не так, как отпечаток пальца (хотя, если отбросить формальности, они используются для одного и того же — идентификации владельца), а как набор уникальных символов (буквенно‑цифровой хеш). По этому хешу сайты могут точно определить, что конкретный пользователь уже заходил на их ресурс и выполнял там определенные действия.

Вот так выглядит отпечаток браузера:

9f027107d318c3e20f588895bf96b352f1271abe32fe9d93a63816f183ba70a4

Зачем сайтам следить за нашей активностью? Самое базовое — чем больше сайт знает о том, куда кликает юзер, какие темы он предпочитает, чем интересуется в сети, тем более релевантную рекламу он сможет ему предложить. Как бы ни пытались отдельные площадки убедить нас в неподкупности и отвращении к деньгам, все так или иначе на них завязано.

Даже на «анонимном» поисковике DuckDuckGo (поисковик изначально выступал — и, кстати, продолжает выступать) как некоммерческая структура, и его главной фишкой всегда был отказ от сбора пользовательских данных для контекстной рекламы) можно запустить контекстную рекламу.

Помимо меркантильного интереса, сайты и сервисы собирают отпечатки браузера с целью защиты ресурсов от массовых автоматизированных действий (парсинг, абузинг, мультиаккаунтинг и иная активность, способная нанести ущерб сайту).

Фингерпринтинг постепенно эволюционировал из инструмента маркетологов для продажи рекламы и стал ядром систем кибербезопасности. Но такая трансформация была не случайна — об этом дальше.

Что изменилось и почему отпечаток браузера усложняется с каждым годом?

Если посмотреть на самый популярный материал, который можно найти на Хабре по запросу «отпечаток браузера» — это будет статья 2020 года, раскрывающая, из чего состоит фингерпринт по состоянию на то время. Но если бы антифрод‑системы использовали этот набор параметров сегодня, дырявее систем бы просто не было. Вот из чего состоял отпечаток в 2020 году:

  • User‑Agent.

  • Часовой пояс.

  • Разрешение экрана и глубина цвета.

  • Supercookies.

  • Настройки куки.

  • Системные шрифты.

  • Плагины к браузеру и их версии.

  • Журнал посещений.

Правда, по какой‑то причине в этот список не попал Canvas, ведь уже тогда его учитывали. 

А что же сейчас? Сегодня цифровой отпечаток устройства выглядит иначе, вот из чего он состоит:

  • Сетевой отпечаток.

  • User‑Agent Client Hints.

  • Данные видеокарты.

  • Графический отпечаток.

  • Акустический отпечаток.

  • Список медиа‑устройств (подключенные камеры, микрофоны, наушники).

  • Утечки реальных адресов через WebRTC.

  • Микротайминги выполнения JavaScript‑кода движком браузера.

  • Поведенческая биометрия (микродвижения мыши, скорость печати).

  • Следы переопределения переменных (детект подмены через Proxy‑объекты).

  • Метрики субпиксельной отрисовки шрифтов (measureText).

  • Аппаратные лимиты (потоки процессора, объем памяти, заряд батареи).

И даже это далеко не полный список (откройте чекер CreepJS, где можно насчитать около 52 параметров).

Чувствуется разница, согласитесь?

Нельзя сказать, что современный отпечаток не использует ничего от фингерпринта образца 2020 года — еще как использует и достаточно активно, но помимо артефактов прошлого, в него добавили много чего еще.

Эволюция отпечатка браузера — от cookies к поведенческой биометрии

Давайте поставим цифровой фингерпринт на временную линию и проследим, как он менялся от года к году. Даже правильней будет назвать это эволюцией анонимности пользователя.

На инфографике четко прослеживается «гонка вооружений», когда пользователи не хотят идти на поводу у антифрод‑систем, они придумывают способы обхода технологий их детектирования. Антифрод‑системы, в свою очередь, не готовы с этим мириться (ишь чего выдумали). Они ищут лазейки, как уникализировать конкретного юзера и за счет чего явно определить, что перед ними конкретный пользователь, с конкретными паттернами поведения.

Звонили ли вам когда‑нибудь с предложением о продаже квартиры в новостройке, хотя как будто бы вы просто один раз зашли на сайт агентства недвижимости и никаких данных не оставляли? Привет вам от технологически подкованного маркетолога данного агентства. Он просил не говорить, как его зовут, но он знает ваш номер телефона.

Как это работает? Трекер на сайте застройщика снял ваш отпечаток браузера и передал его в рекламную сеть. Там этот отпечаток склеился с профилем в базе данных, где к этому же «следу» уже привязан ваш номер телефона (который вы, например, засветили полгода назад, заказывая доставку пиццы с этого же устройства). Трекинг стал сквозным и кросс‑доменным. 

От cookies к физической биометрии

Давайте разбираться с этой эволюцией и с тем, как работают конкретные составляющие отпечатка браузера сейчас.

Начнем с cookies — уверены вы все о них слышали. Сайты годами полагались на куки в вопросах отслеживания активности. Базовая технология опирается на локальное хранилище клиента: сервер кладет на ваше устройство «номерок» (текстовый файл), который браузер предъявляет сайту при ваших следующих визитах. 

Но с ростом цифровой гигиены пользователи начали что‑то подозревать и научились чистить кэш, удалять cookie‑файлы и более активно пользоваться режимом «Инкогнито». 

В качестве последнего гвоздя в крышку гроба по трекерам ударили регуляторы и IT‑гиганты:

  • Внедрение GDPR в Европе заставило сайты вешать раздражающие баннеры «Мы используем cookies, согласны?». Часть пользователей начала нажимать кнопку «Отказаться».

  • Apple внедрила в Safari технологию ITP (Intelligent Tracking Prevention), которая начала урезать сторонние куки.

  • Режим «Инкогнито» и блокировщики рекламы стали приобретать массовый характер.

Самое главное отличие классических cookie от отпечатка браузера в том, что они сохраняются на стороне клиента. Они фактически полностью контролируются пользователем. 

Вот было бы здорово, если бы появился метод, который не требует разрешения на сохранение файлов. И такой метод появился!

Трекеры перешли ко второму этапу — сбору аппаратного отпечатка. 

В отличие от кук, фингерпринт формируется динамически при каждом вашем запросе. Скрипты анализируют конфигурацию вашего железа: активные параметры отрисовки, свойства медиа‑интерфейсов, математические лимиты чипов и много чего еще.

Но самое важное в этом всем — вы не можете контролировать эти параметры или влиять на них базовыми методами (удалить собранные данные не получится, вся информация хранится на стороне сайта, а не локально). Технические характеристики вашего устройства неизменны, вы же не будете каждый раз менять процессор или видеокарту в погоне за анонимностью?

Как вас выдает ваша же видеокарта? Canvas и WebGL

И одним из первых по‑настоящему серьезных видов оружия в арсенале трекеров стали графические отпечатки. Для своего времени эта технология была одновременно максимально простой и максимально эффективной (Canvas‑фингерпринт не утратил своей эффективности в настоящее время). 

Трекер просто просит вашу видеокарту «расписаться», после чего он может с поразительной точностью сравнивать подписи вашей видеокарты в разные моменты вашей активности, и они всегда будут совпадать. Если только вы не поменяете устройство, ну или не обновите драйверы видеокарты и ядро операционной системы (всем олдам на Windows 7 привет).

Как это работает? Элемент HTML5 <canvas> изначально создавался для рисования графики на лету. Но трекеры начали использовать его для создания невидимого холста, на котором скрипт рисует определенный текст и накладывает простые геометрические фигуры.

Суть в том, что разные операционные системы, драйверы и графические чипы используют разные алгоритмы сглаживания шрифтов и субпиксельного рендеринга. Для человеческого глаза разница незаметна, но на уровне пикселей изображения отличаются. Скрипт переводит получившийся невидимый рисунок в формат Base64 и вычисляет из него хеш. Итоговый код и становится тем самым идентификатором (подписью видеокарты).

Технология WebGL пошла еще дальше — она предоставляет браузеру прямой доступ к графическому процессору (GPU). Трекеры не только извлекают строки UNMASKED_VENDOR_WEBGL и UNMASKED_RENDERER_WEBGL (с помощью которых можно определить тип процессора и видеокарты), но и запрашивают глубокие аппаратные характеристики, позволяющие с высокой точностью идентифицировать устройство пользователя.

Но простым чтением строк дело не заканчивается. По аналогии с Canvas, трекер проводит тест на отрисовку, но уже в 3D. Скрипт просит вашу видеокарту отрендерить трехмерную сцену. Из‑за различий видеокарт от AMD, NVIDIA или Apple, особенностей их драйверов и так далее, итоговый результат на пиксельном уровне будет отличаться. Получившийся графический буфер точно так же хешируется, давая антифроду уникальный математический слепок вашего GPU.

Трекеры не следят за вами и не собирают персональные данные таким образом, они просто следят за вашим устройством. Ну это технология такая, без нее никуда, вы же понимаете, правда? Или нет? <сарказм>

На уровне отпечатков устройства в гонку вооружений на стороне простых пользователей (и своих интересов) вступили специалисты по автоматизации и разработчики. 

Первое осознание, что их вычисляют по Canvas, породило первые решения — расширения‑блокировщики. И они работали (и даже продолжают работать), но есть нюанс. Отсутствие данных — это тоже отпечаток

Если у миллиона пользователей сайт нормально отрисовывает Canvas, а на вашем устройстве холст пустой, вы начинаете выделяться на общем фоне. Вас могут заблокировать не за то, что узнали, а за то, что вы пытаетесь скрыться. Превентивная мера, чтобы чего не натворили.

От эры блокировщиков (Блокерозой) к эре антиков (Антикозой)

И вот тогда‑то концепция и изменилась. Зачем блокировать, если можно подменить? Антидетект‑браузеры начали внедрять в Canvas и WebGL “шум” — микроскопические изменения в цветовые значения пикселей, которые ломали оригинальный хеш видеокарты и выдавали системе уникальный, но валидный отпечаток.

И это работало неплохо, пока трекеры не ответили. Во‑первых, они накопили критическую массу отпечатков и научились сверять данные с внутренней базой. Во‑вторых, внедрили анализ консистентности. Если ваш Canvas‑отпечаток меняется при каждом обновлении страницы (чего априори не бывает) или выдает невозможный для заявленной видеокарты результат, антифрод понимает, что, скорее всего, тут работает софт.

Правда, не все сайты имеют свою базу отпечатков или ресурсы для глубокого аппаратного анализа, так что базовый «шум» на менее защищенных ресурсах до сих пор может быть эффективным.

Сетевой отпечаток и продвинутые механики антифрода — наши дни

Постепенно трекеры сайтов начали внедрять все больше и больше проверок, которые незаметны для обычного пользователя, но усложняют жизнь скриптам и ботам. Казалось бы — все логично, сайты борются с автоматизацией, и это никак не касается живых людей. Ключевое слово тут — «казалось бы».

Оправдывать ботов никто не собирается, но под эгидой борьбы с этими бездушными машинами появляются все более изощренные методы отслеживания юзеров. Раньше казалось, что cookies — ключевое зло в вопросах сбора данных о посетителях, но трекеры и так знают, чем вы интересуетесь на сайте, им нужно только быть уверенным, что вы — это вы. Совмещая отпечатки с накопленными базами, сайты знают о вас намного больше, чем вам кажется.

Но мы отвлеклись на страшилки про цифровую анонимность. Сегодня противостояние между трекерами и антидетектами перешло в плоскость, где подмена переменных в JS не всегда срабатывает. Современные системы безопасности используют все более глубокое зондирование вашего устройства.

Антифрод‑системы уже не просто запрашивают данные у вашего браузера после того, как вы зашли на сайт, они научились смотреть на вас еще до того, как браузер скачает HTML‑страницу. При установке HTTPS‑соединения ваш браузер отправляет на сервер пакет ClientHello. Вас фактически еще нет на сайте, а сайт уже может получить ваш сетевой отпечаток и проанализировать его.

Вот так выглядит такой пакет:

TLSv1.3 Record Layer: Handshake Protocol: Client Hello
        Content Type: Handshake (22)
        Version: TLS 1.0 (0x0301)
        Length: 512
        Handshake Protocol: Client Hello
            Handshake Type: Client Hello (1)
            Length: 508
            Version: TLS 1.2 (0x0303)
            Random: c9c7ad6971a42b67dfa5ed3339dbbe1f7bc946f3e57d03fa...
            Session ID Length: 32
            Session ID: 23ea9700711540a7862b184b845f1d3cb780c6b99e1b1e18...
            Cipher Suites Length: 34
            Cipher Suites (17 suites)
                Cipher Suite: TLS_AES_128_GCM_SHA256 (0x1301)
                Cipher Suite: TLS_CHACHA20_POLY1305_SHA256 (0x1303)
                Cipher Suite: TLS_AES_256_GCM_SHA384 (0x1302)
                Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b)
                Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f)
                Cipher Suite: TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca9)
                Cipher Suite: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca8)
                Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02c)
                Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)
                Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
                Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
                Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
                Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
                Cipher Suite: TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c)
                Cipher Suite: TLS_RSA_WITH_AES_256_GCM_SHA384 (0x009d)
                Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
                Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
            Compression Methods Length: 1
            Compression Methods (1 method)
                Compression Method: null (0)
            Extensions Length: 401
            Extension: server_name (len=17)
                Type: server_name (0)
                Length: 17
                Server Name Indication extension
                    Server Name list length: 15
                    Server Name Type: host_name (0)
                    Server Name length: 12
                    Server Name: www.babai.ru
            Extension: extended_master_secret (len=0)
                Type: extended_master_secret (23)
                Length: 0
            Extension: renegotiation_info (len=1)
                Type: renegotiation_info (65281)
                Length: 1
                Renegotiation Info extension
                    Renegotiation info extension length: 0
            Extension: supported_groups (len=14)
                Type: supported_groups (10)
                Length: 14
                Supported Groups List Length: 12
                Supported Groups (6 groups)
                    Supported Group: x25519 (0x001d)
                    Supported Group: secp256r1 (0x0017)
                    Supported Group: secp384r1 (0x0018)
                    Supported Group: secp521r1 (0x0019)
                    Supported Group: ffdhe2048 (0x0100)
                    Supported Group: ffdhe3072 (0x0101)
            Extension: ec_point_formats (len=2)
                Type: ec_point_formats (11)
                Length: 2
                EC point formats Length: 1
                Elliptic curves point formats (1)
                    EC point format: uncompressed (0)
            Extension: SessionTicket TLS (len=0)
                Type: SessionTicket TLS (35)
                Length: 0
                Data (0 bytes)
            Extension: application_layer_protocol_negotiation (len=14)
                Type: application_layer_protocol_negotiation (16)
                Length: 14
                ALPN Extension Length: 12
                ALPN Protocol
                    ALPN string length: 2
                    ALPN Next Protocol: h2
                    ALPN string length: 8
                    ALPN Next Protocol: http/1.1
            Extension: status_request (len=5)
                Type: status_request (5)
                Length: 5
                Certificate Status Type: OCSP (1)
                Responder ID list Length: 0
                Request Extensions Length: 0
            Extension: Unknown type 34 (len=10)
                Type: Unknown (34)
                Length: 10
                Data: 00080403050306030203
            Extension: key_share (len=107)
                Type: key_share (51)
                Length: 107
                Key Share extension
                    Client Key Share Length: 105
                    Key Share Entry: Group: x25519, Key Exchange length: 32
                        Group: x25519 (29)
                        Key Exchange Length: 32
                        Key Exchange: ffb2dd5bac187a19211bc26a8d7ade4f7e28d2861a684332...
                    Key Share Entry: Group: secp256r1, Key Exchange length: 65
                        Group: secp256r1 (23)
                        Key Exchange Length: 65
                        Key Exchange: 04d9b4c45ff31926bd495945012ff9252059cd2c406e8bbb...
            Extension: supported_versions (len=5)
                Type: supported_versions (43)
                Length: 5
                Supported Versions length: 4
                Supported Version: TLS 1.3 (0x0304)
                Supported Version: TLS 1.2 (0x0303)
            Extension: signature_algorithms (len=24)
                Type: signature_algorithms (13)
                Length: 24
                Signature Hash Algorithms Length: 22
                Signature Hash Algorithms (11 algorithms)
                    Signature Algorithm: ecdsa_secp256r1_sha256 (0x0403)
                        Signature Hash Algorithm Hash: SHA256 (4)
                        Signature Hash Algorithm Signature: ECDSA (3)
                    Signature Algorithm: ecdsa_secp384r1_sha384 (0x0503)
                        Signature Hash Algorithm Hash: SHA384 (5)
                        Signature Hash Algorithm Signature: ECDSA (3)
                    Signature Algorithm: ecdsa_secp521r1_sha512 (0x0603)
                        Signature Hash Algorithm Hash: SHA512 (6)
                        Signature Hash Algorithm Signature: ECDSA (3)
                    Signature Algorithm: rsa_pss_rsae_sha256 (0x0804)
                        Signature Hash Algorithm Hash: Unknown (8)
                        Signature Hash Algorithm Signature: Unknown (4)
                    Signature Algorithm: rsa_pss_rsae_sha384 (0x0805)
                        Signature Hash Algorithm Hash: Unknown (8)
                        Signature Hash Algorithm Signature: Unknown (5)
                    Signature Algorithm: rsa_pss_rsae_sha512 (0x0806)
                        Signature Hash Algorithm Hash: Unknown (8)
                        Signature Hash Algorithm Signature: Unknown (6)
                    Signature Algorithm: rsa_pkcs1_sha256 (0x0401)
                        Signature Hash Algorithm Hash: SHA256 (4)
                        Signature Hash Algorithm Signature: RSA (1)
                    Signature Algorithm: rsa_pkcs1_sha384 (0x0501)
                        Signature Hash Algorithm Hash: SHA384 (5)
                        Signature Hash Algorithm Signature: RSA (1)
                    Signature Algorithm: rsa_pkcs1_sha512 (0x0601)
                        Signature Hash Algorithm Hash: SHA512 (6)
                        Signature Hash Algorithm Signature: RSA (1)
                    Signature Algorithm: ecdsa_sha1 (0x0203)
                        Signature Hash Algorithm Hash: SHA1 (2)
                        Signature Hash Algorithm Signature: ECDSA (3)
                    Signature Algorithm: rsa_pkcs1_sha1 (0x0201)
                        Signature Hash Algorithm Hash: SHA1 (2)
                        Signature Hash Algorithm Signature: RSA (1)
            Extension: psk_key_exchange_modes (len=2)
                Type: psk_key_exchange_modes (45)
                Length: 2
                PSK Key Exchange Modes Length: 1
                PSK Key Exchange Mode: PSK with (EC)DHE key establishment (psk_dhe_ke) (1)
            Extension: Unknown type 28 (len=2)
                Type: Unknown (28)
                Length: 2
                Data: 4001
            Extension: padding (len=138)
                Type: padding (21)
                Length: 138
                Padding Data: 000000000000000000000000000000000000000000000000

Как это работает? Разные браузеры и разные операционные системы компонуют этот пакет (ClientHello) по‑своему. Меняться может порядок поддерживаемых шифров, расширений, эллиптических кривых и версий протоколов, и этот порядок для определенных ОС и браузеров уникален. Из этих данных формируется хеш сетевого отпечатка.

Но и это далеко не всё. Сегодня цифровой след включает в себя не только статические параметры (что у вас установлено), но и поведенческую биометрию самого браузера (как он работает). Продвинутые скрипты умеют глубоко анализировать процессы:

  • Микротайминги: Замеряется скорость выполнения тяжелых математических функций встроенным движком. Скрипт заведомо знает, с какой скоростью определенный процессор должен решать конкретную задачу. Если результаты не совпадают с физическими лимитами заявленного железа — это может расцениваться как подмена.

  • Обнаружение Proxy‑объектов: Антидетекты используют JavaScript‑объекты Proxy, чтобы перехватывать запросы сайтов и отдавать им поддельные данные (фейковое разрешение экрана или часовой пояс). Современные трекеры проверяют функции на нативность: они измеряют длину стека вызовов (Error.stack) и обнаруживают такие «костыли».

  • Акустический отпечаток: Браузер может генерировать низкочастотный звуковой сигнал (вы его не услышите) и обрабатывать его. Различия в аудиочипах и драйверах создают микроскопические отклонения в синусоиде. Попытки наложить на этот процесс «шум» могут обнаруживаться алгоритмами машинного обучения.

Современный обход проверок, которые устраивает антифрод, строится на патчинге исходного кода самих движков на уровне C++.

Вместо уникализации используется концепция реальных профилей — идеальная имитация реально существующих устройств без добавления шума. Цифровой след должен не выделяться, а растворяться в кластере миллионов обычных посетителей, мимикрировать под них и быть одним из них.

Что дальше? Каким будет очередной этап этой гонки за отпечатком браузера?

Давайте немного пофантазируем, что может придумать антифрод, если текущие методики станут неэффективными.

Аппаратная аттестация. В сети можно найти такие инициативы, как Web Environment Integrity (Google) или Private Access Tokens (Apple), предлагающие перестать верить браузеру и начать верить криптографии. В будущем сервер сможет запрашивать у встроенного в ваш процессор модуля аппаратно подписанный сертификат. Этот токен будет гарантировать, что операционная система не модифицирована, а браузер не был перекомпилирован. Подделать аппаратную подпись программным путем практически невозможно. 

Глубокая поведенческая биометрия. Если отпечаток железа можно подделать, значит, нужно работать с данными человеческого поведения, с самим пользователем. Системы уже сейчас собирают массивы данных о нашей моторике:

  • Ритм и паузы между нажатиями клавиш клавиатуры.

  • Микродрожание и траектории движения мыши.

  • Паттерны скроллинга и чтения.

Имея наборы таких данных и хорошо обученные модели ИИ, антифрод‑системы смогут анализировать эту поведенческую биометрию наравне с техническими характеристиками устройства.

Но описанные примеры будут возможны только тогда, когда у выгодоприобретателей сойдется экономика и потенциальные затраты на внедрение подобных методов будут ниже ожидаемой прибыли от внедрения.

Законность: Серая зона, которой больше нет

Давайте посмотрим на юридическую составляющую сбора отпечатков браузера, насколько это законно и не нарушает ли наши с вами права?

Если кратко — анализ фингерпринта уже приравнен к сбору cookies и не может выполняться без явного на то согласия конечного пользователя. Но площадки все равно его собирают и не получают за это штрафов, почему? Все ради безопасности, но не вашей (как могло показаться), а самих сайтов.

Фингерпринтинг официально приравнен к файлам cookies. Любое, даже самое микроскопическое взаимодействие с оборудованием пользователя (тот же самый вызов невидимого Canvas для генерации хеша) без его согласия — незаконно. 

Если раньше сервис мог просто отмахнуться: «Мы не собираем имена, мы собираем только хеши видеокарт», — то сегодня это не сработает. Хеш вашего железа — это теперь такие же персональные данные.

Лазейка «Legitimate Interest» (Законный интерес)

Но сайты нашли юридическую лазейку, которая позволяет им продолжать делать то, что они делают, и называется эта лазейка «Legitimate Interest» (Законный интерес).

Если вы собираете отпечаток, чтобы догонять пользователя таргетированной рекламой без его согласия — вас оштрафуют.

Но если вы собираете тот же самый отпечаток под эгидой кибербезопасности (борьба с фродом, защита от брутфорса, спам‑ботов или DDoS‑атак) — это признается законным интересом платформы. Вы имеете право защищать свой бизнес.

Теперь стало понятнее, почему в последнее время стали процветать такие площадки, как Cloudflare, Akamai и тому подобное? Мы не собираем данные о вас, чтобы продать вам что‑либо, мы собираем их, чтобы защитить свой бизнес. 

А как эти данные могут использоваться на самом деле, большой вопрос. Вы когда‑нибудь сталкивались с таким понятием, как корпоративная тайна?

Заключение

В контексте повествования в эту статью явно просится открытый финал, так как точка еще не поставлена и в вопросе отпечатков браузера слишком много висячих строк. Что ж, пусть будет так…

Чем больше пользователь пытается защитить свою цифровую анонимность, тем большее сопротивление он ощущает. 

Простой пользователь смотрел в монитор и не мог понять, зачем система начала сканировать его сетчатку и попросила прислать код с обратной стороны банковской карты, он же просто хотел написать «Привет» своему старому другу в социальной сети… 

«Это никогда не закончится „, — мелькнула мысль и экран засветился зеленым цветом…“»

Комментарии (2)


  1. NemoVors
    28.07.2026 07:57

    Мне, как дилетанту в этом вопросе, сразу стало интересно: а вот эта генерация канвасов и прочего - сколько ресурсов компа она подъедает? А ведь они могли бы быть отправлены на что-то полезное. Например, чтобы сайт с одним абзацем текста грузился моментально, а не по 30 секунд :( . Причем ресурсы-то уходят и на стороне клиента и на стороне сервера. /sГде там Грета Тунберг?/s


    1. aurorium_browser Автор
      28.07.2026 07:57

      Практически нисколько не съедает, для пользователя эта процедура практически незаметна.