Отказ должен быть настоящим действием, а не декоративной ссылкой.
Основа
Не все cookie одинаковы и не каждый требует одной механики
Сначала разделите технологии по назначению, затем выбирайте основание и интерфейс. Само слово cookie не определяет правовой режим: учитываются данные, цель, получатель и реальная необходимость.
Сессия, балансировка, защита формы, запоминание сделанного privacy‑выбора. Без них запрошенная функция не работает.
Аналитика, реклама, профилирование, внешнее видео, чат и A/B‑тесты, которые не нужны для базовой услуги.
IP‑адрес, cookie‑идентификатор и связанный с ними профиль могут относиться к персональным данным, если позволяют прямо или косвенно определить человека. Поэтому техническую инвентаризацию нужно связать с политикой обработки, целями и подрядчиками.
Интерфейс
Первый слой: принять, отклонить и настроить
На первом слое кратко объясните категории и разместите сопоставимые по видимости действия: «Принять», «Отклонить необязательные» и «Настроить». Не прячьте отказ серой ссылкой, не закрывайте контент до выбора и не считайте прокрутку согласием.
- Нет заранее включённых опциональных категорий.
- Отказ занимает не больше действий, чем согласие.
- Есть ссылка на политику cookie и сведения о получателях.
- Можно изменить решение через постоянную ссылку в футере.
- Форма работает с клавиатуры, фокус не теряется, текст читается на мобильном.
Формулировка «продолжая пользоваться сайтом, вы соглашаетесь» не доказывает осознанное активное действие для опционального трекинга.
Техника
Сначала выбор, затем загрузка опционального кода
Если аналитический скрипт уже выполнился, а баннер появился позже, кнопка отказа не отменяет состоявшуюся передачу. По умолчанию не добавляйте необязательные script, iframe, pixel и SDK в DOM. После выбора активируйте только разрешённые категории.
<script type="text/plain" data-consent="analytics" data-src="/analytics.js"></script>
Это лишь иллюстрация: менеджер согласий должен безопасно активировать разрешённый ресурс, предотвращать повторную загрузку и уметь отозвать дальнейшие события. Для внешнего iframe показывайте локальную заглушку до согласия.
Тестируйте в чистом профиле браузера: до выбора, после отказа, после частичного согласия и после отзыва. Смотрите реальные запросы, а не только значение cookie в интерфейсе.
Доказуемость
Что хранить о выборе пользователя
Не складывайте в журнал лишние персональные данные. Обычно достаточно версии текста и конфигурации, времени, категорий, технического идентификатора выбора и способа получения. Отдельно храните факт отзыва.
Версионируйте баннер и политику. Если цель, получатель или состав трекинга существенно изменились, старое решение нельзя молча растянуть на новую обработку — оцените необходимость повторного выбора.
Срок хранения доказательства обосновывается задачей защиты прав и претензий, а не формулой «навсегда». Установите его в регламенте и удаляйте записи по завершении.
Приёмка
Чек-лист перед публикацией
- Сканер и ручной просмотр показывают полный перечень cookie, localStorage, пикселей и внешних запросов.
- После «Отклонить» нет запросов необязательной аналитики и рекламы.
- Строго необходимые технологии действительно обоснованы функцией.
- Кнопка настроек доступна после закрытия баннера.
- Отзыв прекращает будущий сбор; документ описывает пределы удаления уже правомерно обработанных данных.
- Текст совпадает с технической конфигурацией и реестром подрядчиков.
Критерий готовности
Если разработчик не может по сетевому журналу доказать, что отказ сработал, баннер ещё не готов.