ФЗ-152: маскирование персональных данных

Документация

Платформа Neurooffice.ai соответствует требованиям Федерального закона № 152-ФЗ «О персональных данных» за счёт двухэтапной системы автоматического маскирования: перед отправкой любого запроса во внешнюю LLM мы обнаруживаем и обезличиваем чувствительные данные, а после получения ответа — восстанавливаем их исключительно на стороне пользователя. Это позволяет работать с ведущими нейросетями (OpenAI, Anthropic, Google, Mistral, DeepSeek), не передавая им ни одной строки персональной информации.

Данные не покидают периметр

Все исходные ПДн остаются на инфраструктуре платформы. Внешние модели видят только обезличенные токены-плейсхолдеры.

Локальный NER-инференс

Модель распознавания именованных сущностей развёрнута на серверах в РФ и работает без обращений во внешний интернет.

Обратная подстановка

Карта соответствий хранится в оперативной памяти и удаляется сразу после восстановления ответа.

Почему это важно

Согласно ст. 12 ФЗ-152, трансграничная передача персональных данных в страны, не обеспечивающие адекватной защиты, ограничена и требует отдельного письменного согласия субъекта. При этом значительная часть передовых LLM хостится в США и Европе, где юрисдикция и режим обработки данных отличаются от российского. Передавать туда персональные данные пользователей напрямую — недопустимо.

Чтобы дать пользователям доступ к лучшим моделям без юридических и репутационных рисков, мы построили внутренний контур PII-Guard — конвейер, через который проходит каждый исходящий запрос и каждый входящий ответ.

Архитектурная схема

graph LR
    U[Пользователь] -->|исходный текст| FE[Frontend Neurooffice]
    FE -->|TLS 1.3| API[API-шлюз]
    API --> PG[PII-Guard]
    PG --> RX[Regex-движок]
    PG --> NER[Локальная NER-модель]
    RX --> MAP[(Карта соответствий
в RAM)] NER --> MAP PG -->|обезличенный текст| LLM[Внешняя LLM
OpenAI / Claude / Gemini] LLM -->|ответ с плейсхолдерами| PG PG -->|восстановленный ответ| API API --> FE FE --> U style U fill:#F58125,color:#fff style PG fill:#16A34A,color:#fff style NER fill:#0EA5E9,color:#fff style RX fill:#8B5CF6,color:#fff style LLM fill:#312F4A,color:#fff style MAP fill:#EAB308,color:#fff

Как это работает: пошагово

1

Перехват исходящего запроса

Каждое сообщение пользователя, перед тем как попасть в адаптер внешнего провайдера, проходит через middleware pii-guard.middleware.ts. Здесь же фиксируется хэш запроса для последующего аудита.

2

Первичный проход регулярных выражений

Быстрый детерминированный детектор находит сущности с предсказуемой структурой: телефоны, email, ИНН, СНИЛС, номера карт (с проверкой по Луну), серии и номера паспорта, IBAN, IP-адреса, BIC, номера автомобилей.

3

NER-инференс на локальной модели

Текст после первой стадии передаётся в дообученную модель семейства BERT (Natasha / SlavicBERT-NER), запущенную на нашем GPU-кластере в РФ. Она распознаёт ФИО, организации, географические объекты, должности и другие сущности, у которых нет жёсткого шаблона.

4

Замена на типизированные плейсхолдеры

Каждая найденная сущность заменяется на детерминированный токен вида {{PERSON_1}}, {{PHONE_2}}, {{EMAIL_3}}. Типизация важна: LLM сохраняет семантику текста и понимает, что речь идёт о человеке или контакте.

5

Отправка обезличенного запроса в LLM

Внешняя модель получает текст без единого ПДн. Карта соответствий «плейсхолдер → исходное значение» остаётся исключительно в памяти процесса, привязанного к идентификатору сессии.

6

Обратная подстановка в ответе

Когда модель возвращает ответ (в том числе потоковый — токен за токеном), PII-Guard сканирует его и заменяет все плейсхолдеры обратно на исходные значения по карте. Пользователь видит связный текст без следов обезличивания.

7

Уничтожение карты соответствий

После завершения стрима карта удаляется из памяти. В долговременных логах остаётся только обезличенная версия запроса и ответа — для отладки и аудита без риска утечки ПДн.

Пример: что «видит» внешняя LLM

Исходный текст (только на серверах РФ)

