sanitizer
Обезличивание PostgreSQL с сохранением связей и объёма. Исходный код
В тексте обращения стоит тот же псевдоним, что и в таблице клиентов.
Проверки копии PASS
Проверить у себя
Демо поднимается одной командой, копия собирается из источника с нуля.
git clone https://github.com/xrn6px6xyy-svg/db-sanitizer cd db-sanitizer && make demo
В конце отчёт verify с вердиктом и ненулевым кодом возврата при провале. Готовые артефакты прогона лежат в demo/artifacts.
Как здесь используется модель
Модель работает один раз на схему, а не на каждую строку: размечает колонки по классам ПДн, выбирает стратегию замены и генерирует пулы правдоподобных значений. Результат сохраняется как план и пулы, дальше исполнение идёт чистыми функциями.
Поэтому прогон повторяем и не зависит от доступности модели, а сквозная консистентность не ломается. Обращение к модели на каждое значение отклонено осознанно: недетерминированно и дорого на больших объёмах.
Сырые ответы модели: demo/artifacts/llm_transcripts/