Руководства5 мин чтения
Подтверждение согласия: записи, готовые к аудиту
Что должна содержать готовая к аудиту запись о согласии, сколько ее хранить и почему журналы согласий с цепочкой хешей выдерживают самую строгую проверку.
Подтверждение согласия — это запись, показывающая, кто дал согласие, когда, на что и каким образом, чтобы вы могли доказать действительность согласия, если об этом спросит регулятор или посетитель. Согласно статье 7(1) Общего регламента по защите данных (GDPR) это бремя лежит на вас. Хорошая запись связывает псевдонимный идентификатор с меткой времени, точной версией показанного баннера, выбором по каждой категории, использованным способом и примененными региональными правилами.
Зачем нужно подтверждение согласия?
Потому что GDPR возлагает бремя доказывания на организацию, а не на посетителя. Статья 7(1) гласит, что если обработка основана на согласии, контролер должен быть в состоянии доказать, что человек дал согласие, а статья 5(2) в более общем плане обязывает вас подтверждать соблюдение требований.
В случае файлов cookie обязанность запрашивать согласие вытекает из статьи 5(3) Директивы ePrivacy, а стандарт согласия задает GDPR. Рекомендации EDPB о согласии оставляют выбор метода за вами, но ожидают, что вы сможете показать, как и когда было получено согласие и какую информацию человек получил в тот момент.
Записи о согласии требуются чаще, чем ожидают команды: при запросах регуляторов, жалобах пользователей, запросах субъектов данных на доступ и комплексной проверке (due diligence) при привлечении инвестиций или сделках слияния и поглощения. Как показывают прошлые меры регуляторов, регуляторы внимательно изучают, что на самом деле делал баннер, и аккуратный журнал — самый быстрый способ ответить на их вопросы.
Что должна содержать запись о согласии?
Как минимум: кто (в псевдонимизированном виде), когда, что человек видел, что выбрал, как выбрал и какие правила применялись. Каждое поле отвечает на вопрос, который, скорее всего, задаст аудитор.
| Поле | Пример | Почему это важно |
|---|---|---|
| Идентификатор согласия | Случайный UUID, хранящийся в собственном файле cookie | Связывает запись с браузером, не называя человека |
| Метка времени | 2026-09-15T09:42:17Z (UTC) |
Показывает, что согласие было получено до начала любого отслеживания |
| Версия баннера | banner-v14 |
Доказывает, какие формулировки, кнопки и макет были показаны |
| Версия политики | cookie-policy-2026-08 |
Показывает, какую информацию получил человек |
| Выбор по категориям | Предпочтения — вкл., аналитика — вкл., маркетинг — выкл. | Подтверждает конкретное и детальное согласие |
| Способ | «Принять все», «Отклонить все», сохраненные настройки, сигнал GPC | Показывает утвердительное действие, а не молчание |
| Регион и набор правил | ЕС, предварительное согласие по GDPR | Показывает, какой правовой режим применил ваш баннер |
| Язык | de-DE |
Подтверждает, что информация была показана на языке посетителя |
| Сайт | shop.example.com |
Разделяет записи по доменам и ресурсам |
| Связь с учетной записью (необязательно) | Внутренний идентификатор пользователя после входа | Синхронизирует выбор между устройствами и помогает отвечать на запросы о доступе |
Поле способа важно, потому что согласие должно быть выражено ясным утвердительным действием. Суд ЕС подтвердил в деле Planet49 (C-673/17), что заранее отмеченные флажки не считаются согласием, поэтому запись, показывающая осознанный клик, гораздо весомее записи, где сказано лишь «согласие дано».
Фиксируйте каждое изменение как новое событие, а не перезаписывайте старое. Отзыв согласия — тоже событие, как и его обновление, когда вы снова спрашиваете посетителя после изменения политики.
Не храните того, что вам не нужно. Сохраняйте вычисленный регион, а не полный IP-адрес, и не включайте в журнал согласий имена и адреса электронной почты. Принцип минимизации данных (статья 5(1)(c)) распространяется на ваши доказательства так же, как и на все остальное.
Как доказать, что именно видел посетитель?
Ведите версии и архив всех конфигураций баннера и политик использования файлов cookie. Запись с пометкой banner-v14 полезна, только если вы можете предъявить banner-v14 точно в том виде, в каком он отображался, включая подписи кнопок, категории, списки поставщиков и все языковые варианты.
Практические правила, которые помогают этого добиться:
- Относитесь к тексту и настройкам баннера как к версионируемому контенту с журналом изменений и указанием ответственного за утверждение.
- Храните снимок каждой версии в отрисованном виде на каждом языке.
- Сохраняйте результаты сканирования, на основе которых в тот момент составлялся ваш список файлов cookie; их дает регулярный аудит файлов cookie.
- Повышайте номер версии при каждом изменении целей, поставщиков или формулировок и снова запрашивайте согласие, если изменение существенное.
Почему важна защита от незаметных изменений?
Журнал согласий, который можно незаметно отредактировать, — слабое доказательство. Если записи можно изменить задним числом, аудитор не отличит подлинный журнал от того, что «подчистили» прямо перед проверкой.
Журналы, защищенные от незаметных изменений, делают любые правки обнаруживаемыми. Распространенный способ — цепочка хешей: каждая запись хранит криптографический хеш предыдущей, поэтому изменение или удаление любой записи нарушает все последующие хеши.
import { createHash } from 'node:crypto';
type Category = 'necessary' | 'preferences' | 'analytics' | 'marketing';
interface ConsentRecord {
consentId: string;
timestamp: string;
bannerVersion: string;
region: string;
method: 'accept_all' | 'reject_all' | 'save_preferences' | 'gpc';
choices: Record<Category, boolean>;
prevHash: string; // хеш предыдущей записи в цепочке
}
function hashRecord(record: ConsentRecord): string {
// В продакшене используйте каноническую сериализацию, чтобы порядок ключей не влиял на хеш
return createHash('sha256').update(JSON.stringify(record)).digest('hex');
}
Сочетайте цепочку с хранилищем, допускающим только добавление записей, и строго ограниченным правом на запись. Периодически копируйте последний хеш в отдельную систему или подписанную выгрузку, чтобы даже администратор не смог переписать историю так, чтобы расхождение осталось незамеченным.
Сколько хранить записи о согласии?
Храните каждую запись, пока вы опираетесь на это согласие, и еще ограниченный период после этого. Фиксированного количества лет GDPR не устанавливает.
Согласно рекомендациям EDPB обязанность подтверждать согласие действует столько же, сколько и обработка. После прекращения обработки храните подтверждение только до тех пор, пока оно нужно для выполнения юридических обязательств или возможных судебных претензий. Закрепите выбранный срок в политике хранения данных и применяйте его автоматически.
Решите также, как часто вы будете запрашивать согласие повторно. Бессрочно опираться на один-единственный клик сложно обосновать, а некоторые регуляторы публикуют рекомендации о периодичности повторных запросов, поэтому проверьте, что действует на ваших рынках.
Чек-лист готовности к аудиту
Ответьте на эти вопросы раньше, чем их задаст аудитор:
- Можете ли вы по идентификатору согласия получить все связанные с ним события по порядку?
- Можете ли вы предъявить точную версию баннера и политики, которую видел человек?
- Можете ли вы показать, что необязательные скрипты не запускались до получения согласия?
- Фиксируются ли отказы и отзывы согласия так же четко, как согласия?
- Заметите ли вы отредактированную или удаленную запись и у кого есть право записи в журнал?
- Минимизирован ли журнал, контролируется ли доступ к нему и распространяется ли на него правило о сроке хранения?
- Можете ли вы выгрузить записи одного человека в читаемом формате по запросу на доступ?
Если вы не можете ответить на все семь вопросов, начните с пробелов, наиболее близких к условиям действительного согласия: что видел человек и как он действовал.
Итоги
Подтверждение согласия — это возможность рассказать полную и убедительную историю о выборе любого посетителя: что он видел, что сделал, когда и по каким правилам. Минимизируйте то, что храните, ведите версии того, что показываете, и защитите журнал от незаметных изменений. Такие инструменты, как Cookiesh, могут автоматизировать ведение записей с помощью неизменяемых журналов согласий на основе цепочки хешей.
Эта статья носит общий информационный характер и не является юридической консультацией. Для решений, касающихся вашей конкретной ситуации, обратитесь к квалифицированному специалисту по защите данных.
Частые вопросы
Достаточно ли файла cookie в браузере посетителя как подтверждения согласия?
Нет. Файл cookie в браузере сообщает вашему сайту, какой выбор сделал посетитель, но предъявить его регулятору вы не сможете, а посетитель может удалить его в любой момент. Вам нужна запись на сервере, которую вы контролируете и которая связана с тем же псевдонимным идентификатором.
Нужно ли фиксировать отказы так же, как согласия?
Да. Записи об отказах показывают, что ваш баннер предлагал реальный выбор и что сайт его соблюдал. Это важно, когда регулятор проверяет, было ли отказаться так же легко, как согласиться.
Являются ли сами записи о согласии персональными данными?
Как правило, да. Псевдонимный идентификатор, который можно связать с устройством или учетной записью, по GDPR остается персональными данными. Поэтому журналы согласий нуждаются в той же защите, что и другие персональные данные: в контроле доступа, минимизации и ограничении срока хранения.
Нужно ли фиксировать согласие на строго необходимые файлы cookie?
Для строго необходимых файлов cookie согласие не требуется, поэтому и доказывать нечего. Тем не менее многие команды отмечают, что категория необходимых файлов была активна, — так документируется, что работало на сайте, когда пришел посетитель.
Источники
Редакция Cookiesh
Инженеры по защите данных и специалисты по комплаенсу пишут практические руководства о согласии, файлах cookie и защите данных для продуктовых команд.