Политика конфиденциальности и согласие на cookie: что нужно сайту
Практика4 минРедакция Innovialabs
Коротко
Сайту, который собирает данные через формы или подключает аналитику, нужна политика конфиденциальности, описывающая реальную обработку, и согласие пользователя там, где закон его требует. Согласие должно быть добровольным: отказаться так же просто, как согласиться, а необязательные скрипты не запускаются до выбора.
Короткий ответ
Если на сайте есть хотя бы одна форма или счётчик аналитики, вы обрабатываете персональные данные, и вам нужны:
- политика конфиденциальности — публичный документ о том, какие данные вы собираете и что с ними делаете;
- согласие — там, где обработка на нём основана: рассылки, маркетинговые и аналитические cookie, а по ряду законов (например, российскому 152-ФЗ) — и сама заявка из формы.
Какие именно требования действуют, зависит от того, где находятся ваши пользователи: в ЕС это GDPR и правила о cookie, в России — 152-ФЗ, в Узбекистане — закон «О персональных данных». Общие принципы у них похожи.
Что должно быть в политике конфиденциальности
Хорошая политика отвечает на простые вопросы простым языком:
- Кто вы: название компании, контакты, кому писать по вопросам данных.
- Какие данные собираются: из форм, при регистрации, автоматически (IP, cookie, данные устройства).
- Зачем: обработка заявок, исполнение договора, рассылка, аналитика, безопасность.
- На каком основании: согласие, договор, законный интерес, требование закона.
- Кому передаются: хостинг, CRM, почтовый сервис, аналитика, платёжные системы.
- Где хранятся и передаются ли за рубеж.
- Сколько хранятся — конкретный срок или правило его определения.
- Права пользователя и как ими воспользоваться: доступ, исправление, удаление, отзыв согласия.
- Cookie: какие используются и как управлять выбором.
- Дата обновления документа.
Главное правило: политика описывает то, что происходит на самом деле. Если вы добавили новый сервис аналитики или сменили CRM, обновите документ.
Когда нужен cookie-баннер
Cookie и похожие технологии (localStorage, пиксели) делятся на две группы:
| Тип | Примеры | Нужно согласие (по правилам ЕС) |
|---|---|---|
| Строго необходимые | Сессия, корзина, защита от CSRF, запоминание выбора по cookie | Нет |
| Необязательные | Аналитика, вебвизор, рекламные пиксели, ретаргетинг | Да, до запуска |
Если ваш сайт использует только строго необходимые cookie, баннер с согласием не нужен — достаточно упомянуть их в политике. Если подключена аналитика или реклама и среди посетителей есть пользователи из ЕС, согласие нужно получить до загрузки этих скриптов. Для российской аудитории данные метрических систем тоже рассматриваются как персональные, поэтому уведомление и согласие на cookie стали стандартом и там.
Согласие в формах
- Отдельный чекбокс без предустановленной галочки рядом с кнопкой отправки.
- Рядом — ссылка на политику и текст согласия.
- Согласие на рассылку — отдельный чекбокс, не связанный с отправкой заявки.
- Собирайте только нужные поля: если для обратного звонка хватает имени и телефона, не спрашивайте дату рождения.
- Сохраняйте факт согласия: дату, время, версию текста и источник. Это ваше доказательство.
Как не скатиться в тёмные паттерны
Тёмный паттерн — интерфейс, который подталкивает к согласию обманом или давлением. Регуляторы ЕС прямо считают такое согласие недействительным.
Чего избегать:
- кнопка «Принять» яркая, а «Отклонить» спрятана в настройки или оформлена как бледная ссылка;
- заранее включённые переключатели в настройках;
- баннер, который нельзя закрыть без согласия и который перекрывает контент;
- формулировки вроде «Продолжая пользоваться сайтом, вы соглашаетесь»;
- отзыв согласия возможен только через письмо в поддержку.
Как сделать честно:
- кнопки «Принять все» и «Отклонить все» одинакового размера и веса на первом экране;
- ссылка «Настроить» с категориями, по умолчанию выключенными;
- возможность изменить выбор в любой момент, например ссылкой в футере;
- выбор запоминается, и баннер не появляется на каждой странице заново.
Техническая реализация
Ключевой момент: необязательные скрипты не должны загружаться в HTML по умолчанию. Они подключаются только после согласия.
function loadAnalytics() {
const s = document.createElement("script");
s.src = "https://example-analytics.com/tag.js";
s.async = true;
document.head.appendChild(s);
}
const consent = localStorage.getItem("consent-analytics");
if (consent === "granted") loadAnalytics();
document.querySelector("#accept-analytics").addEventListener("click", () => {
localStorage.setItem("consent-analytics", "granted");
loadAnalytics();
});
После внедрения проверьте вкладку Network в инструментах разработчика: до нажатия «Принять» запросов к сервисам аналитики и рекламы быть не должно. Это самая частая ошибка — баннер есть, но счётчик уже отработал при загрузке страницы.