<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:yandex="http://news.yandex.ru" xmlns:turbo="http://turbo.yandex.ru" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>Статьи</title>
    <link>https://datasan.ru</link>
    <description/>
    <language>ru</language>
    <lastBuildDate>Mon, 23 Mar 2026 12:49:41 +0300</lastBuildDate>
    <item turbo="true">
      <title>Обезличивание данных в базах: в чем сложность и как организовать процесс</title>
      <link>https://datasan.ru/tpost/9kyc0sexa1-obezlichivanie-dannih-v-bazah-v-chem-slo</link>
      <amplink>https://datasan.ru/tpost/9kyc0sexa1-obezlichivanie-dannih-v-bazah-v-chem-slo?amp=true</amplink>
      <pubDate>Mon, 16 Mar 2026 12:41:00 +0300</pubDate>
      <author>Simon Einstein</author>
      <enclosure url="https://static.tildacdn.com/tild6534-6432-4564-b064-386637643930/1.png" type="image/png"/>
      <turbo:content><![CDATA[<header><h1>Обезличивание данных в базах: в чем сложность и как организовать процесс</h1></header><figure><img alt="" src="https://static.tildacdn.com/tild6534-6432-4564-b064-386637643930/1.png"/></figure><blockquote class="t-redactor__preface"><span style="color: rgb(28, 30, 62);">Деперсонализация кажется простой задачей, пока не сталкиваешься с реальностью. На практике это полноценный инженерный вызов, сочетающий профилирование, проверку бизнес-логики, оптимизацию и работу с нетривиальными особенностями инфраструктуры. В этой статье мы разобрали технические сложности, через которые проходят команды, когда пытаются организовать обезличивание в больших системах, — и решения, позволяют пройти этот путь.</span></blockquote><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">С 30 ноября 2024 года вступили в силу важные изменения в законодательстве о защите данных. Теперь за нарушения, связанные с обработкой и защитой персональных данных, появилась </span><strong style="color: rgb(28, 30, 62);">уголовная ответственность</strong><span style="color: rgb(28, 30, 62);"> для сотрудников, отвечающих за информационную безопасность и работу с данными.</span></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Помимо этого, введены </span><strong style="color: rgb(28, 30, 62);">оборотные штрафы</strong><span style="color: rgb(28, 30, 62);">: за повторные нарушения компания может заплатить до 3% от годового оборота. Суммы ощутимые, особенно для бизнеса, который работает с большими объемами пользовательских данных.</span></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Когда мы обсуждаем нововведения с инженерами, быстро становится ясно: один штраф стоит дороже, чем внедрение нормального процесса обезличивания. И уж точно не стоит того, чтобы рисковать уголовной ответственностью. Поэтому сегодня вопрос «нужно ли обезличивать?» уже не стоит — стоит вопрос, </span><strong style="color: rgb(28, 30, 62);">как сделать это эффективно и безопасно</strong><span style="color: rgb(28, 30, 62);">.</span></div><h2  class="t-redactor__h2"><span style="color: rgb(28, 30, 62);">Как правильно выделить и обработать персональные данные</span></h2><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">В процессе обезличивания мы опираемся на два ключевых понятия: </span><strong style="color: rgb(28, 30, 62);">профилирование</strong><span style="color: rgb(28, 30, 62);"> и </span><strong style="color: rgb(28, 30, 62);">деперсонализация</strong><span style="color: rgb(28, 30, 62);">.</span></div><blockquote class="t-redactor__callout t-redactor__callout_fontSize_default" style="background: #ffefb5; color: #000000;">
                                <div class="t-redactor__callout-icon" style="color: #ff0000">
                                    <svg width="24" height="24" role="img" style="enable-background:new 0 0 24 24">
                                        <circle cx="12.125" cy="12.125" r="12" style="fill:currentColor"/>
                                        <path d="M10.922 6.486c0-.728.406-1.091 1.217-1.091s1.215.363 1.215 1.091c0 .347-.102.617-.304.81-.202.193-.507.289-.911.289-.811 0-1.217-.366-1.217-1.099zm2.33 11.306h-2.234V9.604h2.234v8.188z" style="fill:#fff"/>
                                    </svg>
                                </div>
                                <div class="t-redactor__callout-text">
                                     <strong style="color: rgb(28, 30, 62);">Профилирование</strong><span style="color: rgb(28, 30, 62);"> — это поиск полей, содержащих персональную информацию. На самом деле мы можем искать не только ПДн: в разных проектах нас просили находить размер каски, обуви и другие специфичные параметры — всё это решалось без проблем.</span><br /><strong style="color: rgb(28, 30, 62);">Деперсонализация (обезличивание)</strong><span style="color: rgb(28, 30, 62);"> — следующий шаг. Это изменение найденных данных таким образом, чтобы при возможной утечке они не представляли ценности для злоумышленников и не могли быть использованы против пользователя или компании. Неважно, относятся ли данные к категории персональных или к любому другому чувствительному типу — принцип один и тот же.</span>
                                </div>
                            </blockquote><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">На первый взгляд кажется, что определить персональные данные достаточно просто: фамилия, имя, отчество, номер телефона, паспорт, ИНН, СНИЛС — всё это очевидные категории. Но на практике возникает вопрос: </span><strong style="color: rgb(28, 30, 62);">как отличить, например, ИНН от любого произвольного набора цифр?</strong></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Чтобы минимизировать ложные срабатывания, мы добавляем дополнительные проверки:</span></div><div class="t-redactor__text"><ul><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">для СНИЛС используем проверку контрольной суммы;</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">для паспортных данных анализируем первые четыре цифры, чтобы убедиться; что это действительно паспорт, а не случайная последовательность.</span></li></ul></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Отдельная важная задача — </span><strong style="color: rgb(28, 30, 62);">сохранение консистентности</strong><span style="color: rgb(28, 30, 62);">. Когда мы обезличиваем данные из разных баз, одно и то же имя или номер телефона должны превращаться в одинаковые значения. Это критично для последующего анализа и работы с наборами данных, чтобы обезличенные данные оставались полезными и связными.</span></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Ещё один частый сценарий — географически распределенные дата-центры. Между ними может не быть связи вовсе, но при этом важно, чтобы </span><strong style="color: rgb(28, 30, 62);">данные в разных хранилищах обезличивались одинаково</strong><span style="color: rgb(28, 30, 62);">. Мы решаем и такую задачу: две независимые базы должны выдавать совпадающие обезличенные значения для одних и тех же исходных данных.</span></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Есть и другая особенность, с которой сталкиваются команды тестирования. Если на вход тестам вместо фамилии и имени приходит случайный набор букв, такие значения легко ломают логику сценариев. Поэтому мы научились преобразовывать реальные данные в </span><strong style="color: rgb(28, 30, 62);">корректные, естественно выглядящие аналоги</strong><span style="color: rgb(28, 30, 62);">: превращать Васю Петрова в Петра Иванова, генерировать валидные номера телефонов и паспортов, корректно подбирать даты рождения.</span></div><blockquote class="t-redactor__callout t-redactor__callout_fontSize_default" style="background: #ffefb5; color: #000000;">
                                <div class="t-redactor__callout-icon" style="color: #ff0000">
                                    <svg width="24" height="24" role="img" style="enable-background:new 0 0 24 24">
                                        <circle cx="12.125" cy="12.125" r="12" style="fill:currentColor"/>
                                        <path d="M10.922 6.486c0-.728.406-1.091 1.217-1.091s1.215.363 1.215 1.091c0 .347-.102.617-.304.81-.202.193-.507.289-.911.289-.811 0-1.217-.366-1.217-1.099zm2.33 11.306h-2.234V9.604h2.234v8.188z" style="fill:#fff"/>
                                    </svg>
                                </div>
                                <div class="t-redactor__callout-text">
                                     <span style="color: rgb(28, 30, 62);">Бывают и более специфичные запросы. Например, страховая компания просила сохранить информацию о том, что клиент старше 18 лет, но при этом «сдвигать» дату рождения так, чтобы она обязательно попадала в первую или вторую половину месяца — потому что на этом основана внутренняя логика расчета коэффициентов. Таких кейсов у нас накопилось много, и каждый требовал отдельного подхода.</span><br /><br /><span style="color: rgb(28, 30, 62);">В итоге сформировалась большая библиотека способов корректного и устойчивого обезличивания данных — и это, как оказалось, куда сложнее, чем кажется на первый взгляд.</span>
                                </div>
                            </blockquote><h2  class="t-redactor__h2"><span style="color: rgb(28, 30, 62);">Технические сложности профилирования</span></h2><h3  class="t-redactor__h3"><span style="color: rgb(28, 30, 62);">Понять, какие сущности мы ищем</span></h3><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Первый шаг — понять, с какими видами данных вы работаете. Типовой список включает ПДн физических лиц включает:</span></div><div class="t-redactor__text"><ul><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">ФИО</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">Адрес</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">Телефонный номер</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">Паспортные данные</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">СНИЛС</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">ОГРН</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">ИНН</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">Номер счетов / банковских карт</span></li></ul></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Однако в зависимости от домена персональные данные могут относиться не только к физическим лицам: могут быть задействованы и юридические лица, и другие типы сущностей. На этом этапе важно четко зафиксировать, что именно считается чувствительными данными в вашем контуре</span></div><h3  class="t-redactor__h3"><span style="color: rgb(28, 30, 62);">Определить методы поиска</span></h3><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Даже разобравшись с тем, что искать, нужно понять, как это искать. Мы выделяем три основных метода:</span><br /><ul><li data-list="bullet">метаданные;</li><li data-list="bullet">словари;</li><li data-list="bullet">регулярные выражения.</li></ul></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">У вас могут появиться дополнительные методы, но эти три — основа.</span></div><h3  class="t-redactor__h3"><span style="color: rgb(28, 30, 62);">Собрать данные для этих методов</span></h3><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Чтобы методы профилирования работали корректно, требуется предварительно собрать и подготовить данные. Это включает:</span><br /><ul><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">наполнение словарей фамилиями, именами и другими возможными значениями;</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">создание и отладку регулярных выражений для структурированных типов данных (например, ИНН, СНИЛС и т. д.);</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">поддержку и обновление этих словарей и шаблонов по мере появления новых форматов и правил.</span></li></ul></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Это трудоемкий этап, без которого невозможно добиться точного распознавания чувствительных данных.</span></div><h3  class="t-redactor__h3"><span style="color: rgb(28, 30, 62);">Собрать движок профилирования</span></h3><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Когда данные готовы, нужно собрать </span><strong style="color: rgb(28, 30, 62);">движок</strong><span style="color: rgb(28, 30, 62);">, который умеет всё это применять. Если база данных большая, движок придётся долго оптимизировать, чтобы он справлялся с нагрузкой, корректно масштабировался и при этом оставался достаточно быстрым.</span></div><h3  class="t-redactor__h3"><span style="color: rgb(28, 30, 62);">Разобраться с архитектурной дельтой</span></h3><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Даже если профилирование прошло успешно и у вас есть готовый профиль данных, работа на этом не заканчивается. Базы </span><strong style="color: rgb(28, 30, 62);">со временем обновляются</strong><span style="color: rgb(28, 30, 62);">: появляются новые поля и таблицы. Значит, профилирование нужно выполнять повторно — хотя бы по дельте изменений. Это также должно быть заложено в архитектуру движка: инструмент обязан уметь находить новые сущности без полного пересканирования всего хранилища.</span></div><h2  class="t-redactor__h2"><span style="color: rgb(28, 30, 62);">Технические сложности деперсонализации</span></h2><h3  class="t-redactor__h3"><span style="color: rgb(28, 30, 62);">Уникальные сущности и «забытые» места хранения данных</span></h3><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Может показаться, что достаточно обезличить основные таблицы — и работа сделана. На практике это далеко не так. Важно отметить, что пример далее приведен на базе Oracle, и часть подобных проблем специфична именно для этой СУБД. В других системах хранения данные сложности могут проявляться иначе или не встречаться вовсе.</span></div><h4  class="t-redactor__h4"><span style="color: rgb(28, 30, 62);">Material View</span></h4><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Физический объект базы данных, который содержит результат выполнения запроса. Материальные представления могут содержать слепки данных, которые не обновились после обезличивания основной таблицы. Поэтому они должны входить в общий контур обработки.</span></div><h4  class="t-redactor__h4"><span style="color: rgb(28, 30, 62);">Material View Log</span></h4><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Рядом с ними в Oracle существует ещё одна специфичная сущность — Material View Log. Это вспомогательный физический объект для оптимизации работы с материальными представлениями (позволяет выполнять fast refresh вместо complete refresh). С точки зрения обезличивания не вызывает дополнительных задач, но становится источником серьезных проблем при параллельной обработке данных. В процессе вы рискуете получить взаимные блокировки и остановить весь пайплайн.</span></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Отключить Material View Log нельзя — его приходится удалять и затем восстанавливать. Это нужно учитывать и вписывать в общий процесс обработки данных.</span></div><h4  class="t-redactor__h4"><span style="color: rgb(28, 30, 62);">Constraints</span></h4><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Правила, которые добавляются при изменении/добавлении данных в таблицу. Даже если вы умеете корректно работать с нужными полями, всегда существуют </span><strong style="color: rgb(28, 30, 62);">ограничения в базе</strong><span style="color: rgb(28, 30, 62);">. Например:</span></div><div class="t-redactor__text"><ul><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">дата закрытия договора не может быть раньше даты открытия;</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">связанные значения должны оставаться согласованными.</span></li></ul></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Все такие ограничения тоже нужно профилировать и учитывать при обезличивании. Иначе результат будет некорректным, а база — потенциально сломанной.</span></div><h3  class="t-redactor__h3"><span style="color: rgb(28, 30, 62);">Проблемы при пересоздании базы данных</span></h3><h4  class="t-redactor__h4"><span style="color: rgb(28, 30, 62);">JDK и Java-объекты</span></h4><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">В ряде кейсов при восстановлении базы мы сталкивались с тем, что в Oracle:</span></div><div class="t-redactor__text"><ul><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">отсутствует возможность компилировать Java source;</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">версия JDK отличается от ходовой.</span></li></ul></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">В результате часть логики, завязанной на Java внутри БД, просто перестает работать. Исправляется это довольно приземленно — переустановкой JDK и приведением версии к нужной.</span></div><h4  class="t-redactor__h4"><span style="color: rgb(28, 30, 62);">Индексы в невалидном состоянии</span></h4><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">При копировании часть индексов оказывается сломанной, что приводит к остановкам при обновлении таблиц.</span></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Чаще всего это всплывает не на «боевых» таблицах, а на:</span></div><div class="t-redactor__text"><ul><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">архивных таблицах;</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">пользовательских слепках/копиях, которые когда-то сделали «на всякий случай» и про них забыли.</span></li></ul></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Один из обязательных шагов — </span><strong style="color: rgb(28, 30, 62);">научиться обнаруживать и корректно обрабатывать такие индексы</strong><span style="color: rgb(28, 30, 62);">: либо чинить, либо переcоздавать, либо исключать эти объекты из обработки по согласованным правилам. Иначе процесс обезличивания будет регулярно ломаться на забытых и «заброшенных» участках базы.</span></div><h3  class="t-redactor__h3"><span style="color: rgb(28, 30, 62);">Проблемы с настройками баз данных и таблиц</span></h3><h4  class="t-redactor__h4"><span style="color: rgb(28, 30, 62);">Низкое значение Initrans</span></h4><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Один из характерных примеров — параметр </span><span style="color: rgb(76, 164, 92);">INITRANS</span><span style="color: rgb(28, 30, 62);"> в Oracle. Он отвечает за количество DML-запросов, которые могут выполняться параллельно на записях внутри блока данных.</span></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Когда таблица большая и активно обновлялась, ее блоки могут иметь слишком низкое значение </span><span style="color: rgb(76, 164, 92);">INITRANS</span><span style="color: rgb(28, 30, 62);">. В результате при массовом обновлении данных мы параллельно обращаемся в разные блоки и начинаем блокировать сами себя, создавая задержки и замедляя процесс обезличивания.</span></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Исправить ситуацию простым изменением настройки нельзя: для применения потребуется </span><span style="color: rgb(76, 164, 92);">MOVE</span><span style="color: rgb(28, 30, 62);">, а это уже отдельная трудоемкая операция, потенциально влияющая на структуру таблицы. Поэтому на практике проблему приходится решать ручной обработкой взаимных блокировок.</span></div><h4  class="t-redactor__h4"><span style="color: rgb(28, 30, 62);">Ограничение свободного места в tablespace</span></h4><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Массовое обновление занимает дополнительное пространство, и если его мало, процесс может просто не завершиться. Это тоже нужно учитывать заранее.</span></div><h4  class="t-redactor__h4"><span style="color: rgb(28, 30, 62);">Валидация отдельных сущностей</span></h4><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Отдельная группа проблем — корректность данных после обезличивания.</span></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Во-первых, это </span><strong style="color: rgb(28, 30, 62);">техническая валидация</strong><span style="color: rgb(28, 30, 62);">. Например:</span></div><div class="t-redactor__text"><ul><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">Прохождение котрольных суммы (СНИЛС, ИНН и т. д.);</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">корректность формата имени;</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">структуры номера документа.</span></li></ul></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Если такие проверки не пройдены, приложение может отказать на ровном месте, потому что формат данных перестанет соответствовать ожиданиям.</span></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Во-вторых, есть </span><strong style="color: rgb(28, 30, 62);">валидация сохранения бизнес-логики</strong><span style="color: rgb(28, 30, 62);">, которую нельзя игнорировать. Например:</span></div><div class="t-redactor__text"><ul><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">дата закрытия договора не может быть раньше даты открытия;</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">дата рождения должна соответствовать паспортным данным;</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">связанные сущности должны оставаться согласованными.</span></li></ul></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Все эти правила должны учитываться прямо в методах обезличивания, иначе база после обработки окажется в неконсистентном состоянии и вызовет дефекты в потребляющих системах.</span></div><h2  class="t-redactor__h2"><span style="color: rgb(28, 30, 62);">Оптимизация алгоритмов обезличивания</span></h2><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Все перечисленные сложности приводят к тому, что даже если вы собрали свой рабочий движок, на больших базах данных </span><strong style="color: rgb(28, 30, 62);">проблемы с оптимизацией всё равно рано или поздно появятся</strong><span style="color: rgb(28, 30, 62);">.</span></div><h4  class="t-redactor__h4"><span style="color: rgb(28, 30, 62);">Распараллеливание процессов</span></h4><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Для крупных БД необходимо уметь </span><strong style="color: rgb(28, 30, 62);">распараллеливать обработку</strong><span style="color: rgb(28, 30, 62);">. Если ваше решение основано, например, на stored procedures или схожем подходе, нативной поддержки параллелизма там обычно нет.</span></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Значит, придется придумывать дополнительный механизм:</span></div><div class="t-redactor__text"><ul><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">запускать отдельные jobs;</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">управлять ими через планировщики;</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">контролировать распределение нагрузки.</span></li></ul></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">И это само по себе становится отдельной инженерной задачей.</span></div><h4  class="t-redactor__h4"><span style="color: rgb(28, 30, 62);">Оптимизация алгоритмов</span></h4><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Даже если алгоритмы работают корректно, на практике почти всегда оказывается, что </span><strong style="color: rgb(28, 30, 62);">скорость обработки оставляет желать лучшего</strong><span style="color: rgb(28, 30, 62);">. Массовые обновления, большие объемы данных, сложные проверки и валидации — всё это требует оптимизации.</span></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Иногда приходится пересматривать часть логики, перерабатывать методы или менять подход к обработке данных, чтобы уложиться в адекватное время выполнения.</span></div><h4  class="t-redactor__h4"><span style="color: rgb(28, 30, 62);">Пример решения с Oracle</span></h4><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Изначально у нас был простой и понятный конвейер. Один общий планировщик проходил по списку таблиц, которые нужно обезличить.</span></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Старый процесс:</span></div><img src="https://static.tildacdn.com/tild6261-3831-4366-b237-626663303762/image.png"><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Для каждой таблицы мы:</span></div><div class="t-redactor__text"><ol><li data-list="ordered" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">отключали индексы и триггеры;</span></li><li data-list="ordered" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">запускали через планировщик набор работ, которые выполняли обновления;</span></li><li data-list="ordered" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">по завершении возвращали индексы и триггеры обратно.</span></li></ol></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Так мы проходили все таблицы по очереди.</span></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Но когда мы обезличивали данные в одном из банков, оказалось, что такой процесс перестал справляться с нагрузкой.</span></div><img src="https://static.tildacdn.com/tild3966-6331-4733-b832-336461313930/image.png"><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">На графике утилизации CPU выше видно множество «пустых» участков⁠ — ресурсы простаивали, а значит, мы теряли время. Для больших объемов данных это неприемлемо.</span><br /><br /><span style="color: rgb(28, 30, 62);">Мы полностью пересобрали процесс, чтобы устранить простои и максимально загрузить доступные ресурсы.</span></div><img src="https://static.tildacdn.com/tild3862-3938-4365-b035-333035333262/image.png"><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Теперь пайплайн выглядит так:</span></div><div class="t-redactor__text"><ul><li data-list="bullet" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">Первый планировщик</strong><span style="color: rgb(28, 30, 62);"> проходит таблицы в прямом порядке и обрабатывает крупные таблицы.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">Второй планировщик</strong><span style="color: rgb(28, 30, 62);"> идет навстречу первому, но работает с мелкими таблицами — в обратном порядке.</span></li></ul></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Оба планировщика выполняют подготовку таблиц: отключают индексы, триггеры и запускают обновления.</span></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Завершение же процесса вынесено отдельно:</span></div><div class="t-redactor__text"><ul><li data-list="bullet" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">Третий планировщик</strong><span style="color: rgb(28, 30, 62);"> занимается включением индексов и триггеров, потому что это длительная операция, которая не должна блокировать основной поток обработки.</span></li></ul></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">На выходе — новый график утилизации CPU, где «провалов» практически нет. Все ресурсы загружены равномерно, а процесс обезличивания работает заметно быстрее.</span><br /><br /><span style="color: rgb(28, 30, 62);">Для нас это был важный шаг вперед: более гибкая схема распараллеливания дала ту производительность, которой мы не могли добиться предыдущим подходом.</span></div><h2  class="t-redactor__h2"><span style="color: rgb(28, 30, 62);">Дальнейшие планы по продукту DataSan</span></h2><div class="t-redactor__text"><ul><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">После нескольких лет работы над ядром мы пришли к тому, что пора развивать </span><strong style="color: rgb(28, 30, 62);">пользовательский интерфейс</strong><span style="color: rgb(28, 30, 62);">. Это одно из наших ближайших направлений — сделать работу с инструментом более удобной и прозрачной.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">Параллельно мы развиваем новый модуль </span><strong style="color: rgb(28, 30, 62);">усечения данных</strong><span style="color: rgb(28, 30, 62);">. На Oracle он уже доступен в стабильной поставке. Этот модуль позволяет значительно сокращать время обезличивания в тех случаях, когда нет необходимости обрабатывать всю базу целиком.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">Усечение можно выполнять по разным параметрам — не только по дате, но и, например, по фамилиям или сериям паспортов. Мы планируем </span><strong style="color: rgb(28, 30, 62);">расширить поддержку и вынести модуль за пределы Oracle</strong><span style="color: rgb(28, 30, 62);">, чтобы он был доступен в других СУБД.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">Разумеется, продолжаем развивать и </span><strong style="color: rgb(28, 30, 62);">профилирование</strong><span style="color: rgb(28, 30, 62);"> — это один из ключевых и наиболее трудоемких этапов, который требует постоянного улучшения.</span></li></ul></div>]]></turbo:content>
    </item>
    <item turbo="true">
      <title>Почему в 2025 году без деперсонализации не обойтись: всё о новых требованиях закона и лучших инструментах</title>
      <link>https://datasan.ru/tpost/ylp0tubf11-pochemu-v-2025-godu-bez-depersonalizatsi</link>
      <amplink>https://datasan.ru/tpost/ylp0tubf11-pochemu-v-2025-godu-bez-depersonalizatsi?amp=true</amplink>
      <pubDate>Mon, 23 Feb 2026 12:41:00 +0300</pubDate>
      <author>Василий Жидков</author>
      <enclosure url="https://static.tildacdn.com/tild6434-3935-4032-a338-323361343437/3.jpg" type="image/jpeg"/>
      <turbo:content><![CDATA[<header><h1>Почему в 2025 году без деперсонализации не обойтись: всё о новых требованиях закона и лучших инструментах</h1></header><figure><img alt="" src="https://static.tildacdn.com/tild6434-3935-4032-a338-323361343437/3.jpg"/></figure><blockquote class="t-redactor__preface"><span style="color: rgb(28, 30, 62);">С 30 ноября 2024 года в России приняты законы, которые навсегда изменили отношение к персональным данным. Теперь за утечку информации компаниям грозят не только миллионные штрафы, но и </span><strong style="color: rgb(28, 30, 62);">уголовная ответственность — до 5 лет лишения свободы</strong><span style="color: rgb(28, 30, 62);">. </span><br /><br /><span style="color: rgb(28, 30, 62);">Законодательство уже работает, а значит, каждая компания, которая хранит и обрабатывает персональные данные, должна не просто «навести порядок», а внедрить эффективные и проверяемые решения по их защите. В этом материале рассказываем, как соблюсти новые требования и подобрать надежные инструменты.</span></blockquote><h2  class="t-redactor__h2"><span style="color: rgb(28, 30, 62);">По порядку: законы о деперсонализации и их требования к бизнесу</span></h2><h4  class="t-redactor__h4"><span style="color: rgb(28, 30, 62);">Основной ФЗ‑152 «О персональных данных» от 27 июля 2006 г.</span></h4><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Установил</span> <a href="https://www.consultant.ru/document/cons_doc_LAW_61801/">базовые требования обработки данных.</a></div><div class="t-redactor__text"><ul><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">Получать осознанное и конкретное </span><strong style="color: rgb(28, 30, 62);">согласие субъекта на обработку</strong><span style="color: rgb(28, 30, 62);"> персональных данных.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">Не передавать данные третьим лицам </strong><span style="color: rgb(28, 30, 62);">без основания.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">Обеспечивать защиту</strong><span style="color: rgb(28, 30, 62);"> персональных данных: использовать сертифицированные ИБ-средства, ограничивать доступ, шифровать данные.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">Удалять или </strong><strong style="color: rgb(255, 89, 89);">обезличивать</strong><span style="color: rgb(28, 30, 62);"> данные по окончании целей обработки.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">Реагировать на утечки</strong><span style="color: rgb(28, 30, 62);"> и уведомлять Роскомнадзор.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">С 1 марта 2023 года </span><a href="https://buhexpert8.ru/1s-buhgalteriya/kadry-i-zarabotnaya-plata/kadrovye-dokumenty/obyazatelnoe-uvedomlenie-v-roskomnadzor-s-1-sentyabrya-2022-goda.html" style="color: rgb(255, 89, 89);">уведомлять Роскомнадзор</a><span style="color: rgb(28, 30, 62);"> о начале обработки данных, кроме случаев полностью бумажной обработки или систем ГИС.</span></li></ul></div><h4  class="t-redactor__h4"><span style="color: rgb(28, 30, 62);">Постановление Правительства от 01.11.2012 № 1119 «Об утверждении требований к защите персональных данных при их обработке в информационных системах персональных данных»</span></h4><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Обязывает</span> <a href="https://www.consultant.ru/document/cons_doc_LAW_137356/">защищать данные при автоматизированной обработке</a> <span style="color: rgb(28, 30, 62);">в информационных системах. Документ устанавливает четыре уровня защищенности:</span></div><div class="t-redactor__text"><ul><li data-list="bullet" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">1 уровень</strong><span style="color: rgb(28, 30, 62);"> — если обрабатываются </span><strong style="color: rgb(28, 30, 62);">специальные категории данных</strong><span style="color: rgb(28, 30, 62);"> (например, здоровье, биометрия, политические взгляды), и утечка может нанести </span><strong style="color: rgb(28, 30, 62);">тяжелый вред</strong><span style="color: rgb(28, 30, 62);"> субъекту (например, дискриминация, уголовное преследование). Требуется максимальная защита (СКЗИ, журналирование, контроль целостности и др.).</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">2 уровень</strong><span style="color: rgb(28, 30, 62);"> — если утечка </span><strong style="color: rgb(28, 30, 62);">персональных данных общего характера</strong><span style="color: rgb(28, 30, 62);"> (ФИО, паспорт, адрес) способна нанести </span><strong style="color: rgb(28, 30, 62);">средний вред</strong><span style="color: rgb(28, 30, 62);"> (например, мошенничество, утрата конфиденциальности). Меры схожи с первым уровнем, но допускаются упрощения по криптографии и мониторингу.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">3 уровень</strong><span style="color: rgb(28, 30, 62);"> — вред от утечки </span><strong style="color: rgb(28, 30, 62);">незначителен</strong><span style="color: rgb(28, 30, 62);">, но данные все еще позволяют идентифицировать личность. Нужна защита от несанкционированного доступа, авторизация, базовые механизмы контроля.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">4 уровень</strong><span style="color: rgb(28, 30, 62);"> — применяется в ограниченных случаях, например, при обезличенных или сильно ограниченных наборах данных, где идентификация субъекта </span><strong style="color: rgb(28, 30, 62);">практически исключена</strong><span style="color: rgb(28, 30, 62);">. Минимальный набор мер — например, пароли и физическая безопасность.</span></li></ul></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">На практике у большинства компаний уровень защищенности соответствует </span><strong style="color: rgb(28, 30, 62);">2-му или 3-му уровню по Постановлению №1119</strong><span style="color: rgb(28, 30, 62);">. Проблема в том, что эти данные редко сосредоточены в одном месте: они «размазаны» по множеству систем: CRM, бухгалтерии, HR-сервисам, внешним интеграциям. Каждая такая точка — потенциальный риск. Именно поэтому требования к деперсонализации касаются не только «основной базы клиентов», но и всех окружных систем, где так или иначе появляются персональные данные.</span></div><div class="t-redactor__text"><strong style="color: rgb(255, 89, 89);">Шифрование</strong><span style="color: rgb(255, 89, 89);"> </span><span style="color: rgb(28, 30, 62);">— обязательная мера защиты, если в системе обрабатываются персональные данные 1 или 2 уровня защищенности. Применяются только сертифицированные средства криптографической защиты (СКЗИ), зарегистрированные в ФСБ. Это предотвращает доступ к ПДн даже в случае физического доступа к оборудованию.</span><br /><br /><strong style="color: rgb(255, 89, 89);">Журналирование</strong><span style="color: rgb(28, 30, 62);"> — фиксация всех действий с ПДн: кто, когда, откуда и какие данные запрашивал, просматривал, изменял или удалял. Журналы защищаются от изменения и хранятся в течение минимум 1 года. Это критически важно для расследования инцидентов и доказательства соблюдения закона при проверках Роскомнадзора или ФСТЭК.</span><br /><br /><strong style="color: rgb(255, 89, 89);">Обезличивание</strong><strong style="color: rgb(28, 30, 62);"> (или </strong><strong style="color: rgb(255, 89, 89);">деперсонализация</strong><strong style="color: rgb(28, 30, 62);">)</strong><span style="color: rgb(28, 30, 62);"> — процесс, при котором маскируются все элементы, позволяющие идентифицировать конкретного человека. При этом данные сохраняют структуру и смысловую целостность: имя становится другим именем, номер паспорта — другим, но похожим по формату номером, дата рождения — другой реалистичной датой.</span></div><h4  class="t-redactor__h4">П<span style="color: rgb(28, 30, 62);">оправки к ФЗ-152: что изменилось в требованиях к локализации персональных данных</span></h4><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">С 2011 года компании обязаны хранить и обрабатывать персональные данные граждан РФ </span><a href="https://www.consultant.ru/document/cons_doc_LAW_61801/315f051396c88f1e4f827ba3f2ae313d999a1873/" style="color: rgb(255, 89, 89);">только на территории России</a><span style="color: rgb(28, 30, 62);">. С 1 июля 2025 года </span><a href="https://robokassa.com/blog/articles/zapret-google-analytics-v-rossii-s-1-iyulya-2025-goda-chto-nuzhno-znat-biznesu/" style="color: rgb(255, 89, 89);">введен запрет на сбор данных</a><span style="color: rgb(28, 30, 62);"> через «чужие» cookie и аналитику (Google Analytics и другие) без локализации или разрешения.</span></div><h4  class="t-redactor__h4"><span style="color: rgb(28, 30, 62);">Приказ Роскомнадзора от 5 сентября 2013 г. N 996 «Об утверждении требований и методов по обезличиванию персональных данных»</span></h4><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Устанавливает </span><a href="https://rg.ru/documents/2013/09/18/dannye-dok.html" style="color: rgb(255, 89, 89);">требования и методы</a><span style="color: rgb(28, 30, 62);"> </span><span style="color: rgb(255, 89, 89);">деперсонализации</span><span style="color: rgb(28, 30, 62);"> персональных данных.</span></div><blockquote class="t-redactor__callout t-redactor__callout_fontSize_default" style="background: #ffefb5; color: #000000;">
                                <div class="t-redactor__callout-icon" style="color: #ff0000">
                                    <svg width="24" height="24" role="img" style="enable-background:new 0 0 24 24">
                                        <circle cx="12.125" cy="12.125" r="12" style="fill:currentColor"/>
                                        <path d="M10.922 6.486c0-.728.406-1.091 1.217-1.091s1.215.363 1.215 1.091c0 .347-.102.617-.304.81-.202.193-.507.289-.911.289-.811 0-1.217-.366-1.217-1.099zm2.33 11.306h-2.234V9.604h2.234v8.188z" style="fill:#fff"/>
                                    </svg>
                                </div>
                                <div class="t-redactor__callout-text">
                                     <span style="color: rgb(28, 30, 62);">Деперсонализация ≠ Шифрование. Оба метода защищают данные, но делают это по-разному.</span>
                                </div>
                            </blockquote><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">По закону результат обезличивания должен обладать особыми свойствами:</span></div><div class="t-redactor__text"><ul><li data-list="bullet" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">Анонимность</strong><span style="color: rgb(28, 30, 62);"> — идентификация субъекта без дополнительных данных невозможна.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">Структурированность</strong><span style="color: rgb(28, 30, 62);"> — связи между данными сохраняются.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">Семантическая целостность</strong><span style="color: rgb(28, 30, 62);"> — «имя» остается похожим на имя, «дата» — на дату.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">Полнота</strong><span style="color: rgb(28, 30, 62);"> — сохраняются все нужные поля.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">Применимость </strong><span style="color: rgb(28, 30, 62);">— данные можно обрабатывать как обычно, без восстановления личности.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">Релевантность</strong><span style="color: rgb(28, 30, 62);"> — результат дает те же ответы на запросы, что и исходные персональные данные.</span></li></ul></div><h4  class="t-redactor__h4"><span style="color: rgb(28, 30, 62);">Новые требования по защите данных: что принесли ФЗ-420 и ФЗ-421</span></h4><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Новый административный кодекс </span><a href="http://publication.pravo.gov.ru/document/0001202411300011" style="color: rgb(255, 89, 89);">вводит штрафы</a><span style="color: rgb(28, 30, 62);"> </span><strong style="color: rgb(28, 30, 62);">до 500 млн руб</strong><span style="color: rgb(28, 30, 62);">. для юридических лиц и до 800 тыс для IT‑директоров. Административные штрафы за утечку зависят от числа затронутых субъектов:</span></div><div class="t-redactor__text"><ul><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">до 10 000 человек — до 3–5 млн руб.;</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">до 100 000 — еще выше;</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">крупные утечки — до 500 млн руб.</span></li></ul></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">В УК РФ</span> <a href="http://publication.pravo.gov.ru/document/0001202411300012?index=1">добавлена статья 272.1</a> <span style="color: rgb(28, 30, 62);">об уголовной ответственности (до 5 лет лишения свободы, ответственность за незаконное хранение, сбор, использование и передачу персональных данных).</span></div><blockquote class="t-redactor__callout t-redactor__callout_fontSize_default" style="background: #ffefb5; color: #000000;">
                                <div class="t-redactor__callout-icon" style="color: #ff0000">
                                    <svg width="24" height="24" role="img" style="enable-background:new 0 0 24 24">
                                        <circle cx="12.125" cy="12.125" r="12" style="fill:currentColor"/>
                                        <path d="M10.922 6.486c0-.728.406-1.091 1.217-1.091s1.215.363 1.215 1.091c0 .347-.102.617-.304.81-.202.193-.507.289-.911.289-.811 0-1.217-.366-1.217-1.099zm2.33 11.306h-2.234V9.604h2.234v8.188z" style="fill:#fff"/>
                                    </svg>
                                </div>
                                <div class="t-redactor__callout-text">
                                     <span style="color: rgb(28, 30, 62);">Эти меры уже вступили в силу с 30 мая 2025 года.</span>
                                </div>
                            </blockquote><h2  class="t-redactor__h2"><span style="color: rgb(28, 30, 62);">Главные способы защиты: шифрование и деперсонализация</span></h2><div class="t-table__viewport"><div class="t-table__wrapper"><table class="t-table__table" style="--t-table-border-radius:20px;"><tbody><tr class="t-table__row" style="background-color:rgb(245, 245, 250);"><td class="t-table__cell" data-row="0" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content"></div></td><td class="t-table__cell" data-row="0" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Шифрование</div></td><td class="t-table__cell" data-row="0" data-column="2" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Деперсонализация</div></td></tr><tr class="t-table__row"><td class="t-table__cell" data-row="1" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Что делает</div></td><td class="t-table__cell" data-row="1" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Преобразует данные в нечитабельный вид</div></td><td class="t-table__cell" data-row="1" data-column="2" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Заменяет реальные данные на псевдо-данные</div></td></tr><tr class="t-table__row"><td class="t-table__cell" data-row="2" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Можно ли восстановить?</div></td><td class="t-table__cell" data-row="2" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Да, с помощью ключа
</div></td><td class="t-table__cell" data-row="2" data-column="2" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Нет, восстановить невозможно (или крайне сложно)</div></td></tr><tr class="t-table__row"><td class="t-table__cell" data-row="3" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Где применяется</div></td><td class="t-table__cell" data-row="3" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Для защиты рабочих данных</div></td><td class="t-table__cell" data-row="3" data-column="2" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Для защиты копий, тестов, аналитики</div></td></tr><tr class="t-table__row"><td class="t-table__cell" data-row="4" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Пример</div></td><td class="t-table__cell" data-row="4" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Номер паспорта зашифрован в базе и расшифровывается при чтении</div></td><td class="t-table__cell" data-row="4" data-column="2" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Имя и паспорт заменены на фиктивные, но реалистичные</div></td></tr><tr class="t-table__row"><td class="t-table__cell" data-row="5" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Правовое назначение</div></td><td class="t-table__cell" data-row="5" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Обеспечивает конфиденциальность</div></td><td class="t-table__cell" data-row="5" data-column="2" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Обеспечивает неидентифицируемость</div></td></tr></tbody><colgroup><col style="max-width:180px;min-width:180px;width:180px;"><col style="max-width:180px;min-width:180px;width:180px;"><col style="max-width:180px;min-width:180px;width:180px;"></colgroup></table></div></div><div class="t-redactor__text"><strong style="color: rgb(255, 89, 89);">Шифрование</strong> <span style="color: rgb(28, 30, 62);">требуется в </span><strong style="color: rgb(28, 30, 62);">работающих системах</strong><span style="color: rgb(28, 30, 62);">, где вы реально обрабатываете персональные данные клиентов — например, в CRM, в интернет-магазине, в приложении банка, на сервере авторизации.</span></div><div class="t-redactor__text"><strong style="color: rgb(255, 89, 89);">Деперсонализация</strong> <span style="color: rgb(28, 30, 62);">нужна там, где вам не важно, кто конкретно пользователь, а </span><strong style="color: rgb(28, 30, 62);">важно сохранить структуру данных</strong><span style="color: rgb(28, 30, 62);">. Она особенно важна, когда данные используются вне продуктивного контура: например, в тестовых средах, где с ними работают внешние подрядчики. </span><strong style="color: rgb(28, 30, 62);">Такие среды зачастую не защищены так же строго, как основная инфраструктура</strong><span style="color: rgb(28, 30, 62);">, и если в них попадают реальные персональные данные — компания автоматически нарушает закон. Здесь деперсонализация данных — не опция, а обязанность. И если она реализована вручную, через скрипты, или устаревшие ETL-системы, компания по-прежнему в зоне риска. Используемые инструменты не обеспечивают повторяемость и верифицируемость процесса, а значит, не позволяют формально подтвердить соответствие рекомендациям Роскомнадзора.</span></div><h4  class="t-redactor__h4"><span style="color: rgb(28, 30, 62);">Когда нужно шифровать, а когда — обезличивать</span></h4><div class="t-table__viewport"><div class="t-table__wrapper"><table class="t-table__table" style="--t-table-border-radius:20px;"><tbody><tr class="t-table__row"><td class="t-table__cell" data-row="0" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Вы обрабатываете ПДн в «боевой» системе</div></td><td class="t-table__cell" data-row="0" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Шифрование + Контроль доступа
</div></td></tr><tr class="t-table__row"><td class="t-table__cell" data-row="1" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Вы создаете тестовую/аналитическую копию</div></td><td class="t-table__cell" data-row="1" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Деперсонализация обязательна</div></td></tr><tr class="t-table__row"><td class="t-table__cell" data-row="2" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Вы передаете данные третьим лицам</div></td><td class="t-table__cell" data-row="2" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Деперсонализация + шифрование</div></td></tr><tr class="t-table__row"><td class="t-table__cell" data-row="3" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Вы храните данные в облаке</div></td><td class="t-table__cell" data-row="3" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Шифрование, деперсонализация ограничение доступа

</div></td></tr></tbody><colgroup><col style="max-width:180px;min-width:180px;width:180px;"><col style="max-width:180px;min-width:180px;width:180px;"></colgroup></table></div></div><blockquote class="t-redactor__callout t-redactor__callout_fontSize_default" style="background: #ffefb5; color: #000000;">
                                <div class="t-redactor__callout-icon" style="color: #ff0000">
                                    <svg width="24" height="24" role="img" style="enable-background:new 0 0 24 24">
                                        <circle cx="12.125" cy="12.125" r="12" style="fill:currentColor"/>
                                        <path d="M10.922 6.486c0-.728.406-1.091 1.217-1.091s1.215.363 1.215 1.091c0 .347-.102.617-.304.81-.202.193-.507.289-.911.289-.811 0-1.217-.366-1.217-1.099zm2.33 11.306h-2.234V9.604h2.234v8.188z" style="fill:#fff"/>
                                    </svg>
                                </div>
                                <div class="t-redactor__callout-text">
                                     <span style="color: rgb(28, 30, 62);">Важно!</span><br /><ul><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">Шифрование </span><strong style="color: rgb(28, 30, 62);">не отменяет</strong><span style="color: rgb(28, 30, 62);"> необходимости деперсонализации.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">Деперсонализация </span><strong style="color: rgb(28, 30, 62);">не освобождае</strong><span style="color: rgb(28, 30, 62);">т от применения СКЗИ (средств криптографической защиты информации) при передаче данных.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">В тестовых средах или BI-сценариях </span><strong style="color: rgb(28, 30, 62);">только шифрования недостаточно</strong><span style="color: rgb(28, 30, 62);"> — данные всё равно читаются.</span></li></ul>
                                </div>
                            </blockquote><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Это особенно важно, когда данные используются вне продуктивного контура: например, в тестовых средах, где с ними работают внешние подрядчики. Т</span><strong style="color: rgb(28, 30, 62);">акие среды зачастую не защищены так же строго, как основная инфраструктура</strong><span style="color: rgb(28, 30, 62);">, и если в них попадают реальные персональные данные — компания автоматически нарушает закон. Здесь деперсонализация данных — не опция, а обязанность. И если она реализована вручную, через скрипты, или устаревшие ETL-системы, компания по-прежнему в зоне риска, поскольку используемые инструменты не обеспечивают повторяемость и верифицируемость процесса, а значит, не позволяют формально подтвердить соответствие методическим рекомендациям Роскомнадзора.</span></div><h2  class="t-redactor__h2"><span style="color: rgb(28, 30, 62);">Как выбрать инструмент шифрования базы данных</span></h2><div class="t-table__viewport"><div class="t-table__wrapper"><table class="t-table__table" style="--t-table-border-radius:20px;"><tbody><tr class="t-table__row" style="background-color:rgb(245, 245, 250);"><td class="t-table__cell" data-row="0" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Категория</div></td><td class="t-table__cell" data-row="0" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Инструмент
</div></td><td class="t-table__cell" data-row="0" data-column="2" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Особенности</div></td></tr><tr class="t-table__row"><td class="t-table__cell" data-row="1" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">ФСБ-сертифицированные</div></td><td class="t-table__cell" data-row="1" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">КриптоПро CSP, ViPNet, Континент</div></td><td class="t-table__cell" data-row="1" data-column="2" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Используются в госорганах, соответствуют ФЗ</div></td></tr><tr class="t-table__row"><td class="t-table__cell" data-row="2" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Открытые/корпоративные</div></td><td class="t-table__cell" data-row="2" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">OpenSSL, GnuPG, HashiCorp Vault</div></td><td class="t-table__cell" data-row="2" data-column="2" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Для API, PKI, секретов, DevOps</div></td></tr><tr class="t-table__row"><td class="t-table__cell" data-row="3" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Для СУБД</div></td><td class="t-table__cell" data-row="3" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Transparent Data Encryption (TDE) в Oracle, MS SQL, pgcrypto

</div></td><td class="t-table__cell" data-row="3" data-column="2" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Шифруют данные на уровне БД</div></td></tr><tr class="t-table__row"><td class="t-table__cell" data-row="4" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Хранение файлов</div></td><td class="t-table__cell" data-row="4" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">VeraCrypt, BitLocker, LUKS</div></td><td class="t-table__cell" data-row="4" data-column="2" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Шифрование жестких дисков и носителей</div></td></tr><tr class="t-table__row"><td class="t-table__cell" data-row="5" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">TLS и Web</div></td><td class="t-table__cell" data-row="5" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Let's Encrypt, Cloudflare, NGINX</div></td><td class="t-table__cell" data-row="5" data-column="2" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">TLS-сертификаты, HTTPS, защита API</div></td></tr></tbody><colgroup><col style="max-width:180px;min-width:180px;width:180px;"><col style="max-width:180px;min-width:180px;width:180px;"><col style="max-width:180px;min-width:180px;width:180px;"></colgroup></table></div></div><div class="t-redactor__text"><ol><li data-list="ordered" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">Если у вас база данных с персональными данными клиентов</strong><span style="color: rgb(28, 30, 62);"> — включите </span><strong style="color: rgb(28, 30, 62);">TDE</strong><span style="color: rgb(28, 30, 62);"> в вашей СУБД (например, Oracle, PostgreSQL), добавьте шифрование на уровне поля, если нужно.</span></li><li data-list="ordered" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">Если вы передаете данные по сети (API, веб)</strong><span style="color: rgb(28, 30, 62);"> — используйте </span><strong style="color: rgb(28, 30, 62);">TLS/HTTPS</strong><span style="color: rgb(28, 30, 62);">, защитите ключи в </span><strong style="color: rgb(28, 30, 62);">HashiCorp Vault</strong><span style="color: rgb(28, 30, 62);"> или </span><strong style="color: rgb(28, 30, 62);">GnuPG</strong><span style="color: rgb(28, 30, 62);">.</span></li><li data-list="ordered" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">Если вы госкомпания или работаете с государством</strong><span style="color: rgb(28, 30, 62);"> — применяйте только </span><strong style="color: rgb(28, 30, 62);">сертифицированные СКЗИ</strong><span style="color: rgb(28, 30, 62);"> (КриптоПро, ViPNet, Континент), иначе нарушите закон.</span></li><li data-list="ordered" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">Если у вас разработка или DevOps-среда</strong><span style="color: rgb(28, 30, 62);"> — используйте шифрование переменных и секретов в CI/CD (например, Vault + TLS).</span></li><li data-list="ordered" style="color: rgb(28, 30, 62);"><strong style="color: rgb(28, 30, 62);">Если вы работаете с файлами (архивы, резервные копии) </strong><span style="color: rgb(28, 30, 62);">— шифруйте носители (VeraCrypt, BitLocker) и храните отдельно ключи.</span></li></ol></div><h2  class="t-redactor__h2"><span style="color: rgb(28, 30, 62);">Как выбрать инструмент деперсонализации базы данных</span></h2><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">В 2022 году зарубежные провайдеры — включая популярные системы для деперсонализации — завершили деятельность в РФ. Российские IT-службы остались без привычных решений и вынуждены были переходить на неофициальные скрипты и устаревшие ETL-процессы.</span></div><h4  class="t-redactor__h4"><span style="color: rgb(28, 30, 62);">ETL-процессы</span></h4><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">ETL — аббревиатура от Extract, Transform, Load, что в переводе означает извлечение, преобразование и загрузка. Такие решения часто применяются в построении хранилищ данных, BI-систем, а также в некоторых случаях — для деперсонализации.</span></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">Сначала данные </span><strong style="color: rgb(28, 30, 62);">извлекаются</strong><span style="color: rgb(28, 30, 62);"> (Extract) из источника — например, из базы клиентов, CRM, бухгалтерской системы или другого сервиса. Затем они проходят этап </span><strong style="color: rgb(28, 30, 62);">преобразования</strong><span style="color: rgb(28, 30, 62);"> (Transform): данные нормализуются, фильтруются, очищаются, и при необходимости, обезличиваются или агрегируются. И наконец, данные </span><strong style="color: rgb(28, 30, 62);">загружаются</strong><span style="color: rgb(28, 30, 62);"> (Load) в новое хранилище или тестовую среду, где с ними можно безопасно работать.</span></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">На первый взгляд ETL — удобный способ обезличивания: можно взять данные, прогнать их через ETL-сценарий, и на выходе получить безопасную копию. В реальности у таких решений есть ряд критичных ограничений.</span></div><div class="t-redactor__text"><ul><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">ETL-инструменты обычно требуют </span><strong style="color: rgb(28, 30, 62);">выделения инфраструктуры</strong><span style="color: rgb(28, 30, 62);">: серверов, хранилищ, ресурсов под обработку.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">Переносят данные между системами, что само по себе создает </span><strong style="color: rgb(28, 30, 62);">дополнительную точку риска</strong><span style="color: rgb(28, 30, 62);"> утечки. Во время перемещения данные могут попасть в лог, кэш, временную таблицу — и никто не гарантирует, что эти следы будут полностью удалены. В-третьих, такие решения плохо масштабируются: если объем базы — десятки терабайт, обезличивание может занять </span><strong style="color: rgb(28, 30, 62);">сутки</strong><span style="color: rgb(28, 30, 62);">, и это становится узким местом всего релизного цикла.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">Большинство ETL-решений </span><strong style="color: rgb(28, 30, 62);">плохо справляются с автоматическим поиском персональных данных</strong><span style="color: rgb(28, 30, 62);">. Чтобы правильно настроить обезличивание, сначала нужно вручную «промаркировать» все поля, где есть ФИО, адреса, телефоны и прочее. Это трудозатратно и ненадежно: легко пропустить что-то важное.</span></li><li data-list="bullet" style="color: rgb(28, 30, 62);"><span style="color: rgb(28, 30, 62);">ETL </span><strong style="color: rgb(28, 30, 62);">требует участия инженеров со специфической квалификацией</strong><span style="color: rgb(28, 30, 62);"> — их сложно найти, долго обучать и дорого содержать. Особенно если инфраструктура построена на западных платформах, которые после 2022 года ушли с российского рынка и больше не поддерживаются.</span></li></ul></div><div class="t-redactor__text"><span style="color: rgb(28, 30, 62);">В условиях современных требований (высоких объемов данных, более строгого законодательства и необходимости быстрого Time to Market) писать собственное решение по деперсонализации на основе ETL — практика </span><strong style="color: rgb(28, 30, 62);">устаревшая и неэффективная</strong><span style="color: rgb(28, 30, 62);">.</span></div><h4  class="t-redactor__h4"><span style="color: rgb(28, 30, 62);">Готовые инструменты: сравнение по главным параметрам</span></h4><div class="t-table__viewport"><div class="t-table__wrapper"><table class="t-table__table" style="--t-table-border-radius:20px;"><tbody><tr class="t-table__row" style="background-color:rgb(245, 245, 250);"><td class="t-table__cell" data-row="0" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Инструмент (вендор)</div></td><td class="t-table__cell" data-row="0" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Подход
</div></td><td class="t-table__cell" data-row="0" data-column="2" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Автопоиск ПДн (data discovery)</div></td><td class="t-table__cell" data-row="0" data-column="3" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Скорость (заявленная)</div></td><td class="t-table__cell" data-row="0" data-column="4" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Цена/
лицензия</div></td><td class="t-table__cell" data-row="0" data-column="5" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Доступность/поддержка в РФ</div></td><td class="t-table__cell" data-row="0" data-column="6" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Ключевые особенности</div></td></tr><tr class="t-table__row"><td class="t-table__cell" data-row="1" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">DataSan («Перфоманс Лаб»)</div></td><td class="t-table__cell" data-row="1" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Статическая деперсонализация (маскирование), работа внутри контура</div></td><td class="t-table__cell" data-row="1" data-column="2" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Да: автоматический поиск полей с ПДн, профилирование</div></td><td class="t-table__cell" data-row="1" data-column="3" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">>1 ТБ/час</div></td><td class="t-table__cell" data-row="1" data-column="4" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Коммерческая</div></td><td class="t-table__cell" data-row="1" data-column="5" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Да; внесен в реестр российского ПО (№22780 от 06.06.2024)</div></td><td class="t-table__cell" data-row="1" data-column="6" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Сохраняет структуру/смысл данных; быстрое внедрение (от 1 дня); не требует выноса данных за периметр</div></td></tr><tr class="t-table__row"><td class="t-table__cell" data-row="2" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Сфера: Обезличивание данных (Т1 / SFERA)</div></td><td class="t-table__cell" data-row="2" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Статическая деперсонализация (в т.ч. для тестовых баз/датасетов)</div></td><td class="t-table__cell" data-row="2" data-column="2" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">ML-подход к полноте/точности обезличивания</div></td><td class="t-table__cell" data-row="2" data-column="3" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">До 2,5 ТБ в сутки

</div></td><td class="t-table__cell" data-row="2" data-column="4" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Коммерческая</div></td><td class="t-table__cell" data-row="2" data-column="5" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Да; внесен в реестр российского ПО 
(№158ч67), есть сертификат ФСТЭК
</div></td><td class="t-table__cell" data-row="2" data-column="6" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Поддержка Oracle/MS SQL/Postgres, файлы/«большие данные»; есть отдельный модуль для Hadoop. 

</div></td></tr><tr class="t-table__row"><td class="t-table__cell" data-row="3" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Oracle Data Masking and Subsetting (Oracle)</div></td><td class="t-table__cell" data-row="3" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Статическая деперсонализация для баз данных Oracle

</div></td><td class="t-table__cell" data-row="3" data-column="2" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Да: компонент Data Discovery (ADM, Sensitive Types)</div></td><td class="t-table__cell" data-row="3" data-column="3" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Не раскрываются</div></td><td class="t-table__cell" data-row="3" data-column="4" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Отдельно лицензируется (enterprise-опция)

</div></td><td class="t-table__cell" data-row="3" data-column="5" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Нет, операции/сервисы Oracle в РФ официально прекращены

</div></td><td class="t-table__cell" data-row="3" data-column="6" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Маскирование + сабсеттер; корпоративный контроль политик</div></td></tr><tr class="t-table__row"><td class="t-table__cell" data-row="4" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">ARX (open-source)</div></td><td class="t-table__cell" data-row="4" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Анонимизация по моделям (k-anon, l-div, t-clos., DP)</div></td><td class="t-table__cell" data-row="4" data-column="2" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Автоскан исходников не заявлен: фокус на моделях/трансформациях</div></td><td class="t-table__cell" data-row="4" data-column="3" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Не указаны</div></td><td class="t-table__cell" data-row="4" data-column="4" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Условно бесплатно</div></td><td class="t-table__cell" data-row="4" data-column="5" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Доступен, не лицензирован

</div></td><td class="t-table__cell" data-row="4" data-column="6" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Ручная конфигурация и настройка, работает с MS SQL, DB2, MySQL и PostgreSQL.

</div></td></tr><tr class="t-table__row"><td class="t-table__cell" data-row="5" data-column="0" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Модуль «Деперсонализация клиентских данных» (HF Labs)</div></td><td class="t-table__cell" data-row="5" data-column="1" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Необратимое хеширование</div></td><td class="t-table__cell" data-row="5" data-column="2" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Нет, работает на заранее определенных полях в системе «Единый клиент»
</div></td><td class="t-table__cell" data-row="5" data-column="3" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Не указано</div></td><td class="t-table__cell" data-row="5" data-column="4" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Enterprise-решениедля пользователей “Единого клиента”</div></td><td class="t-table__cell" data-row="5" data-column="5" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Доступен, не внесен в реестр российского ПО</div></td><td class="t-table__cell" data-row="5" data-column="6" style="color:rgb(28, 30, 62);"><div class="t-table__cell-content">Защищает от ошибочной деперсонализации, в случае если у клиента есть открытые договора; не подходит для тестирования</div></td></tr></tbody><colgroup><col style="max-width:180px;min-width:180px;width:180px;"><col style="max-width:180px;min-width:180px;width:180px;"><col style="max-width:180px;min-width:180px;width:180px;"><col style="max-width:152px;min-width:152px;width:152px;"><col style="max-width:180px;min-width:180px;width:180px;"><col style="max-width:180px;min-width:180px;width:180px;"><col style="max-width:180px;min-width:180px;width:180px;"></colgroup></table></div></div><h4  class="t-redactor__h4">DataSan («Перфоманс Лаб»)</h4><div class="t-redactor__text"><strong>Методы маскирования: </strong>статическая деперсонализация с сохранением структуры данных. Поддерживает аккуратное хеширование, маппинг и генерацию реалистичных значений (например, дата остается датой, паспорт — паспортом, имя — именем), что соответствует требованиям Постановления Правительства №1119.<br /><br /><strong>Автопоиск данных:</strong> встроенный механизм профилирования автоматически находит все поля с персональными данными, включая скрытые и нестандартные типы хранения.<br /><br /><strong>Скорость обработки:</strong> более 1 ТБ/час; в кейсе с крупным банком база объемом 37 ТБ была полностью обезличена за 35 часов.<br /><br /><strong>Стоимость:</strong> коммерческая лицензия, прайс-лист не публичен; поставляется с полным сопровождением внедрения и поддержки.<br /><br /><strong>Доступность в России:</strong> внесен в реестр российского ПО (№22780 от 06.06.2024), официально поддерживается и активно внедряется в финансовом и корпоративном секторе.<br /><br /><strong>Основные сценарии: </strong>банки и страховые компании, системная интеграция и разработка ПО, маркетинг и аналитика, облачные провайдеры и e-commerce. Используется для деперсонализации данных в тестовых и аналитических средах, интегрируется в CI/CD-процессы, помогает снизить риск утечек и соответствовать новым требованиям ФЗ-152 и Приказа Роскомнадзора №996.<br /><br /><strong>Сайт:</strong> <a href="https://datasan.ru/">https://datasan.ru/</a></div><h4  class="t-redactor__h4">Сфера: Обезличивание данных (Т1 / SFERA)</h4><div class="t-redactor__text"><strong>Методы маскирования: </strong>поддерживает статическую деперсонализацию для различных источников данных (Oracle, MS SQL, PostgreSQL, Hadoop и файловые форматы). Реализованы классические техники замены и маскирования значений с сохранением формата.<br /><br /><strong>Автопоиск данных:</strong> заявляется использование машинного обучения для более точного и полного выявления персональных данных в базах и хранилищах.<br /><br /><strong>Скорость обработки: </strong>от 800 до 90 тыс. строк в секунду на одном поде, в сутки в рамках одного потока — до 2,5 ТБ.<br /><br /><strong>Стоимость:</strong> коммерческая лицензия; цена зависит от количества параллельных процессов обезличивания.<br /><br /><strong>Доступность в России: </strong>продукт включен в реестр российского ПО (№158ч67), есть сертификат ФСТЭК; ориентирован на компании, которым важно выполнение требований локальных регуляторов.<br /><br /><strong>Основные сценарии: </strong>создание обезличенных копий рабочих баз для тестирования и разработки, обеспечение безопасной аналитики на больших массивах данных, соответствие требованиям российского законодательства (ФЗ-152, Приказ Роскомнадзора №996).<br /><br /><strong>Сайт:</strong> <a href="https://www.sferaplatform.ru/obezlichivanie">https://www.sferaplatform.ru/obezlichivanie</a></div><h4  class="t-redactor__h4">Oracle Data Masking and Subsetting (Oracle)</h4><div class="t-redactor__text"><strong>Методы маскирования:</strong> поддерживает широкий набор техник — перемешивание данных, шифрование с сохранением формата, условное и составное маскирование, детерминированные алгоритмы, а также пользовательские правила на PL/SQL. Все методы обеспечивают сохранение связей и бизнес-логики в базе.<br /><br /><strong>Автопоиск данных:</strong> включает модуль Data Discovery, который помогает выявлять чувствительные поля и автоматизировать настройку профилей маскирования.<br /><br /><strong>Скорость обработки: </strong>конкретные показатели Oracle не раскрывает; продукт ориентирован на крупные корпоративные базы данных и тесно интегрирован с Oracle Enterprise Manager.<br /><br /><strong>Стоимость: </strong>лицензируется отдельно в рамках Oracle Database Enterprise Edition, относится к категории дорогих корпоративных решений.<br /><br /><strong>Доступность в России: </strong>официальная поддержка и продажи Oracle в РФ прекращены, легальное внедрение затруднено.<br /><br /><strong>Основные сценарии: </strong>создание безопасных копий баз данных для тестирования, разработки и аналитики при сохранении структуры и соответствии требованиям регуляторов (GDPR, ФЗ-152 и др.).<br /><br /><strong>Сайт:</strong> <a href="https://www.oracle.com/uk/security/database-security/data-masking/">https://www.oracle.com/security/database-security/data-masking/</a></div><h4  class="t-redactor__h4">ARX (open-source)</h4><div class="t-redactor__text"><strong>Методы маскирования:</strong> академические модели анонимизации — k-анонимность, l-diversity, t-closeness и дифференциальная приватность. Поддерживает генерацию преобразованных датасетов с сохранением логических связей и структуры.<br /><br /><strong>Автопоиск данных: </strong>не предоставляет; пользователь самостоятельно определяет атрибуты, подлежащие анонимизации.<br /><br /><strong>Скорость обработки: </strong>зависит от объема данных и выбранных моделей; при очень больших наборах возможны проблемы с масштабируемостью.<br /><br /><strong>Стоимость: </strong>полностью бесплатный open-source проект, доступный для скачивания и использования без ограничений.<br /><br /><strong>Доступность в России:</strong> доступен для загрузки и применения без ограничений; исходный код открыт — но нет лицензии и поддержки, возможны риски утечек.<br /><br /><strong>Основные сценарии:</strong> исследовательские проекты, академическая среда, пилотные внедрения, а также компании, которым важно использовать строгие модели анонимизации при подготовке датасетов для публикаций, анализа или обучения моделей машинного обучения.<br /><br /><strong>Сайт:</strong> <a href="https://arx.deidentifier.org/anonymization-tool/">https://arx.deidentifier.org/anonymization-tool/</a></div><h4  class="t-redactor__h4">Модуль «Деперсонализация клиентских данных» (HFLabs Uniform Client)</h4><div class="t-redactor__text"><strong>Методы маскирования: </strong>необратимое хеширование, включая данные из исторических карточек клиентов, поисковые индексы и информацию, использовавшуюся для выявления дубликатов.<br /><br /><strong>Автопоиск данных: </strong>работает на заранее определенных полях клиентских карточек и интеграциях системы «Единый клиент»; автоматического ML-обнаружения персональных данных не заявлено.<br /><br /><strong>Скорость обработки: </strong>публичных данных о производительности нет.<br /><br /><strong>Стоимость:</strong> решение предлагается в рамках платформы HFLabs, по запросу.<br /><br /><strong>Доступность в России:</strong> разработан российской компанией, но нет данных о внесении в реестр российского ПО. <br /><br /><strong>Основные сценарии применения:</strong><br /><ul><li data-list="bullet">обезличивание клиентских данных после завершения срока хранения по требованиям ФЗ‑152 при сохранении аналитических связей;</li><li data-list="bullet">возможность распознавания “экс‑клиента”, если он снова обращается, путем сравнения нового хеша с базой существующих, даже при частичных изменениях данных (смена фамилии, формат адреса, опечатки и пр.);</li><li data-list="bullet">предотвращение ошибочного обезличивания, когда у клиента сохраняются активные договоры или согласия — в таких случаях деперсонализация не выполняется.</li></ul><br /><strong>Сайт: </strong><a href="https://hflabs.ru/uniform-client/depersonalizaciya-klientskih-dannyh">https://hflabs.ru/uniform-client/depersonalizaciya-klientskih-dannyh</a></div><div class="t-redactor__text">Грамотно внедренные инструменты обезличивания дают не только юридическую защиту. Они помогают ускорять разработку, тестировать новые продукты без риска утечек, безопасно делиться данными внутри команды и использовать их для аналитики и машинного обучения.</div><div class="t-redactor__text">Иными словами, деперсонализация превращается <strong>в мост между безопасностью и гибкостью</strong>: компания соблюдает требования регулятора и при этом сохраняет возможность работать с данными так, как того требует рынок.</div><h2  class="t-redactor__h2">Дальнейшие действия: внедряем процесс по шагам</h2><div class="t-redactor__text"><ol><li data-list="ordered"><strong>Аудит данных</strong> — определите, какие персональные данные вы храните и где именно они находятся (базы, CRM, аналитика, тестовые среды).</li><li data-list="ordered"><strong>Оценка рисков</strong> — проанализируйте, какие сценарии утечки наиболее вероятны и чем они грозят бизнесу.</li><li data-list="ordered"><strong>Выбор подхода</strong> — определите, какой метод обезличивания подходит под ваши задачи и риски: маскирование, анонимизация, хеширование или их комбинация.</li><li data-list="ordered"><strong>Инструменты </strong>— сравните решения по ключевым параметрам: скорость обработки, поддержка автопоиска ПДн, соответствие законодательству, доступность в России.</li><li data-list="ordered"><strong>Пробный период</strong> — проведите пилотный проект, чтобы выбрать технологию и попробовать решение именно для ваших систем.</li><li data-list="ordered"><strong>Внедрение в процессы</strong> — встройте деперсонализацию в CI/CD, тестовые и аналитические среды, чтобы защита была автоматической и непрерывной.</li><li data-list="ordered"><strong>Контроль и поддержка</strong> — регулярно проверяйте корректность работы инструмента, обновляйте методики и фиксируйте результаты для возможных проверок Роскомнадзора.</li></ol></div>]]></turbo:content>
    </item>
  </channel>
</rss>