Подготовь договор на оказание услуг
с Ивановым Сергеем Петровичем,
тел. +7 (903) 555-12-34,
email s.ivanov@acme.ru,
ИНН 7707083893,
паспорт 4509 123456.

Что уходит во внешнюю LLM

Подготовь договор на оказание услуг
с {{PERSON_1}},
тел. {{PHONE_1}},
email {{EMAIL_1}},
ИНН {{INN_1}},
паспорт {{PASSPORT_1}}.

Ответ модели приходит уже с плейсхолдерами — например, «Договор заключён между {{PERSON_1}} (контакты: {{PHONE_1}}, {{EMAIL_1}}) и ...». PII-Guard восстанавливает исходные значения, и пользователь видит готовый текст с корректными ФИО, телефоном и email.

Какие сущности обнаруживаются

ТипПлейсхолдерМетод обнаруженияТочность*
ФИО{{PERSON_N}}NER (BERT + CRF)0.97
Телефон{{PHONE_N}}Regex (E.164 + RU-форматы)0.99
Email{{EMAIL_N}}Regex (RFC 5322)0.99
ИНН{{INN_N}}Regex + контрольная сумма1.00
СНИЛС{{SNILS_N}}Regex + контрольная сумма1.00
Паспорт РФ{{PASSPORT_N}}Regex (4+6 цифр)0.98
Номер карты{{CARD_N}}Regex + алгоритм Луна1.00
Адрес{{ADDRESS_N}}NER + словарь регионов0.93
Организация{{ORG_N}}NER0.94

* — F1-метрика на внутреннем тестовом корпусе из 12 000 размеченных документов (деловая переписка, договоры, выписки).

Технологический стек

  • NER-модель: дообученный DeepPavlov/rubert-base-cased + слой CRF; квантизация INT8 для ускорения инференса.
  • Regex-движок: компилированные паттерны на RE2 — без катастрофического бэктрекинга, гарантированно линейное время работы.
  • Сервинг: ONNX Runtime + Triton Inference Server на NVIDIA L4, развёрнутые в Yandex Cloud (регион ru-central1).
  • Карта соответствий: in-memory hash-map в изолированном воркере; TTL — длительность одного потока ответа.
  • Аудит: иммутабельные логи с обезличенной версией запроса/ответа, хэш SHA-256 от карты соответствий (без самой карты).

Юридические и технические гарантии

Соответствие ст. 7 ФЗ-152

Принцип конфиденциальности соблюдается: персональные данные не передаются третьим лицам без согласия субъекта.

Без трансграничной передачи ПДн

По смыслу ст. 12 ФЗ-152 обезличенные данные перестают быть персональными, поэтому ограничения на их передачу за рубеж не распространяются.

Локализация баз ПДн

Все хранилища с исходными данными физически размещены на территории РФ (требование ч. 5 ст. 18 ФЗ-152).

Шифрование на всех уровнях

TLS 1.3 в транспорте, AES-256 для данных в покое, отдельные ключи для каждой организации (multi-tenant изоляция).

Частые вопросы

А если NER-модель что-то пропустит?

Кроме NER работает второй регексный проход и эвристики (например, любые длинные последовательности цифр в контексте слов «паспорт», «карта», «счёт» маскируются превентивно). Дополнительно у пользователя есть возможность вручную пометить участки текста как чувствительные — они также попадут в карту замен.

Это замедляет работу нейросети?

Средняя задержка маскирования — до 80 мс на 1000 токенов. На фоне сетевой задержки до внешней LLM (~300–600 мс) это незаметно. Обратная подстановка работает на лету в потоке ответа.

Можно ли отключить маскирование?

Для индивидуальных пользователей — нет, защита включена по умолчанию. Для корпоративных тарифов администратор организации может тонко настраивать политику: какие типы сущностей маскировать, для каких моделей применять строгий или мягкий режим, использовать ли собственные регексы.

Что с файлами и изображениями?

Документы (PDF, DOCX, XLSX) проходят OCR/парсинг внутри платформы, а извлечённый текст уходит через тот же конвейер PII-Guard. Для изображений с лицами и документами используется отдельный модуль blurring перед отправкой в мультимодальные модели.

Полная политика конфиденциальности

Если нужны юридические формулировки и полный перечень оснований обработки ПДн — смотрите официальный документ платформы.

Политика обработки персональных данных