Как найти утечки данных на сайте с помощью Chrome DevTools — пошаговое руководство

Как найти утечки данных на сайте с помощью Chrome DevTools — пошаговое руководство

Вы запустили новый сайт, подключили аналитику, интегрировали чат-бота и CRM — всё работает. Но недавно клиент спросил: «А вы уверены, что ваши данные не утекают через третьи сервисы?» И вы замялись. Потому что не знаете, какие скрипты отправляют информацию за пределы вашего сайта. Это не теория — это реальная угроза. Утечки данных происходят не только из-за взломов. Часто они идут через легитимные, но небрежно настроенные скрипты: аналитика, реклама, виджеты, интеграции. И Chrome DevTools — это ваш инструмент, чтобы увидеть, что именно уходит с вашего сайта и куда.

Почему это важно — и почему вы не можете игнорировать утечки

Утечка данных — это когда информация, которую вы собираете или обрабатываете (имя, email, телефон, IP, действия на сайте), попадает в руки третьих лиц без вашего явного согласия или без необходимости. Это может быть:

  • Google Analytics, если вы передаёте персональные данные в параметрах URL или через кастомные события;
  • Facebook Pixel, который получает не только действия, но и email-адреса, если вы его неправильно настроили;
  • Чат-боты типа Tawk.to или LiveChat, которые отправляют историю сессий на свои серверы;
  • Рекламные теги, которые отслеживают поведение даже тех, кто не кликнул на рекламу.

Последствия? Штрафы по GDPR, потерянное доверие клиентов, репутационные потери. В России — по ФЗ-152. В ЕС — до 4% от оборота. И всё это может начаться с того, что кто-то просто вставил скрипт без проверки.

Как начать: откройте DevTools и перейдите в Network

Откройте сайт в Chrome. Нажмите F12 или Ctrl+Shift+I (на Mac — Cmd+Opt+I). Перейдите на вкладку Network.

Здесь вы увидите все запросы, которые сайт делает при загрузке — картинки, стили, скрипты, AJAX-запросы. Но нам нужны только те, что отправляют данные. Чтобы их найти:

  1. Включите фильтр XHR — это запросы, которые передают данные в реальном времени.
  2. Также включите фильтр Fetch — современные скрипты часто используют его вместо XHR.
  3. Очистите список (кнопка Clear в левом верхнем углу).
  4. Перезагрузите страницу (Ctrl+R).

Теперь вы видите список всех запросов, которые отправили данные. Ищите те, что идут на домены, не связанные с вашим сайтом. Например, если ваш сайт — example.com, а вы видите запросы на analytics.google.com, facebook.com, hotjar.com — это нормально. Но если вы видите datacollector.example-third-party.com — это тревожный сигнал.

Что смотреть в запросах: ключевые параметры

Кликните на любой подозрительный запрос в списке. Откроется детальная панель. Переходите на вкладку Headers.

Там вас интересуют два раздела:

  • Request Headers — что отправляет ваш сайт серверу.
  • Query String Parameters — параметры в URL, которые часто содержат личные данные.

Ищите в параметрах:

  • email= — прямая утечка. Даже если это хэш, это всё равно персональные данные.
  • phone=, tel=, mobile= — то же самое.
  • name=, firstname=, lastname= — если это не имя пользователя, а реальное имя клиента.
  • ip=, user_agent=, session_id= — могут быть использованы для профилирования.
  • form_data=, form_values= — если в них попадают поля формы (например, адрес, комментарий).

Пример: вы видите запрос на https://tracker.adnetwork.com/collect?email=user@example.com☎=+79991234567&name=Иван+Иванов. Это не просто аналитика — это прямая передача персональных данных без шифрования и согласия. Это утечка.

Как найти скрытые утечки: смотрите не только на загрузку, но и на действия

Большинство утечек происходят не при загрузке страницы, а при действиях пользователя: при заполнении формы, при клике на кнопку, при переходе на другую вкладку.

Чтобы поймать их:

  1. Откройте DevTools → Network → очистите список.
  2. Заполните форму на сайте (например, заказ обратного звонка).
  3. Нажмите «Отправить».
  4. Посмотрите, какие запросы появились.
  5. Откройте каждый — ищите параметры, содержащие данные из формы.

Часто виджеты чат-ботов (Tawk.to, Intercom, Zendesk) отправляют весь текст переписки на свои серверы. Это нормально — если пользователь знает и согласен. Но если вы не уведомили его об этом в политике конфиденциальности — это нарушение.

Ещё один типичный сценарий: вы используете Google Tag Manager. В нём подключены теги аналитики, рекламы, ретаргетинга. Но вы не знаете, какие данные они передают. В DevTools вы можете найти теги по домену googletagmanager.com, открыть их запросы и увидеть, что в них передаётся. Часто там — не только событие «клик», но и email, который пользователь ввёл в форме.

Таблица: какие сервисы могут утекать — и что проверять

Сервис Что может утекать Как проверить в DevTools Риск
Google Analytics (GA4) Параметры URL, IP, user_id, email в кастомных параметрах Ищите запросы к google-analytics.com → в Query String: ep. или cid= с email Высокий — если передаёте PII
Facebook Pixel Email, phone, name, IP, страница, действия Запросы к facebook.com/tr → ищите em=, ph=, fn= Высокий — часто передаёт PII без шифрования
Tawk.to / LiveChat Весь текст переписки, IP, имя, email, URL Запросы к tawk.to → в Body: message, email, name Средний — если не указано в политике
Hotjar Клик-стримы, формы, IP, URL, скролл Запросы к hotjar.com → в Body: session_id, form_data Средний — данные анонимизируются, но могут быть реконструированы
Yandex.Metrica IP, user_id, параметры URL, действия Запросы к mc.yandex.ru → ищите uid=, url= с email Средний — если передаёте PII в параметрах
Сторонние рекламные теги (AdRoll, Criteo) Email, IP, поведение, устройства Запросы к adroll.com, criteo.com → ищите email_hash= Высокий — часто используют хеши, но они восстановимы

