Управление согласиями
Введение
Согласие субъекта данных — один из ключевых механизмов обеспечения законности обработки персональных данных. Но согласие — это не галочка в чек-боксе при регистрации. Это живой документ с жизненным циклом: от получения до отзыва, от обновления до истечения срока. Consent Management (управление согласиями) — система, которая этот жизненный цикл обеспечивает.
:::caution[Правовая оговорка] Данный материал носит образовательный характер и не является юридической консультацией. Для применения в конкретной организации обратитесь к юристу, специализирующемуся на защите данных. :::
Модели согласия
Различные регуляторные фреймворки определяют различные модели получения согласия:
Opt-In (активное согласие)
Субъект данных должен явно выразить согласие на обработку. Чек-бокс по умолчанию не отмечен. Это требование GDPR и 152-ФЗ.
[ ] Я согласен на обработку моих персональных данных для целей маркетинга
Opt-Out (пассивное согласие)
Обработка разрешена по умолчанию, пока субъект не откажется. Модель CCPA для продажи данных.
[x] Вы можете отказаться от продажи ваших данных: [Ссылка]
Granular Consent (детализированное согласие)
Отдельное согласие на каждую цель обработки. Best practice по GDPR:
[ ] Исполнение заказа (обязательно)
[ ] Маркетинговые рассылки
[ ] Персонализация рекомендаций
[ ] Передача партнёрам
Требования 152-ФЗ регулярно обновляются. Описанные здесь положения актуальны на 2026-03. Проверяйте текущую редакцию на pravo.gov.ru.
Жизненный цикл согласия
Согласие проходит через пять стадий:
- Запрос — организация информирует субъекта о целях обработки
- Получение — субъект даёт (или не даёт) согласие
- Хранение — согласие записывается с отметкой времени, целью и сроком
- Проверка — при каждой обработке система проверяет наличие действующего согласия
- Отзыв / Истечение — субъект отзывает согласие или истекает его срок
Для каждой стадии необходим audit trail (журнал аудита): кто запросил, когда получено, какая версия текста согласия была показана субъекту.
Проверка знанийFinSecure получил согласие клиента на маркетинговые рассылки в январе 2024 года сроком на 1 год. Сейчас февраль 2025. Может ли банк отправить клиенту рекламное SMS?
Техническая реализация
Хранение согласий можно реализовать через centralized consent store:
# Структура записи consent store
consent_record = {
"subject_id": "user_12345",
"purpose": "marketing_emails",
"granted": True,
"consent_date": "2025-01-15T10:30:00Z",
"expiry_date": "2026-01-15T10:30:00Z",
"consent_text_version": "v2.3",
"collection_method": "web_form",
"jurisdiction": "RU", # GDPR vs 152-FZ
"ip_address": "192.168.1.100",
"revoked": False,
"revocation_date": None
}
Проверка согласия перед обработкой:
def check_consent(subject_id, purpose, reference_date):
"""Проверяет наличие действующего согласия."""
consent = get_consent(subject_id, purpose)
if consent is None:
return {"status": "no_consent", "allowed": False}
if not consent["granted"]:
return {"status": "denied", "allowed": False}
if consent["revoked"]:
return {"status": "revoked", "allowed": False}
if consent["expiry_date"] and reference_date > consent["expiry_date"]:
return {"status": "expired", "allowed": False}
return {"status": "authorized", "allowed": True}
Сценарий: FinSecure Bank
Сценарий: FinSecure Bank (ФинСекьюр Банк)
FinSecure обрабатывает данные клиентов для четырёх целей: исполнение банковских операций, маркетинг, кредитный скоринг, передача партнёрам. У банка 500,000 клиентов в России и 50,000 в ЕС.
DPO обнаружил проблему: маркетинговые рассылки отправляются всем клиентам независимо от статуса согласия. Consent management реализован через поле
marketing_opt_in: booleanв таблицеcustomers, без отслеживания даты, версии текста и срока действия.Задача: спроектировать consent management систему, которая:
- Поддерживает granular consent (отдельное согласие на каждую цель)
- Отслеживает lifecycle (получение, проверка, обновление, отзыв)
- Различает юрисдикции (GDPR для ЕС, 152-ФЗ для России)
- Обеспечивает audit trail для демонстрации compliance
Проверка знанийПочему простой boolean-флаг marketing_opt_in недостаточен для consent management?
Практика: Consent Validator
В ФинСекьюр необходимо автоматизировать проверку согласий перед обработкой данных. Напишите функцию, которая принимает список обработок и записи согласий, определяя для каждой обработки: есть ли действующее согласие, истекло ли оно, или отсутствует.
Итоги
- Consent Management — не чек-бокс, а система с полным жизненным циклом
- Три модели: opt-in (GDPR, 152-ФЗ), opt-out (CCPA), granular consent (best practice)
- Пять стадий: запрос, получение, хранение, проверка, отзыв/истечение
- Каждое согласие требует audit trail: дата, версия текста, способ получения
- Boolean-флаг недостаточен: нужна полноценная consent store с проверкой при каждой обработке
В следующем уроке мы рассмотрим Маскирование данных (Data Masking) — техники замены конфиденциальных значений для безопасного использования данных в непроизводственных средах.
Проверьте понимание
Закончили урок?
Отметьте его как пройденный, чтобы отслеживать свой прогресс
Войдите чтобы оценить урок