кто как решает эту проблему в БД?
Схема данных у каждого приложения произвольная, поэтому непонятно, как можно решить её "фреймворком". Универсальные правила, это хранить только то, что необходимо для работы приложения/бизнеса, удалять данные после того, когда они станут вам не нужны, строго контролировать доступ к этим данным и размещать их в правильной стране. Обезличивать их не выйдет, потому что если для работы бизнеса нужно имя - то вы это имя в любом случае будете хранить. А вот в логах да, приходится обезличивать. Но там проще, для логов можно описать форматирование, которое значимые поля заменяет перед логированием структур данных.
https://labs.dalibo.com/postgresql_anonymizer
Сталкивались несколько раз, каждый раз решали по-разному. Основные проблема в том, чтобы сохранить: 1. Человеко-читаемость. Замена фамилии на md5 от неё - плохая идея ) 2. Разнообразие. Если заменить все фамилии на "Иванов", очевидно что некоторые запросы начнут работать не так, как с реально имеющимся распределением. Подробности зависят от конкретной ситуации - какие ПД у вас есть, сколько их и т.п., не используется ли что-то из них (например СНИЛС или его старший брат SSN) в foreign key и т.п. Не думаю что тут есть смысл в каких-то "фреймворках", задача при условии что вы знаете ваши данные довольно простая, а никаких, устраивающих безопасников, "сертифицированных решений" вы всё равно скорее всего не найдёте.
Обсуждают сегодня