Важно: не все сервисы — зло. Проблема не в том, что вы используете Google Analytics — проблема в том, что вы не знаете, что именно в него передаётся. И не проверяете.

Частые ошибки — и как их избежать

Вот что чаще всего делают даже опытные разработчики:

  • Проверяют только загрузку страницы. Утечки происходят при действиях — кликах, отправке форм, переходах. Нужно тестировать каждый сценарий.
  • Считают, что если данные «хэшированы» — это безопасно. Хэш email — это всё равно персональные данные. По GDPR это PII, даже если вы не видите «user@example.com», а видите 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8.
  • Полагаются на «официальную документацию» сервиса. Документация говорит: «мы собираем только анонимные данные». Но если вы в коде передаёте email в параметре user_email — это уже не анонимно. Сервис не проверяет, что вы передаёте.
  • Игнорируют iframe-запросы. Многие виджеты (чаты, калькуляторы) работают через iframe. В DevTools нужно включить фильтр All и искать запросы внутри iframe — они не всегда видны по умолчанию.
  • Не проверяют мобильные версии. На мобильном браузере или через DevTools (режим мобильного устройства) поведение может отличаться. Проверяйте на всех устройствах.

Что делать, если нашли утечку

Нашли — не паникуйте. Делайте шаг за шагом:

  1. Определите, что именно утекает. Это email? Телефон? IP? Имя? Действия?
  2. Проверьте, есть ли законное основание для передачи этих данных. У вас есть согласие пользователя? Есть ли договор с сервисом (например, обработчиком)?
  3. Если согласия нет — отключите передачу. В Google Tag Manager — удалите параметр. В коде — закомментируйте или уберите передачу PII.
  4. Если согласие есть — добавьте в политику конфиденциальности чёткое уведомление: «Мы передаём ваш email в Google Analytics для аналитики». Без этого — всё равно нарушение.
  5. Протестируйте снова. Убедитесь, что утечка исчезла.

Пример: вы нашли, что в GA4 передаётся email из формы. Вы убираете его из кастомного параметра. Проверяете — больше нет ep.email= в запросах. Добавляете в политику: «Мы используем Google Analytics для анализа поведения пользователей. Персональные данные не передаются». Готово.

Когда что выбрать — сценарии для разных ситуаций

Не все сайты одинаковы. Вот как действовать в разных случаях:

  • Сайт для B2B — мало трафика, но высокая конфиденциальность (например, юридическая фирма). Не используйте Facebook Pixel, Google Analytics — только локальную аналитику. Или используйте GA4, но только с анонимизацией IP и без передачи любых параметров, связанных с клиентом.
  • Интернет-магазин с 1000+ заказов в месяц. Можно использовать GA4 и Facebook Pixel, но только если вы не передаёте email и телефон напрямую. Используйте только события: «purchase», «add_to_cart», «view_item» — без параметров PII.
  • Сайт с формой обратной связи. Если вы используете Tawk.to — убедитесь, что пользователь видит уведомление: «Ваша переписка сохраняется для улучшения сервиса». Иначе — замените на локальный чат-бот с хостингом на вашем сервере.
  • Сайт для детей или медицинских услуг. Не используйте никакие сторонние трекеры. Даже Google Analytics. Только собственная аналитика с анонимизацией. Всё, что не обязательно — выключайте.

Как лучше сделать — рекомендации от практика

Вот что я делаю на каждом новом проекте:

  1. Перед запуском: делаю список всех сторонних сервисов (аналитика, чаты, реклама, CRM). Проверяю каждый через DevTools — что передаётся.
  2. Проверяю форму: заполняю её тестовыми данными — и смотрю, что уходит в Network. Если email или телефон — убираю.
  3. Проверяю мобильную версию: включаем режим устройства в DevTools — и повторяем проверку.
  4. Проверяю политику конфиденциальности: если сервис получает данные — он должен быть в политике. Без исключений.
  5. Проверяю раз в месяц: у сервисов обновляются скрипты. Что было безопасно в январе — может стать утечкой в марте.

Не нужно удалять всё. Нужно понимать, что уходит и почему. Даже если вы используете Google Analytics — вы можете его настроить так, чтобы он не получал PII. Это не сложно. Но нужно проверять.

Итог: что делать прямо сейчас

Вот ваш план на сегодня:

  1. Откройте свой сайт в Chrome.
  2. Нажмите F12 → вкладка Network → очистите список.
  3. Загрузите страницу → посмотрите, какие запросы идут на сторонние домены.
  4. Заполните форму → посмотрите, что уходит в запросах.
  5. Если нашли email, телефон, имя — найдите, откуда это приходит (какой скрипт).
  6. Уберите передачу PII — или добавьте уведомление в политику конфиденциальности.
  7. Повторите через 30 дней.

Это не «настройка SEO» и не «оптимизация скорости». Это защита ваших клиентов. И вашей репутации. И вашей юридической безопасности.

Если вы сделаете это — вы уже будете в числе немногих, кто действительно заботится о данных пользователей. А не просто «вставил скрипт и забыл».

Информация в этой статье носит ознакомительный характер. Для обеспечения соответствия законодательству о персональных данных рекомендуется проконсультироваться с юристом или специалистом по защите данных.

Dfncfg.ru