Блог
LinkedIn читает профиль до первого клика: восемь путей своей слежки
Команда ARMANOS7 мин
Счётчик уходит на тот же сайт
Обычная защита от слежки судит по домену: чужой счётчик живёт на чужом адресе, и отличить его просто. Запрос на сам сайт площадки для такой защиты выглядит обычной загрузкой ленты, и пропускает она его вместе с лентой.
Поэтому площадка считает вас своими же запросами, и идут они вперемешку с нужными. Отличает их только кусок адреса, потому что домен у всего одинаковый, и по домену тут не отличить ничего.
Восемь адресов, на которые уходит визит
Восемь кусков адреса ниже вы увидите у себя, на вкладке с запросами в окне разработчика. Кусок означает отдельный отчёт, и уходят они до того, как вы что-нибудь нажмёте, в первые секунды после загрузки.
Три последних это голые слова: beacon, telemetry и viewedEntity. В адресах они встречаются и на чужих сайтах, поэтому судить по ним можно только внутри самой площадки, и правило заперто на её адресах.
| Что стоит в адресе | Что уходит вместе с ним |
|---|---|
| /li/track | Отчёт о вашем действии на самом сайте |
| /px/ | Счётчик-картинка на адресе самой площадки |
| /li/fta | Отметка первого касания: откуда вы пришли |
| /csp/fta | То же касание, снятое вторым адресом |
| /voyager/api/identity/profileView | Просмотр чужой страницы, названный прямо |
| beacon | Отчёт, уходящий даже при закрытии вкладки |
| telemetry | Общий поток показаний страницы о вас |
| viewedEntity | Что именно попало вам на экран |
Два запроса выдают вас не всегда
Ещё два запроса выглядят обычными до тех пор, пока в адресе не появится одно из слов ниже. С таким словом обычный запрос превращается в отчёт о вас, а без него остаётся нужной частью работы, и трогать его нельзя.
Переписка так рассказывает, что письмо прочитано и что вы набираете ответ прямо сейчас. Поиск рассказывает, что вам показали и на что вы посмотрели, и обе подсказки уходят до вашего ответа.
| Запрос площадки | Когда он становится отчётом |
|---|---|
| /voyager/api/messaging/conversations | В адресе появилось seen или typing |
| /voyager/api/search | В адресе появилось track, analytics или impression |
Чужие счётчики на той же странице
Кроме своих отчётов на странице площадки работают чужие счётчики, и у них адреса других компаний. Вот их как раз и ловит доменный список, а разряды в нём такие, с числом адресов в каждом.
Одиннадцать адресов площадке вообще не принадлежат: поисковик, соцсеть, реклама, сборщик отказов. Остальные стоят на её собственных адресах и на адресе её хранилища картинок, и это тоже отдельные адреса, а не пути.
| Разряд | Адресов |
|---|---|
| Реклама и аналитика | 5 |
| Отметки визита | 6 |
| Тег Insight | 1 |
| Счётчики со стороны | 11 |
Тег площадки стоит на чужих сайтах
Отдельной строкой в списке стоит скрипт, который сайты ставят себе сами ради рекламы на площадке. Зовут его тегом Insight, и лежит он на адресе её хранилища картинок, откуда его и грузят чужие страницы.
Стоит он не на площадке, а на чужом сайте, и сообщает туда о вашем заходе. Поэтому площадка знает про магазины и блоги, где вы в свой аккаунт никогда не входили, и связывает их с аккаунтом по тем же мелочам браузера.
Просмотры профилей площадка считает сама
Площадка показывает владельцу страницы, кто на неё заходил, а приглашение и вовсе видит живой человек, и жалуется на него тоже человек. Поэтому дневной счёт тут значит больше, чем в ленте, где вас поимённо не видит никто.
Отдельный сценарий «Работа / LinkedIn» с четырьмя дневными потолками у нас был и слит со сценарием использования «Соцсети»: выбрать его теперь нельзя, а потолков у соцсетей десять. Потолок это не запрет, а ориентир: полоса «Безопасный темп» желтеет на четырёх пятых и остановить вас не пытается.
Полоса одна на профиль, а не на действие: считает она открытые страницы, потому что только их браузер и видит. Просмотр чужой страницы это тоже открытая страница, и в счёт дня он попадает.
| Действие за день | Потолок |
|---|---|
| Просмотры профилей | 50 |
| Приглашения | 15 |
| Сообщения | 25 |
| Поисковые запросы | 30 |
Десять потолков сценария «Соцсети»
Сценарий «Соцсети» держит десять дневных потолков, и четыре из таблицы выше входят в эту десятку с теми же числами, только «Сообщения» здесь зовутся «Личные сообщения». В первый день профиля от них остаётся пятая часть, и число дня не опускается ниже единицы: две смены аккаунта дают одну, а не ноль.
Считать эти действия за вас программа не умеет, поэтому строки под полосой, в блоке «Безопасный предел в день», это числа без цвета, с порогом «предупреждение с N» второй строкой. Красится только полоса открытых страниц, а решение по остальным остаётся вашим.
| Действие | Первый день | Полный потолок |
|---|---|---|
| Просмотры профилей | 10 | 50 |
| Приглашения | 3 | 15 |
| Поисковые запросы | 6 | 30 |
| Подписки | 8 | 40 |
| Лайки | 24 | 120 |
| Комментарии | 6 | 30 |
| Личные сообщения | 5 | 25 |
| Заявки в друзья | 4 | 20 |
| Посты | 3 | 15 |
| Смены аккаунта | 1 | 2 |
Ссылка помнит, откуда вы её взяли
Ссылку на чужую страницу вы копируете вместе с хвостом. В хвосте лежит отметка о том, откуда вы пришли и кто вам эту страницу показал, и живёт она там до первого перехода.
Программа знает сорок таких меток, среди них trk, lipi, trackingId и li_fat_id, и срезает их при переходе по ссылке в профиле, а сама страница открывается та же. Скопированной ссылки это не касается: чистится то, куда вы идёте, а не то, что вы копируете.
Три списка счётчиков у одного сценария
Сценарий «Соцсети» подключает к профилю три списка сразу: общий, список этой площадки и список соцсетей. Список площадки это те восемь кусков адреса и два правила по запросу, о которых шла речь выше, и работает он только на её собственных адресах.
Шестнадцать из сорока меток, которые программа срезает из ссылок, пришли именно с адресов этой площадки: trk, trkInfo, lipi, lici, trackingId, refId и остальные. Чистка ссылок в сценарии включена, и переход по ссылке из письма приходит на площадку без хвоста.
Чужие сайты от этого не ломаются
Голое слово beacon стоит в адресах на множестве сайтов, и почти везде это обычный файл, а не отчёт. Перекрытое везде, оно ломало посторонние страницы: ради этого правила и заперты на хостах площадки.
Поэтому на чужом сайте такой же запрос проходит как обычно, и страница не ломается. Перекрытым он оказывается только на адресах самой площадки и её хранилища картинок, где и означает отчёт.
Как посмотреть это у себя
Всё названное выше видно из окна разработчика, и ставить для этого ничего не нужно. Откройте вкладку с запросами, зайдите на площадку и не нажимайте ничего хотя бы десять секунд.
Первые секунды и есть самое интересное: отчёты уходят раньше любого вашего действия, и позже вы их среди сотен запросов уже не найдёте. Дальше сверьте увиденное с восемью кусками адреса из таблицы выше, строка за строкой.
- 1
Откройте вкладку с запросами
До перехода на площадку, иначе первые запросы вы пропустите.
- 2
Отфильтруйте по куску адреса
Строка поиска над списком принимает кусок адреса целиком.
- 3
Посмотрите на время
Отчёты уходят раньше, чем страница дорисуется до конца.
- 4
Повторите в профиле
Сравните, что уходит из обычного окна и что из профиля.
Чего это не утверждает
- Это не весь список того, что читает площадка. Названы восемь кусков адреса и два запроса, а полный свой список площадка нигде не публикует.
- Что именно лежит внутри каждого отчёта, снаружи не видно. Названия в таблице прочитаны так, как они написаны в адресе, и площадка их не расшифровывает.
- Перекрытые отчёты не делают аккаунт безопасным. Поведение, темп и история жалоб остаются вашими, и ни один браузер их не меняет.
- Числа выше описывают правила, какими они стоят сегодня. Площадка меняет свои адреса, и набор идёт за ней следом.
Где это можно увидеть самому
Каждое число выше выходит из кода, который можно открыть и запустить.
- Восемь кусков адреса и два правила по запросу стоят одним списком
- apps/desktop/src/lib/tracker-rules.js
- На чужом сайте эти правила не срабатывают ни одним словом
- apps/desktop/test/слежка-по-хостам.js
- Встроенный движок и ARMANOS Browser перекрывают на профиле одно и то же
- apps/desktop/test/слежка-по-хостам.js
- Чужие счётчики перечислены по разрядам, адрес к адресу
- apps/desktop/assets/trackers_linkedin.json
- Дневные потолки сценариев лежат в одном месте
- packages/shared/src/index.js
- Метки, которые уходят из вашей ссылки, названы списком
- packages/shared/src/index.js
Вопросы
- Я ничего не нажимал, что там вообще считать?
- Сам заход и есть событие: страница отчитывается о том, что открылась, кем открылась и откуда пришла. Нажатие добавляет к этому подробностей, но начинается всё без него.
- Режим инкогнито это закрывает?
- Он забывает куки при закрытии окна и ничего не делает с отчётами: они уходят из любого окна одинаково. Площадка узнаёт не куки, а машину и путь, которым вы пришли.
- А обычный блокировщик рекламы справится?
- С чужими счётчиками справится, их адреса в его списках есть. Запрос на сам сайт площадки он пропускает, потому что отличить его от загрузки ленты по домену нельзя.
- Прокси тут помогает?
- Прокси меняет адрес, с которого вы пришли, и на содержимое отчётов не влияет. Просмотр чужой страницы уйдёт в отчёт с любого адреса.
- Если эти отчёты перекрыть, площадка заметит?
- Перекрытый отчёт выглядит как неудавшийся запрос, а их у любого браузера хватает и без вас. Заметнее другое: темп действий за день, который площадка считает у себя на сервере.
- Сколько таких аккаунтов выдержит один компьютер?
- Счёт тут не в аккаунтах, а в том, насколько профили непохожи и насколько спокоен ваш темп. Пока экран, шрифты и память у профилей разные, вопрос переходит в другой: насколько разные.
Рядом с этим
Аккаунты LinkedIn
Дневные потолки, первая неделя и цена второго аккаунта.
Что читает площадка
Весь набор ответов, который отдаёт один визит.
Дневной потолок действий
Откуда берутся потолки и что считает сама площадка.
Бесплатная проверка отпечатка
12 значений, прочитанных в вашем браузере, и ни одного запроса наружу.
Посмотрите, что отвечает ваш браузер
Проверка читает 12 значений и никуда их не отправляет.