Руководства4 мин чтения
Как дать посетителям отозвать согласие на cookie (и что делать, когда они это сделали)
GDPR требует, чтобы отозвать согласие было так же легко, как дать его. Как спроектировать путь отзыва, остановить теги, удалить cookie и обновить Consent Mode и журналы.
Общий регламент по защите данных (GDPR) дает каждому право отозвать согласие в любой момент, а статья 7(3) требует, чтобы отозвать согласие было так же легко, как дать его. Для файлов cookie это означает ссылку или значок на каждой странице, которые снова открывают выбор в отношении согласия примерно за то же количество кликов, что потребовалось для принятия. Затем сайт должен выполнить новый выбор: остановить теги, удалить установленные им файлы cookie, обновить сигналы, например Google Consent Mode, и зафиксировать изменение в журнале.
Чего требует закон?
Статья 7(3) GDPR устанавливает четыре правила. Люди могут отозвать согласие в любой момент. Отзыв не делает предшествующую обработку незаконной. Об этом праве нужно сообщить до того, как человек даст согласие. И отозвать согласие должно быть так же легко, как дать его.
Руководство EDPB 05/2020 о согласии раскрывает последний пункт: если согласие получено электронным способом одним кликом, свайпом или нажатием клавиши, люди должны иметь возможность так же легко его отозвать. Кроме того, отзыв не должен влечь негативных последствий, поэтому посетитель, который передумал, не должен терять доступ к сайту или проходить более длинную процедуру. Поскольку ePrivacy заимствует определение согласия из GDPR, те же правила применяются и к файлам cookie.
Насколько простым должен быть отзыв?
Сравните пути. Если для принятия хватило одного клика в баннере первого уровня, отзыв должен занимать примерно один клик, чтобы открыть варианты выбора, и еще один, чтобы их сохранить.
| Способ отзыва | Так же ли это легко, как дать согласие? |
|---|---|
| Постоянная ссылка или значок «Настройки cookie» на каждой странице, которые снова открывают панель настроек | Да, это обычный подход |
| Кнопка «Отклонить все» или «Отозвать согласие» в этой панели | Да |
| Ссылка только внутри политики cookie | Как правило, нет, потому что добавляет шаги |
| Инструкции по удалению файлов cookie в настройках браузера | Нет, это перекладывает работу на пользователя |
| Адрес электронной почты или форма обратной связи | Нет, если согласие было дано одним кликом |
Разместите ссылку там, где ее ищут, — обычно в подвале сайта — и подпишите ее понятно. Если использовать ту же панель и те же элементы управления, что и в исходном баннере, людям будет проще ее узнать. Подробнее о макете баннера читайте в статье как спроектировать баннер cookie, соответствующий требованиям и удобный для пользователей.
Что должно происходить, когда человек отзывает согласие?
Отзыв должен менять то, что делает ваш сайт, а не только то, что он хранит. Выполните следующие шаги по порядку.
- Сохраните новый выбор. Перезапишите сохраненное состояние согласия, чтобы при каждом последующем просмотре страницы считывался отзыв.
- Обновите сигналы для последующих систем. Отправьте обновление Consent Mode, установив затронутые типы в
denied, и вызовите аналогичные API других поставщиков, напримерfbq('consent', 'revoke')для Meta Pixel. - Удалите свои собственные файлы cookie и данные в хранилище. Удалите необязательные файлы cookie и ключи хранилища браузера, которые теги установили на вашем домене.
- Перезагрузите страницу. Уже выполненный код нельзя выгрузить, а некоторые скрипты держат таймеры, обработчики событий или идентификаторы в памяти. Перезагрузка — самый простой способ начать с чистого листа.
- Сообщите своим серверам. Если вы используете серверное тегирование или отправляете события со своего бэкенда, передайте новое состояние и туда.
- Зафиксируйте отзыв. Запишите отзыв с отметкой времени и версией баннера вместе с другими записями, подтверждающими согласие.
- Синхронизируйте отзыв для известных пользователей. Если посетитель вошел в систему и вы синхронизируете согласие между устройствами, примените отзыв к его учетной записи.
Шаги 2–4 могут выглядеть так:
function withdrawConsent(categories) {
saveConsent(categories); // ваше хранилище согласий; категории теперь false
gtag('consent', 'update', {
analytics_storage: categories.analytics ? 'granted' : 'denied',
ad_storage: categories.marketing ? 'granted' : 'denied',
ad_user_data: categories.marketing ? 'granted' : 'denied',
ad_personalization: categories.marketing ? 'granted' : 'denied',
});
if (!categories.marketing && window.fbq) fbq('consent', 'revoke');
deleteCookies(/^_ga($|_)/, /^_gcl_/, /^_fbp$/, /^_fbc$/);
localStorage.removeItem('analytics_client_id');
location.reload();
}
Как удалить файлы cookie из JavaScript?
Установите файл cookie заново с тем же именем, путем и доменом, с которыми он был создан, и сроком действия в прошлом. Загвоздка в том, что document.cookie не сообщает домен или путь файла cookie, поэтому перебирайте вероятные комбинации:
function deleteCookies(...patterns) {
const names = document.cookie
.split('; ')
.map((pair) => pair.split('=')[0])
.filter((name) => patterns.some((re) => re.test(name)));
// Инструменты аналитики часто устанавливают файлы cookie на родительский домен (".example.com")
const labels = location.hostname.split('.');
const domains = [''];
for (let i = 0; i < labels.length - 1; i++) {
domains.push(`; domain=.${labels.slice(i).join('.')}`);
}
for (const name of names) {
for (const domain of domains) {
document.cookie = `${name}=; Max-Age=0; path=/${domain}`;
}
}
}
Стоит знать о трех ограничениях. Файлы cookie с флагом HttpOnly нельзя удалить из JavaScript, поэтому удаляйте их на сервере с помощью заголовка Set-Cookie. Для файлов cookie, установленных с путем, отличным от /, нужно указать этот путь. А файлы cookie на собственном домене поставщика ваш сайт удалить вообще не может, поэтому лучшее, что можно сделать, — перестать загружать код поставщика.
Что делать с уже собранными данными?
Отзыв не отменяет прошлое, но влияет на то, что вы храните. После отзыва согласия вы должны прекратить обработку, которая на нем основывалась. Если для уже собранных данных нет другого правового основания, EDPB ожидает, что вы их удалите, и право на удаление по GDPR охватывает ту же ситуацию.
Для данных аналитики и рекламы, которые хранятся у поставщиков, проверьте, какие инструменты удаления они предлагают, например API для удаления пользователей, и включите их в свой процесс для вошедших в систему пользователей, личность которых вам известна. В случае анонимных посетителей реально сделать обычно можно одно: прекратить дальнейший сбор данных.
Итоги
Сделайте отзыв согласия доступным в один клик с любой страницы, а затем сделайте его реальным: сохраните выбор, обновите Consent Mode и API поставщиков, удалите свои собственные файлы cookie и данные в хранилище, перезагрузите страницу, сообщите серверам и зафиксируйте отзыв в журнале. Не запрашивайте согласие у посетителя повторно сразу же. Такие инструменты, как Cookiesh, включают центр настроек, где посетители могут изменить свой выбор, отправляют соответствующее обновление Consent Mode и фиксируют каждое изменение, включая отзывы.
Эта статья носит общий информационный характер и не является юридической консультацией. Для решений, касающихся вашей конкретной ситуации, обратитесь к квалифицированному специалисту по защите данных.
Частые вопросы
Достаточно ли ссылки в политике cookie для отзыва согласия?
Как правило, нет. Если согласие было дано одним кликом в баннере, то заставлять людей искать страницу политики, читать ее и затем искать элемент управления — сложнее, чем дать согласие. Обычный подход — постоянная ссылка или значок на каждой странице, которые снова открывают панель настроек.
Можно ли удалить сторонние файлы cookie, когда пользователь отзывает согласие?
Со своего домена — нет. Браузеры позволяют сайту удалять файлы cookie только своего домена, поэтому cookie, установленные на домене поставщика, остаются, пока не истечет их срок или пока их не удалит сам поставщик. Зато вы можете перестать загружать код поставщика, чтобы эти файлы cookie больше не считывались и не обновлялись.
Делает ли отзыв согласия прошлую обработку незаконной?
Нет. GDPR устанавливает, что отзыв согласия не влияет на законность обработки, проводившейся до него. Однако с момента отзыва вы должны прекратить обработку, основанную на согласии.
Стоит ли снова показывать баннер сразу после того, как человек отозвал согласие?
Нет. Отзыв — такой же выбор, как и любой другой, поэтому сохраните его и уважайте. Повторный запрос при следующем просмотре страницы — как раз то навязчивое повторение, которое регуляторы расценивают как давление с целью получить согласие.
Источники
Редакция Cookiesh
Инженеры по защите данных и специалисты по комплаенсу пишут практические руководства о согласии, файлах cookie и защите данных для продуктовых команд.