Хранение и удаление пользовательских данных
1) Зачем нужна политика хранения и удаления
Цель — хранить только нужные данные, ровно столько, сколько требуется, и безопасно удалять их по окончании целей обработки. Это снижает юридические риски, поверхность атаки, затраты на инфраструктуру и упрощает аудит (лицензии, PSP-партнеры, регуляторы).
Ключевые принципы:- Привязка к цели/основанию (договор, закон, легитимный интерес, согласие).
- Минимизация и сегрегация (PII ↔ псевдонимы ↔ аноним).
- Предсказуемые сроки и доказуемые процедуры удаления.
- Непрерывный контроль (логи, отчеты, метрики).
2) Зоны данных и архитектурные опоры
Zone A — PII/чувствительные: KYC, платежные токены, биометрия (где допустимо). Шифрование at-rest, строгий RBAC/ABAC, JIT-доступы.
Zone B — Псевдонимизированные: стабильные токены для аналитики/ML; запрет прямой де-идентификации.
Zone C — Анонимные агрегаты: отчетность/исследования; допускается долгий срок хранения.
- Data Catalog/RoPA (реестр операций), Retention Service (правила), Deletion Orchestrator (сквозное удаление), WORM-архив (аудит/инциденты).
3) Ретеншн-матрица: как составлять
Шаги:1. Сопоставьте цели обработки ↔ правовые основания ↔ категории данных ↔ сроки.
2. Опишите триггеры начала отсчета (события: создание учета, последний логин, закрытие аккаунта, окончание договора, финальная транзакция).
3. Зафиксируйте метод по окончании: удаление, анонимизация, блокировка (когда нужен «фриз»).
4. Укажите владельца и исключения (AML/налоги/споры/мошенничество).
Пример (для wiki):4) Политика хранения (скелет)
1. Область действия, роли (владелец данных, DPO, Security, Operations).
2. Определения (категории ПД, зоны, архив, бэкап, анонимизация/псевдонимизация).
3. Привязка данных к целям/основаниям и срокам (ссылка на ретеншн-матрицу).
4. Управление исключениями (юридический «холд», расследования, регуляторные запросы).
5. Контроли доступа, шифрование, аудит выгрузок.
6. Порядок пересмотра (ежеквартально/при изменениях целей/провайдеров).
5) Пайплайн удаления и анонимизации
Этапы:- Mark-for-Deletion: пометка записей и зависимостей; проверка «холдов».
- Grace Period: буфер (например, 7–30 дней) для отмены по ошибке.
- Soft Delete: логическое скрытие из прод-сервисов; остановка рассылок/обработок.
- Hard Delete/Anonymize: физическая очистка/необратимая анонимизация в первичном хранилище.
- Cascade & Fan-out: каскад в деривативы (кэши, поисковые индексы, фиче-стор, DWH, ML-слои).
- Backups: отложенная очистка по политике бэкапов (см. ниже).
- Evidence: акт удаления (ID, классификатор, время, системы), лог в WORM.
- Удаление по ключу субъекта с трассировкой по lineage.
- Идемпотентные задачи, ретраи, дедупликация команд.
- SLA: большинство удалений ≤30 дней от запроса (если применимо).
- Контроль «неудаляемых» полей: заменять токенами/маской.
6) Бэкапы и реплики: что делать с копиями
Иммутабельные бэкапы (ransomware-устойчивость) хранятся по отдельной политике; прямое редактирование запрещено.
Удаление субъекта из бэкапов выполняется через истечение срока бэкапа и запрет восстановлений в боевое окружение, если это приводит к ре-идентификации.
Документируйте: window хранения бэкапов (например, 30/60/90 дней), сценарии восстановления и процесс «sanitization» при восстановлении (пост-скрипты для повторного удаления отмеченных записей).
7) Исключения и «правовой холд»
Иногда удаление нельзя выполнить сразу (например, AML, налоговые проверки, судебные споры). Процедура:- Проставить Legal Hold с указанием основания, срока и владельца.
- Блокировать доступ к данным для любых иных целей, кроме указанных.
- Периодически пересматривать холды и снимать, как только основание отпадает.
8) Документация и артефакты
Ретеншн-матрица (версионируемая).
Процедура удаления (SOP): шаги, роли, SLA, эскалации.
Deletion Evidence Log (WORM): кто/что/когда/результат.
Backups Policy: сроки, класс хранилища, тесты восстановления.
Data Lineage Map: от первичных таблиц до производных слоев.
Исключения/Legal Holds Register.
9) Метрики и контроль качества
Retention Adherence: % записей, удаленных по графику.
Deletion SLA: медиана/95-й перцентиль с момента запроса/триггера.
Cascade Completion Rate: доля систем, где удаление завершено.
Backups Window Compliance: доля бэкапов, удаленных по сроку.
Access/Export Violations: несанкционированные чтения/выгрузки.
DSR SLA (если применимо): ответы ≤ установленных сроков.
Incident Rate: количество сбоев удаления/рассинхронизаций.
10) Чек-листы (операционные)
Перед запуском фичи
- Определена цель/основание обработки и зона хранения (A/B/C).
- Добавлена строка в ретеншн-матрицу (срок, триггер, метод).
- Настроен Deletion Orchestrator (ключи, каскады, idempotency).
- Включен аудит (WORM-логи), обновлен RoPA.
Ежедневно/еженедельно
- Планировщик задач удаления отработал без ошибок.
- Новые Legal Holds зарегистрированы, просроченные — сняты.
- Проверены отчеты по бэкапам (создание/истечение).
Ежеквартально
- Ревью ретеншн-матрицы и исключений.
- Тест восстановления из бэкапа + «sanitization» скриптов.
- Сверка метрик (SLA, Cascade, Violations), план улучшений.
11) Частые ошибки и как их избежать
Хранение «про запас» → жесткая привязка к целям; автоматический TTL по категориям.
Нет каскада → данные остаются в кэшах/индексах/фиче-сторе; внедрите универсальный оркестратор.
Dev/Stage с прод-ПД → используйте синтетические наборы/маскирование; автоматическое выпиливание дампов.
Бэкапы вне политики → определите окна, запрет несанкционированных восстановлений, тесты «sanitization».
Отсутствие доказательств → WORM-лог, акты удаления, регулярные отчеты.
Смешение оснований → разделяйте маркетинг/безопасность/договор; не тяните сроки «на всякий случай».
12) Пример пользовательского удаления (сквозной сценарий)
1. Пользователь закрывает аккаунт или подает DSR на удаление.
2. Проверка исключений (AML, споры) → при наличии — Legal Hold с ограничением целей.
3. Если нет холда: Mark-for-Deletion → Grace 14 дней → Soft Delete.
4. Hard Delete/Anonymize в транзакционном слое, затем каскад в кэши, индексы, DWH, ML-фиче-стор.
5. Логирование в Evidence Log, обновление статуса в профиле/почтой.
6. Очистка из бэкапов по истечении окна хранения.
13) Роли и ответственность (RACI)
Data Owner/Domain Lead — сроки и цели; обновление ретеншн-матрицы.
DPO/Privacy — соответствие праву, консультации по исключениям.
Security/CISO — шифрование, доступы, аудит, бэкапы/восстановления.
Data Engineering — Deletion Orchestrator, lineage, каскады.
Support/Operations — коммуникации по DSR, статус и SLA.
Legal — юридические холды, взаимодействие с регуляторами/судами.
14) Шаблоны для вашей wiki
Retention-Matrix.xlsx/MD (категория → цель → основание → срок → метод).
Deletion-SOP.md (пошаговый регламент с эскалациями).
Backups-Policy.md (окна, классы хранилищ, тест-план восстановления).
Legal-Holds-Register.md (формы постановки/снятия).
Data-Lineage-Diagram (ссылки из таблиц на деривативы).
Monthly-Privacy-Ops-Report.md (метрики, инциденты, улучшения).
15) Дорожная карта внедрения (6 шагов)
1. Инвентаризация: карта данных/потоков, сопоставление целей и оснований.
2. Ретеншн-матрица: черновик сроков + владельцы; согласование с Legal/DPO.
3. Оркестратор удалений: ключи, каскады, бэкап-санитизация, WORM-логи.
4. Политики/процедуры: Retention Policy, Deletion SOP, Backups Policy, Legal Hold.
5. Автоматизация и мониторинг: расписания, оповещения, дашборд метрик.
6. Аудиты и обучение: квартальный пересмотр, тэмплейты актов, тренировки восстановления.
Итог
Эффективное хранение и удаление данных — это управляемый цикл: цель → срок → контроль → безопасное удаление/анонимизация → доказуемость. Сегрегация зон, ретеншн-матрица, каскадное удаление (включая бэкапы), понятные исключения и метрики превращают приватность и комплаенс из риска в конкурентное преимущество — без потерь для скорости продукта и качества UX.