Принадлежащий GitLab сервис Gitter использует методы скрытой идентификации пользователей
Сервис мгновенного обмена сообщениями Gitter, купленный GitLab и затем переведённый в разряд открытых проектов, отслеживает пользователей с помощью методов скрытой идентификации («browser fingerprinting»). В том числе применяется идентификация при помощи Canvas, намерение по использованию которой явно задекларировано в данном коммите. Идентификация выполняется при помощи популярной свободная библиотеки fingerprintjs2, которая также может учитывать для генерации идентификатора таких параметров, как параметры экрана, специфичные HTTP-заголовки, списки установленных плагинов и шрифтов, активность определённых Web API, учёт особенностей WebGL и т.п.
Техника идентификации пользователя при помощи Canvas заключается в скрытой отрисовке картинки на странице, которая затем анализируется на предмет особенностей вывода, специфичных для используемого графического стека, GPU и видеодрайвера. Метод уже достаточно активно применяется рекламными сетями для пассивной идентификации браузеров в случае невозможности сохранения идентификатора в cookie. В невидимом iframe отрисовывается изображение и текст, после чего сформированная картинка читается при помощи getImageData и генрируется хэш загруженных данных, который выступает идентификатором.
© OpenNet