navigator.platform: устаревший API, который вас отслеживает
Браузер и устройство

navigator.platform: устаревший API, который вас отслеживает

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

8 мин чтения·

navigator.platform — JavaScript-свойство, раскрывающее любому сайту вашу операционную систему — молча, мгновенно и без запроса. Это небольшой, но стабильный фрагмент отпечатка браузера, раскрываемый каждым устройством с современным браузером. Посмотрите своё значение прямо сейчас на whatsmy.fyi.

TL;DR

navigator.platform — свойство JavaScript только для чтения, возвращающее строку, идентифицирующую вашу операционную систему: "Win32", "MacIntel" или "Linux x86_64". Не требует разрешений, не инициирует сетевого запроса и доступно любому скрипту на любой странице. Сам по себе несёт низкую энтропию (~2–4 бит), но системы fingerprinting объединяют его с 30+ другими сигналами. Он также фактически неверен на сотнях миллионов Mac с Apple Silicon, которые по-прежнему сообщают "MacIntel".

Что такое navigator.platform fingerprinting?

navigator.platform — часть Navigator API, набора свойств браузера, доступных JavaScript с середины 1990-х. В отличие от canvas-рендеринга или вывода WebGL, navigator.platform trivially прост для считывания:

console.log(navigator.platform);
// "Win32"          — Windows (как 32-битная, так и 64-битная)
// "MacIntel"       — macOS Intel И Apple Silicon
// "Linux x86_64"   — Linux на 64-битном x86
// "iPhone"         — iOS на iPhone
// "iPad"           — iPadOS (старые iPad; см. ниже)

Значение доступно любому скрипту на любой странице без запроса разрешений, без диалога согласия и без сетевого взаимодействия.

Как работает navigator.platform?

Считывание значения

// Считывание navigator.platform — нулевые затраты, невидимо для пользователя
function getPlatformSignal() {
  return {
    platform: navigator.platform,
    hardwareConcurrency: navigator.hardwareConcurrency,
    deviceMemory: navigator.deviceMemory,
    language: navigator.language,
    languages: navigator.languages,
    maxTouchPoints: navigator.maxTouchPoints,
  };
}

// Пример вывода на MacBook Pro (Apple Silicon):
// {
//   platform: "MacIntel",       ← фактически неверно — это ARM, не Intel
//   hardwareConcurrency: 10,
//   deviceMemory: 8,
//   language: "ru-RU",
//   languages: ["ru-RU", "ru", "en"],
//   maxTouchPoints: 0,
// }

Валидация согласованности — реальная сила fingerprinting

Системы обнаружения мошенничества используют navigator.platform как «якорь истины». Если браузер отправляет User-Agent с указанием Windows, но navigator.platform возвращает "Linux x86_64", противоречие — почти верный сигнал подделки, автоматизации или неправильно настроенного headless браузера.

Значения строк платформы

Строка платформыЗначениеДоля ПК
"Win32"Windows — как 32-битная, так и 64-битная~72%
"MacIntel"macOS на Intel — и все Mac с Apple Silicon M1/M2/M3/M4~16%
"Linux x86_64"Linux на 64-битном x86~4,7%
"iPhone"iOS на iPhoneМобильные: ~28%
"iPad"iPadOS, но iPadOS 13+ при включённом «Запросить сайт для ПК» возвращает "MacIntel"Мобильные: сокращается

Парадоксы Apple Silicon и iPad

Apple Silicon возвращает «MacIntel»

Каждый Mac с чипом M1, M2, M3 или M4 — ARM-процессорами, представленными в конце 2020 года — по-прежнему сообщает navigator.platform === "MacIntel". Apple и разработчики браузеров выбрали обратную совместимость в ущерб точности. Сотни миллионов устройств Apple Silicon неверно идентифицируют себя уже более четырёх лет.

Как защититься?

  • Tor Browser (наиболее сильная защита): Tor стандартизирует navigator.platform у всех пользователей в одной категории ОС. Цель — большой анонимный набор, где каждый пользователь Tor выглядит идентично.
  • Firefox с privacy.resistFingerprinting: Включение флага заставляет Firefox подделывать navigator.platform вместе с несколькими другими свойствами navigator. Однако только ~0,48% пользователей Firefox имеют эту настройку — сам параметр становится отпечатком.
  • Brave Browser (рекомендуется для ежедневного использования): Подход Farbling Brave рандомизирует высокоэнтропийные сигналы fingerprinting, нарушая более информативные сигналы типа canvas и WebGL.
  • Не подделывайте navigator.platform в изоляции: Изменение только navigator.platform без обновления строки User-Agent и строк GPU WebGL создаёт противоречие, которое системы обнаружения мошенничества немедленно обнаружат.
  • Ограничения VPN: VPN не влияет на navigator.platform или любые другие свойства браузера. Проверьте полное раскрытие на whatsmy.fyi.

Часто задаваемые вопросы

Что возвращает navigator.platform на Mac с Apple Silicon?

Возвращает "MacIntel" — то же значение, что и Mac с Intel. Каждый Mac M1, M2, M3 и M4 неверно сообщает архитектуру CPU с 2020 года. Единственный способ определить Apple Silicon из браузера — navigator.userAgentData.getHighEntropyValues(["architecture"]), который правильно возвращает "arm".

Сбрасывает ли очистка cookies мой navigator.platform?

Нет. navigator.platform получается из операционной системы при запуске браузера — не хранится в cookies или любых данных браузера, которые можно очистить.

Связанные статьи

Проверьте свой IP-адрес, местоположение и оценку конфиденциальности — мгновенно.

Без логов. Без слежки. Без внешних API.

Запустить проверку →

Похожие статьи

navigator.platform: устаревший API, который вас отслеживает | whatsmy.fyi