Согласие на обработку данных и использование Cookie (152-ФЗ)
Согласие на обработку данных и использование Cookie (152-ФЗ)
Согласно закону ФЗ-152 «О персональных данных» посетитель сайта должен знать, какие данные о нём собираются, и дать на это явное согласие. К таким данным относятся не только телефон и ФИО, но и cookie, IP-адрес и идентификаторы, которые ставят счётчики и рекламные пиксели.
Любой сайт на 1С-Битрикс использует cookie для работы внутренних механизмов: корзины, авторизации, сохранения сортировки. Кроме них на сайте почти всегда подключены Яндекс.Метрика, Google Analytics, пиксели VK, Mail.ru, Meta и другие скрипты, которые начинают собирать данные сразу при открытии страницы, ещё до того, как посетитель что-либо решил. Модуль «Согласие на обработку данных и использование Cookie (152-ФЗ)» решает обе задачи: показывает посетителю уведомление и не запускает метрики и пиксели, пока он не согласится.
Решение универсально: тексты, кнопки и оформление настраиваются, поэтому баннер можно использовать и для других уведомлений, не связанных с cookie.
Что делает модуль
Уведомление с тремя кнопками. «Принять», «Настроить» и «Отказаться». Состав кнопок настраивается: кнопка отказа и кнопка «Настроить» включаются отдельно. Можно добавить ссылку на политику конфиденциальности, заголовок и дополнительный поясняющий текст. Пять вариантов расположения: полоса внизу на всю ширину, окно снизу по центру, слева внизу, справа внизу и модальное окно по центру экрана с затемнением.
Кнопка «Настроить»: категории cookie. Посетитель сам выбирает, что разрешить: обязательные (включены всегда и отключить их нельзя), аналитические и маркетинговые. Названия, описания и состояние флажков по умолчанию задаются в настройках. «Принять» разрешает все категории, «Отказаться» оставляет только обязательные.
Метрики и пиксели не грузятся до согласия. Известные трекеры (Яндекс.Метрика, Google Analytics и Tag Manager, пиксели VK, Mail.ru / Top.Mail.Ru, Meta, TikTok, X, Pinterest, LinkedIn, Hotjar, Clarity, Criteo, Retail Rocket, коллтрекинг Calltouch, Roistat, Comagic и другие) превращаются в «спящие» теги: браузер их не исполняет и не загружает. После согласия они включаются в исходном порядке, у вернувшегося посетителя — сразу при загрузке страницы. Каждый трекер относится к своей категории и запускается только тогда, когда она разрешена. Список можно дополнить своими адресами и фрагментами кода (чаты, виджеты, любые сторонние скрипты). При отказе удаляются cookie трекеров (_ym_*, _ga*, _fbp и др.).
Журнал согласий в админке. Дата, сайт, решение (принято, отказ, только аналитика, только маркетинг), версия текста, случайный токен браузера и страница. По отдельному включению можно сохранять IP-адрес (полностью или обезличенный), User-Agent и ID авторизованного пользователя. Раздел «Сервис → Журнал согласий cookie»: фильтры, ссылка на все записи одного браузера, экспорт в CSV, автоматическая очистка по сроку хранения.
Предпросмотр в админке. На странице настроек можно открыть окно с баннером и окном настройки категорий: оно обновляется при каждом изменении полей, даже если значения ещё не сохранены.
Гибкое оформление. Цвета фона, текста, заголовка, кнопок (отдельно для «Принять», «Настроить» и «Отказаться»), ссылок и границы; ширина, отступы, размеры шрифтов, скругление, тень, толщина границы, z-index; анимация появления (плавное появление, выезд снизу, увеличение); отдельный отступ снизу на мобильных, чтобы баннер не закрывал нижнюю панель шаблона. При сохранении модуль предупреждает, если контраст текста с фоном слишком низкий.
Показ по условиям. Отложенный показ: после задержки и (по желанию) после прокрутки страницы на заданную долю. Список страниц, где баннер не нужен. Отдельный срок хранения согласия и отказа. «Версия согласия»: измените число, и баннер снова появится у всех посетителей. Любую ссылку на сайте можно сделать кнопкой повторного открытия («Настройки cookie» в подвале).
Преимущества
✔ Метрики и пиксели не загружаются до согласия, а не просто «предупреждение сверху»
✔ Выбор категорий cookie: обязательные, аналитические, маркетинговые
✔ Согласия и отказы сохраняются в журнал в админке, с экспортом в CSV
✔ Предпросмотр баннера в настройках, оформление настраивается без правки шаблона
✔ Модуль написан на чистом JavaScript и не использует сторонние библиотеки, внешние шрифты и CDN
✔ Поддерживает многосайтовость: настройки каждого сайта независимы
✔ Поддерживает Композит (статический HTML-кеш): страница в кеше одинакова для всех посетителей, кеш сбрасывается автоматически при смене настроек
✔ Поддержка PHP 8.2 и выше
✔ Стили баннера изолированы от стилей шаблона сайта
Модуль помогает выполнить требования закона, но не гарантирует соответствие сайта законодательству: состав и формулировки уведомления, политику конфиденциальности и перечень используемых cookie определяет владелец сайта.