Client Hints против User-Agent: Настройка полей Sec-CH-UA для прохождения фильтров Google
Готовы защитить свою цифровую личность?
Выберите тариф и запускайте незаметные профили уже сегодня.
Google тихо убивает User-Agent как механизм идентификации браузера — и заменяет его на Client Hints, систему, которая значительно сложнее для манипуляций. Если вы запускаете рекламные кампании через антидетект-браузер или управляете несколькими аккаунтами Google Ads, понимание этой миграции критически важно. Неправильно настроенные Client Hints — один из ведущих сигналов детекции на платформах Google в 2025-2026 годах.
Почему Google отказывается от User-Agent
User-Agent строка десятилетиями служила основным способом идентификации браузера и операционной системы. Но у неё есть фундаментальные проблемы с точки зрения Google: она передаётся пассивно при каждом запросе (нарушение приватности), её легко подделать (проблема с надёжностью), и она содержит одновременно и слишком много, и слишком мало информации в зависимости от контекста.
Проект Privacy Sandbox, запущенный Google в 2019 году, поставил цель постепенной заморозки и замены User-Agent. User-Agent Reduction — официальная политика: начиная с Chrome 110, строка UA по умолчанию содержит только мажорную версию браузера и упрощённую версию ОС, остальное редуцировано до фиксированных значений.
Client Hints API (Accept-CH, Sec-CH-UA-* заголовки) стал официальной заменой. Принципиальное отличие: клиент раскрывает информацию только тогда, когда сервер явно запрашивает её через Accept-CH ответный заголовок, и только для hints, которые пользователь (теоретически) разрешил. На практике это означает, что браузер по умолчанию отправляет минимальный набор hints, а дополнительные данные запрашиваются сервером по мере необходимости.
Анатомия Sec-CH-UA заголовков
Современный Chrome при запросе к серверу, выдавшему Accept-CH, отправляет набор заголовков. Понимание каждого из них необходимо для корректной настройки антидетект-профиля.
Sec-CH-UA — базовый заголовок, отправляемый по умолчанию без явного запроса. Содержит список «брендов» браузера в формате "Chromium";v="124", "Google Chrome";v="124", "Not-A.Brand";v="99". Заметьте три элемента: движок Chromium, конкретный браузер Chrome и намеренно абсурдный «Not-A.Brand» — последний специально включён для предотвращения точного отпечатка браузеров, не предоставляющих эту информацию.
Sec-CH-UA-Mobile — булевый hint: ?0 для десктопа, ?1 для мобильного. Простой, но его несоответствие с другими сигналами (разрешение экрана, Touch API) сразу детектируется.
Sec-CH-UA-Platform — операционная система: "Windows", "macOS", "Linux", "Android", "iOS". Критически важно: должна совпадать с navigator.platform, navigator.userAgent и данными системы шрифтов.
Sec-CH-UA-Platform-Version — версия ОС. Для Windows это номер версии вроде "15.0.0" (Windows 11), для macOS — "14.5.0". Это один из наиболее диагностически ценных hints для систем детекции, потому что конкретная версия ОС определяет доступные системные шрифты, настройки рендеринга и другие аппаратные характеристики.
Sec-CH-UA-Arch — архитектура процессора: "x86", "x86_64", "arm", "arm64". На Mac это "arm" для чипов Apple Silicon, "x86_64" для Intel Mac.
Sec-CH-UA-Bitness — разрядность: "32" или "64". В 2025 году почти все десктопные системы 64-битные, поэтому "32" для десктопного профиля сразу выглядит аномалией.
Sec-CH-UA-Model — модель устройства, релевантна для мобильных ("Pixel 8", "SM-S911B"). Для десктопа — пустая строка.
Sec-CH-UA-Full-Version-List — полные версии всех брендов включая минорные версии и патчи. Формат: "Chromium";v="124.0.6367.82", "Google Chrome";v="124.0.6367.82", "Not-A.Brand";v="99.0.0.0".
Почему несоответствие убивает ваши аккаунты
Google Ads и другие сервисы Google применяют многоуровневую верификацию консистентности между различными источниками информации о браузере. Client Hints — только один слой, и несоответствие между ними — красный флаг первого уровня.
Сценарий 1: платформенное несоответствие. Sec-CH-UA-Platform: "Windows" при наличии шрифтов macOS в font enumeration. Windows и macOS имеют принципиально разные наборы системных шрифтов. Если platform говорит Windows, но список шрифтов содержит San Francisco, Helvetica Neue или другие macOS-шрифты — детектор немедленно фиксирует несоответствие.
Сценарий 2: версионное несоответствие. Sec-CH-UA-Platform-Version для Windows 11 должна быть "15.0.0" или выше. Windows 10 — "10.0.0". Если вы заявляете Windows 11, но другие сигналы (User-Agent legacy string, поведение рендеринга) указывают на Windows 10 — ещё одно несоответствие.
Сценарий 3: архитектурное несоответствие. Заявить Sec-CH-UA-Arch: "arm" на Mac означает, что браузер должен использовать ARM-версию Chrome, которая компилирует JavaScript по-другому. JIT-компиляция производит разные паттерны выполнения на x86 и ARM, и продвинутые системы детекции могут измерить это через timing атаки на производительность.
Сценарий 4: версия браузера vs. возможности. Если Sec-CH-UA заявляет Chrome 124, браузер должен поддерживать все CSS-функции, JavaScript API и поведение, введённые в Chrome 124. Платформы ведут базы данных feature detection для каждой версии браузера.
Как Google использует Client Hints для детекции
Googel Ads применяет Client Hints не только как идентификационный инструмент, но и как сигнал для систем обнаружения недобросовестного трафика. Вот механизмы, которые задействованы.
Анализ бренд-листа. Стандартный Chrome 124 возвращает строго определённый набор брендов в Sec-CH-UA. Антидетект-браузеры на базе Chromium, забывшие обновить брендовые строки или использующие неправильный порядок, легко идентифицируются. Особенно критично поле Not-A.Brand — его версия (v="99", v="8", v="24") меняется по непубличному расписанию, и устаревшее значение — сигнал того, что браузер давно не обновлялся или использует захардкоженные строки.
Временной анализ ответов. Когда сервер отправляет Accept-CH, настоящий браузер отвечает hints в следующем запросе. Если hints появляются с задержкой или отсутствуют в предсказуемых случаях — это аномалия. Некоторые антидетект-браузеры не корректно реализуют механизм Critical-CH, что создаёт наблюдаемые паузы при первичной переписке.
Persisted permissions анализ. Client Hints Permissions Policy определяет, какие hints разрешены через iframe и другие контексты. Настоящий браузер последовательно применяет эти правила. Браузер с неполной реализацией может передавать hints там, где их не должно быть, или наоборот.
Правильная настройка Client Hints в антидетект-браузере
Корректная реализация требует нескольких уровней согласованности.
Первый уровень: синхронизация с User-Agent string. Даже редуцированный UA должен соответствовать Client Hints. Если Sec-CH-UA указывает Chrome 124, в UA string должна быть строка вроде Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36. Мажорная версия должна совпадать.
Второй уровень: синхронизация с navigator JavaScript объектом. navigator.userAgent, navigator.platform, navigator.userAgentData — все должны сообщать консистентные данные. navigator.userAgentData.brands должен возвращать тот же набор брендов, что и Sec-CH-UA заголовок. navigator.userAgentData.platform должен совпадать с Sec-CH-UA-Platform.
Третий уровень: синхронизация с системными характеристиками. Platform Version определяет, какая версия ОС эмулируется. Это должно согласовываться с:
- Набором доступных системных шрифтов
- Поведением canvas рендеринга (разные версии ОС используют разные версии DirectWrite на Windows или CoreText на macOS)
- Доступными системными API (Windows 11 предоставляет некоторые API, недоступные в Windows 10)
- Настройками DPI и масштабирования по умолчанию
Четвёртый уровень: реалистичный бренд-лист. Для Chrome необходимо использовать актуальные значения Not-A.Brand. По состоянию на начало 2026 года:
"Not)A;Brand";v="99", "Google Chrome";v="131", "Chromium";v="131"
Порядок брендов, точная пунктуация в названии Not-A.Brand (она умышленно варьируется между версиями) и версионные номера должны соответствовать реальному Chrome нужной версии. Не угадывайте — используйте реальный браузер той же версии для получения эталонных значений.
Firefox и Client Hints: другая история
Firefox намеренно ограниченно поддерживает Client Hints. Это проектное решение, основанное на приватностных принципах Mozilla. Firefox не отправляет Sec-CH-UA и большинство других CH заголовков — и именно поэтому антидетект-браузеры на базе Firefox (включая Camoufox, лежащий в основе Santiago Browser) имеют принципиально другую поверхность атаки.
С точки зрения прохождения фильтров: профиль Firefox не обязан соответствовать требованиям Client Hints, потому что реальный Firefox их не отправляет. Это не слабость — это преимущество. Система детекции, ищущая несоответствия в Sec-CH-UA, просто не находит эти заголовки и не может использовать их как сигнал против Firefox-профиля.
Однако это создаёт другую задачу: Firefox-профиль должен быть достоверным Firefox-профилем. navigator.userAgentData у Firefox вернёт пустое значение или исключение — это нормально для Firefox, но нельзя случайно включить Chrome-специфичное поведение в Firefox-профиль.
Google Ads: специфика детекции и рекомендации
Google Ads Transparency Center и системы качества трафика в Google Ads уделяют особое внимание нескольким аспектам Client Hints.
Временная стабильность браузерной версии. Реальный браузер обновляется. Аккаунт, использующий Chrome 124 в течение 6 месяцев, выглядит подозрительно — за это время вышло несколько крупных обновлений Chrome. Если вы используете фиксированный набор Client Hints, регулярно обновляйте версию браузера в профиле.
Географическая согласованность версии. Разные регионы получают обновления Chrome по разным расписаниям. Chrome 131 в момент релиза может быть недоступен в некоторых регионах. Если IP указывает на регион с медленным развёртыванием, использование последней версии Chrome может выглядеть аномально.
Корреляция с поведением в рекламной системе. Google Ads анализирует не только технические характеристики, но и паттерны поведения. Множество аккаунтов с идентичными Client Hints (захардкоженный набор заголовков) при разных IP-адресах — классический паттерн детекции клик-фарма.
Практический вывод: каждый профиль должен использовать уникальную версию браузера в разумном диапазоне (±2-3 мажорных версии от текущей), последовательно обновляемую с реалистичными интервалами. Не все 1000 профилей должны одновременно «обновиться» до той же версии Chrome.
Инструменты для проверки корректности
Перед запуском операций необходимо верифицировать консистентность Client Hints вашего профиля.
https://www.whatismybrowser.com/ — базовая проверка UA и platform hints.
https://browserleaks.com/client-hints — полный дамп Client Hints, отправленных вашим браузером.
https://uacheck.netlify.app/ — специализированный инструмент для UA/CH консистентности.
Chrome DevTools (F12 → Network → любой запрос → заголовки запроса) — прямой просмотр отправляемых hints.
Критически важно: проверяйте не только наличие headers, но и их консистентность с JavaScript-объектами в консоли. Откройте DevTools Console и выполните navigator.userAgentData.getHighEntropyValues(['architecture', 'platformVersion', 'fullVersionList']) — результат должен совпадать с заголовками.
Client Hints продолжат развиваться. Google уже работает над следующим поколением — Privacy Budget, который будет ограничивать суммарное количество entropy bits, доступных сайту. Следить за этой эволюцией и заблаговременно адаптировать конфигурацию профилей — обязательная часть профессиональной работы с антидетект-браузерами.
Готовы защитить свою цифровую личность?
Выберите тариф и запускайте незаметные профили уже сегодня.
Получайте 15% пожизненную комиссию с каждого реферала.
Стать партнёром →