Политика cookies и CMP-системы
1) Цель и область
Установить единые правила законного хранения/чтения идентификаторов (cookies, local storage, SDK) и управления согласием через CMP во всех поверхностях: веб, iOS/Android, e-mail/SMS/push, аффилиатные лендинги, стримы. Документ дополняет: «GDPR: управление согласием», «Проверка возраста», «Рекламные стандарты».
2) Правовые основы (кратко)
ePrivacy: любые нестрого необходимые cookies/SDK — только после согласия. «Строго необходимые» (аутентификация, корзина/баланс, безопасность/антифрод) — допускаются без согласия.
GDPR: согласие как законное основание обработки (Art. 6(1)(a)); для сервисных операций — договорная необходимость (Art. 6(1)(b)); легитимный интерес — ограниченно и с правом возражения.
Дети/уязвимые: маркетинговые/персонализационные идентификаторы — запрещены.
3) Принципы
1. Prior Consent: никаких не-необходимых тегов до выбора в CMP.
2. Раздельность целей: аналитика, персонализация, маркетинг, ремаркетинг, геолокация, A/B — отдельные тумблеры.
3. Отзыв = по щелчку: так же просто, как согласие; моментальное прекращение обработки.
4. Без темных паттернов: равная заметность «Принять все» / «Отклонить все» / «Настроить».
5. Доказуемость: версии текстов, хэши, скриншоты UI, логи firing-правил.
6. Минимизация/локализация: ставим и храним только то, что нужно, в допустимых регионах.
4) Роли и RACI
DPO/Compliance (Owner) — политика, DPIA, ответы на жалобы. (A)
Legal — тексты, локальные требования и сроки хранения. (R)
Product/UX — баннеры/панели, доступность и локали. (R)
Engineering/CMP Owner — блокировки тегов, SDK, API, версии. (R)
Data/Analytics — режимы де-идентификации, измерение с учетом согласий. (C)
CRM/Ads — suppression по отозванным согласиям. (R)
InfoSec — шифрование, ключи, доступ к логам согласий. (C)
Internal Audit — выборки доказательств, CAPA. (C)
5) Таксономия cookies/SDK
Строго необходимые (без согласия):- Сессия/аутентификация, баланс/корзина, защита от фрода и нагрузочное распределение, сохранение выбора приватности.
- Аналитика (user-level, кросс-девайс ID).
- Персонализация (контент/игры, рекомендации).
- Маркетинг (e-mail/SMS/push — каналы отдельно).
- Ремаркетинг/Ads (пиксели/SDK третьих лиц).
- A/B-тестирование (если использует идентификаторы).
- Геолокация «город/регион» (нестрогая).
6) CMP: UX-паттерны и тексты
Первый слой (баннер): краткая цель, 3 равнозначные кнопки: Отклонить все / Настроить / Принять все.
Второй слой (панель): тумблеры целей, список вендоров и сроков хранения, ссылка на политику.
Преференс-центр: в профиле игрока — канальные флаги маркетинга (e-mail/SMS/push/телефон), «Отписаться от всего».
Доступность: контраст AA+, фокус-ловушка, screen-readers, локализация, мобильная адаптация.
GPC/Do Not Track: глобальный сигнал = отклонить все (кроме строго необходимых).
Аппы: in-app CMP + системные OS-prompts; синхронизация с серверным профилем.
[Отклонить все] [Настроить] [Принять все]
7) IAB TCF 2.2 (каркас)
Генерация и хранение TC-строки, версия вендор-листа, маппинг целей ↔ наши флаги.
Блокировка третьих тегов до получения TC (prior consent).
Уважение разрешений/запретов по каждому вендору и цели.
Для рынков вне TCF — кастомная CMP с аналогичным журналированием.
8) Теги, Tag Manager и Server-side
Deny by default: правила в TM блокируют все не-необходимые теги до согласия.
Server-side tagging: прокси-контур с обнулением/маскированием идентификаторов при отсутствии согласия; конфигурация хранится в разрешенном регионе.
SDK-гейты: инициализация маркетинговых/аналитических SDK только при true-флаге цели.
Firing-логи: кто/что/когда «стрельнуло», при каком статусе согласия.
9) Данные, артефакты и ретенция (минимальная модель)
consent_id, user_id/device_id, market, locale,
ui_variant_id, policy_version, tcf_string, vendors[],
purpose_id, status{accept deny withdraw}, source{web app sdk api},
captured_at_utc, ip_hash, ua_hash, gpc{true false},
evidence{banner_screenshot_id, copy_hash}, expires_at
WORM-журналы согласий/отзывов, версии текстов, скриншоты UI-вариантов.
Ретенция: пока действует цель/отношения + локальные сроки; маркетинг — ограниченно (часто ≤ 24 мес неактивности).
10) Интеграции: CRM/Ads/Аффилиаты
Suppression: отзыв → мгновенная деактивация каналов и ремаркетинга (near-real-time + ночные бэтчи).
E-mail/SMS: рассылка только при явно true для канала (double opt-in по рынкам).
Аффилиаты: лиды без CMP/валидного статуса согласия — не квалифицируются; version/hash условий — обязателен.
11) Региональные профили (шаблон)
Market: ______
Required banner elements:...
Retention and localization:...
Requirements for TCF/vendor lists:...
GPC/DNT status:...
Documents/mandatory links:...
12) Контроль, тесты и аудит
CI-линтер: проверка наличия «Отклонить все», GPC-обработки, блокировки тэгов до согласия.
E2E-тесты: сценарии accept/deny/withdraw → проверка firing-логов и suppression в CRM.
Выборки: квартальный аудит записей согласий и скриншотов UI; сверка версий текстов.
Инциденты: любой запуск тега без согласия → немедленный takedown, причина/фикс, CAPA.
13) KPI/KRI и дашборд
Opt-in Rate по целям/рынкам/устройствам.
Withdraw Rate и Time-to-Apply (медиана).
GPC Honor Rate (корректная обработка глоб. сигнала).
Tag Firing Violations (на 1k загрузок).
Suppression Integrity (маркетинг при отзыве = 0).
Complaint Rate / Reg Findings.
Auditability Score (% записей с полным пакетом артефактов).
14) Чек-листы
Перед запуском
- Баннер с «Отклонить все», локали, доступность AA+.
- Категории целей и список вендоров согласованы (Legal/DPO).
- Tag Manager: deny-by-default; SDK-гейты.
- GPC распознается и применяется.
- Преференс-центр с канальными флагами и «Отписаться от всего».
- WORM-хранилище доказательств включено.
В операциях
- Мониторинг firing-нарушений и GPC.
- Сверка suppression в CRM/Ads.
- DSAR возвращает текущие статусы и журнал.
Аудит/улучшение
- Квартальные выборки согласий и UI-скриншотов.
- A/B-ревью баннера на отсутствие темных паттернов.
- Обновление региональных профилей и текстов.
15) Шаблоны (быстрые вставки)
A) Баннер (первый слой)
[Отклонить все] [Настроить] [Принять все]
B) Панель (цель «Ремаркетинг/Ads»)
C) Отзыв согласия (подтверждение)
D) Ответ на жалобу «невозможно отказаться»
16) Технический каркас и события
События: `cmp_banner_shown`, `consent_given/denied/withdrawn`, `gpc_detected`, `tag_fired_blocked`, `sdk_initialized/blocked`, `marketing_unsubscribed`, `dsar_fulfilled`.
API:- `GET /consents?user_id=…`
- `POST /consents` (create/withdraw/update)
- `POST /marketing/preferences`
- `POST /gpc/signal`
- Инфраструктура: серверный кэш согласий, гео-привязка логов, маскирование идентификаторов при deny.
17) Риски и профилактика
Запуск тегов до согласия. → Deny-by-default, E2E-тесты, тревоги.
Темные паттерны в баннере. → Дизайн-ревью, равная заметность кнопок.
Несовпадение статусов в CRM/Ads. → Единый suppression-сервис и ежедневные сверки.
Сбор лишних идентификаторов. → Минимизация, маскирование, региональные профили.
Отсутствие доказательств. → Скриншоты/хэши/логи в WORM.
18) 30-дневный план внедрения
Неделя 1
1. Утвердить таксономию cookies/целей и тексты (локали); DPIA.
2. Выбрать/настроить CMP (TCF 2.2 + кастомные цели), включить GPC.
3. Специфицировать модель данных/артефактов, WORM-хранилище.
Неделя 2
4) Реализовать deny-by-default в Tag Manager, серверный кэш согласий, SDK-гейты.
5) Построить преференс-центр (канальные флаги, «Отписаться от всего»).
6) Настроить suppression в CRM/Ads и аффилиат-фидах.
Неделя 3
7) Пилот на 10–20% трафика: Opt-in/Withdraw/GPC Honor, тест firing-логов.
8) Исправления UX/копирайта/правил TM по фидбеку и инцидентам.
Неделя 4
9) Полный релиз; включить дашборд KPI/KRI и алерты.
10) Квартальный план аудитов и CAPA.
11) План v1.1: server-side tagging для всех рынков, авто-репорты по согласиям.
- GDPR: управление согласием пользователей
- Проверка возраста и возрастные фильтры
- Рекламные стандарты и запреты / Дисклеймеры и правдивость рекламы
- Прозрачность бонусных условий
- Локализация данных по юрисдикциям
- Дашборд комплаенса и мониторинг / Внутренний и внешний аудит