Перейти к содержимому

Глоссарий

Отпечаток устройства

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

Отпечаток устройства это опознаватель, собранный из самой машины: её экрана, видеокарты, числа ядер и объёма памяти.

Что машина отдаёт о себе

Страница читает всё это в первые миллисекунды захода и ни о чём не спрашивает. Каждое значение по отдельности обычное, а набор уже нет.

  • Экран и плотность точек

    Размер в точках разметки и то, сколько настоящих пикселей стоит за каждой такой точкой.

  • Строка видеокарты

    Имена производителя и отрисовщика, которые сообщает видеокарта, а на многих машинах это прямое имя модели.

  • Ядра и память

    Сколько процессоров признаёт браузер и до какого числа он округляет объём памяти.

  • Точки касания

    Сколько пальцев принимает экран. Ноль на обычном настольном компьютере и пять на большинстве телефонов.

  • Установленные шрифты

    Меряются рисованием строки и сравнением ширин, и это обычная работа страницы, на которую разрешения не нужно.

Что сообщает эта машина

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

Ваша машина прямо сейчас

Экран
измеряем на вашей машине
Плотность точек
измеряем на вашей машине
Ядра процессора
измеряем на вашей машине
Память
измеряем на вашей машине
Точки касания
измеряем на вашей машине

Прочитано в вашем браузере и показано здесь. Никуда не отправляется.

Устройство это целое

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

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

  • Моделей телефонов

    У каждой свой экран, своя плотность точек, своя строка видеокарты, ядра, память и фирменные шрифты.

    22
  • Моделей планшетов

    То же правило, а точки касания и рабочая высота экрана там планшетные, а не настольные.

    7
  • Замеров в самопроверке

    Экран, память, ядра и строки видеокарты среди них, и каждый назван по имени.

    29

Откуда у профиля его аппарат

Значения выводятся из зерна профиля и передаются движку при запуске. Их не переписывает поверх страницы сценарий, когда та уже загрузилась.

Поэтому документ, рамка и рабочий поток отвечают одними и теми же числами. Все трое наследуют один источник, а не правятся поодиночке.

Часто путают с этим

  • Отпечаток браузера

    Более широкий набор, куда входит ещё и то, что браузер сообщает о себе сам, и то, что он рисует.

  • Отпечаток canvas

    Одна рисующая поверхность внутри того набора. Её вид задаёт видеокарта, поэтому эти двое пересекаются, не совпадая.

  • Серийный номер железа

    Страница его прочитать не может. Всё здесь выводится из поведения, наблюдать которое странице позволено.

  • Виртуальная машина

    Она даёт другое устройство ценой десятков гигабайт на каждое и объявляет о себе как о виртуальной машине.

Как прочесть свой аппарат

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

Потом сравните два профиля на одном компьютере. Значения, которые у этой пары расходятся, и есть весь смысл затеи.

Чего это не делает

  • Это не меняет ваше железо. Движок отвечает тем аппаратом, который выдан профилю, а компьютер под ним остаётся ровно тем, чем был.
  • Это не убирает значения из ответа. Браузер, не отдавший ни экрана, ни числа ядер, заметнее любого значения, которое он мог бы отдать вместо этого.
  • Это не покрывает адрес выхода. Аппарат, читающийся как телефон, но пришедший из серверной стойки, это пара, которая между собой не сходится.
  • Это не покрывает поведение и связи аккаунта. И то и другое живёт вне браузера, и ни одно значение с этой страницы их не касается.

Проверить

Каждое утверждение выше это одно место в коде и один стенд.

Аппарат берётся целиком, а не значение за значением
packages/shared/src/index.js
Телефон обязан быть телефоном сразу во всех значениях
apps/desktop/test/mobile-really-mobile.js
Части одного аппарата обязаны сходиться между собой
apps/desktop/test/fingerprint-consistency.js
Замеры устройства, которые идут в самопроверке
apps/desktop/src/lib/fpAudit.js · apps/desktop/test/fp-audit.js

Вопросы

Могут ли два профиля на одном компьютере читаться как два устройства?
По тем значениям, которые доступны странице, да. Они выводятся из зерна каждого профиля, а отдельная проверка в программе говорит, делит ли эти значения другой профиль.
Меняет ли отпечаток устройства очистка хранилища?
Нет. Хранилище лежит на вашей стороне, а эти значения вычисляются из машины заново при каждом заходе.
Редкое устройство безопаснее?
Обычно наоборот. Именно редкость делает набор легко узнаваемым при следующей встрече, поэтому обычная машина проходит тише редкой.
Телефон читается иначе, чем настольный компьютер?
Сильно иначе и сразу в нескольких местах. Точки касания, плотность точек, память и фирменный список шрифтов двигаются вместе.
Где посмотреть, что сообщает мой?
Панель выше отвечает за этот браузер. Профиль показывает все 29 замеров внутри программы, против того движка, который сам же и запустил.

Посмотрите, какой аппарат покажет профиль

Самопроверка идёт внутри профиля и называет каждый замер устройства по имени, и зелёный, и красный.