Зачем мне эта тема сейчас

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

User-Agent.

Его все видят. Его все парсят. Его все когда-то «подправили» хотя бы в голове. Поэтому вокруг UA много магии и мало дисциплины.

Я читаю его так: это заявление браузера о себе. Не доказательство. Не вердикт. Гипотеза, которую надо сверить с поверхностью, поведением и сетью.

Зачем тогда вообще ещё смотрят на UA

Зачем тогда вообще ещё смотрят на UA
Процесс: UA как заявление

Потому что слой ещё жив.

Серверы, CDN, аналитика, старые антифрод-правила, мобильные витрины — всё ещё опирается на строку. Даже урезанный современный UA несёт грубую версию и семейство. Client Hints добавили структуру: бренды, платформа, mobile-флаг. Это удобнее парсить, чем один длинный хвост.

Но удобство ≠ доказательство.

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

Если браузер назвался свежим Chrome на телефоне — я ожидаю определённый этаж Web API, геометрию окна, сенсоры, поведение touch. Не рецепт подмены. Ожидание согласованности.

Client Hints полезны, но не священны

Client Hints полезны, но не священны
Акценты: CH ≠ доказательство

Hints режутся политиками, расширениями, режимами приватности. Часть полей приходит не всегда. Часть можно ограничить. Документация Chrome прямо описывает User-Agent Client Hints как ответ на раздутый UA и как слой с контролем раскрытия.

Для лаборатории это важно дважды.

Первое: отсутствие полного набора hints — ещё не автоматизация. Иногда это просто приватность.

Второе: наличие «красивых» hints — ещё не честность. Красивое заявление без подтверждающей поверхности — та же история, что бейдж на столе без инструмента рядом.

Я не публикую, как подогнать brands или sec-ch-ua. Это красная линия серии. Публично полезно другое: перестать верить строке как приговору.

Что я рассказываю без рецептов подмены

Три рабочие привычки.

  • Пишу рядом два столбца: «что заявлено» и «что измерено». Если столбцы расходятся — это сигнал противоречия, не сразу ярлык «бот».
  • Снижаю вес одиночного UA-парсинга. Версия из строки без feature-floor и без кросс-проверки — слабая история.
  • Не путаю урезанный UA / приватный режим с автоматизацией. Privacy Sandbox и reduced UA — быт пользователя. Ошибка дизайна — ставить на это клеймо.

Серия называется «двойная лаборатория» не случайно. Детектор без браузера обрастает теориями. Браузер без детекта подгоняет витрину. UA — идеальное место, где обе ошибки встречаются: слишком доверяешь заявлению или слишком легко его «чинишь».

Следующая заметка — про пол версии по Web-API: как открытые детекторы оценивают этаж возможностей, не глядя слепо в строку.

Публичные опоры: https://developer.chrome.com/docs/privacy-security/user-agent-client-hints https://developer.chrome.com/docs/privacy-security/

Общедоступная рамка (ссылки)

Документация Chrome по User-Agent Client Hints прямо говорит: подсказки запрашиваются, режутся, зависят от политики. Рядом — корпус privacy / reduced UA. Открытые consistency-страницы вроде x-bot.tech напоминают: классификация поверхности и «доказательство личности» — разные жанры.

Что это меняет в детекте и/или в билде (без конкретики)

В детекте я учу себя писать «клиент заявляет X», а не «клиент есть X». В исследовательском Chromium цель не «подогнать строку под сайт», а понять, какое заявление я делаю и с чем оно должно согласоваться на поверхности. Эксперимент, где меняется только UA/CH, для меня незакончен, пока не смотрел соседние слои.

Чего я не скажу и почему

Без рецептов подмены UA/CH под конкретные антифроды, без списков «рабочих» строк и без внутренних весов боевого контура. Грамотность чтения заявления — да. Инструкция «как пройти X» — нет.

Короткий вывод от первого лица

User-Agent и Client Hints остаются полезными заявлениями. Я читаю их внимательно и не верю им слепо. В двойной лаборатории они — гипотеза на входе, а не приговор на выходе.

Короткий вывод от первого лица
Заметки: вывод