🛡️ 152-ФЗ Чеклист ← Все требования
Требование №1 Штраф: до 300 000 ₽

Куки-баннер

Куки-баннер — уведомление, которое обязано появляться при первом визите пользователя на сайт. Оно информирует об использовании файлов cookie и предлагает сделать выбор: принять или отказаться. Требование вытекает из статьи 6 ФЗ-152 и разъяснений РКН — без явного согласия нельзя устанавливать аналитические или маркетинговые куки.

Как реализовать

  1. Создайте HTML-блок баннера

    Фиксированный блок (position: fixed) в нижней части экрана. Скрыт по умолчанию (hidden). Должен содержать текст-уведомление и ссылку на соглашение об использовании куки.

  2. Проверяйте выбор при загрузке

    В JS при старте страницы проверяйте localStorage.getItem('cookie-consent'). Если значения нет — показывайте баннер. Если есть — не показывайте.

  3. Обработайте «Принять»

    Сохраните 'accepted' в localStorage, скройте баннер и активируйте скрипты аналитики (Яндекс.Метрика). Аналитику нельзя загружать ДО нажатия кнопки.

  4. Обработайте «Отказаться»

    Сохраните 'declined' в localStorage, скройте баннер. Не загружайте трекеры и аналитику. Сайт должен работать в полном объёме и без согласия на куки.

  5. Не скрывайте кнопку отказа

    Кнопка «Отказаться» должна быть такой же заметной, как «Принять». Делать её серой, маленькой или прятать в настройки — нарушение принципа добровольности согласия.

  6. Дайте возможность изменить выбор

    Разместите на сайте способ сбросить решение — например, кнопку в футере или на странице настройки конфиденциальности.

Пример кода (JS)

cookie-consent.js
const KEY = 'cookie-consent';

// Показываем баннер если выбор не сделан
if (!localStorage.getItem(KEY)) {
  document.getElementById('banner').hidden = false;
}

document.getElementById('accept').onclick = () => {
  localStorage.setItem(KEY, 'accepted');
  document.getElementById('banner').hidden = true;
  loadAnalytics(); // активируем Яндекс.Метрику
};

document.getElementById('decline').onclick = () => {
  localStorage.setItem(KEY, 'declined');
  document.getElementById('banner').hidden = true;
  // аналитику НЕ загружаем
};
Важно: Скрипт Яндекс.Метрики должен добавляться динамически только после согласия. Не вставляйте его статично в <head> — это установит куки без ведома пользователя.
Совет: Баннер не нужен для технических куки (сессия, CSRF-токен) — они не требуют согласия. Разграничьте виды куки в документации и баннере показывайте только для аналитических.

Официальные источники

  • rkn.gov.ru/personal-data — Разъяснения Роскомнадзора по персональным данным
  • consultant.ru — Федеральный закон №152-ФЗ — Полный текст закона «О персональных данных»
  • metrika.yandex.ru — Яндекс.Метрика (замена Google Analytics)
← Все требования Следующее: Политика конфиденциальности →