[on-premise · демо-стенд]
[mask · фильтр чувствительных данных для LLM-пайплайнов]

Текст уходит в модель.
Данные остаются у вас.

Mask — сервис на вашей инфраструктуре. Он находит в свободном тексте имена, документы, контакты и адреса — и заменяет их типизированными метками за десятки миллисекунд, до того как текст покинет контур.

Примеры синтетические — как и положено демо. Ответ настоящего стенда на эти тексты выглядит ровно так же.
[что находит]

Пятнадцать типов данных.
Включая написанные с ошибками.

Словари на полмиллиона имён со всеми падежами, контрольные суммы документов, контекстные правила и локальная нейросетевая модель — методы дополняют друг друга.

Имена и ФИО

Все падежи, уменьшительные формы, опечатки, транслит, разорванные написания — «Ярос лав» тоже.

[Имя]

Документы

Паспорта в любых написаниях, СНИЛС, ИНН, полисы, права. Голые числа — только при сошедшейся контрольной сумме: номера заказов не задевает.

[паспорт][СНИЛС][ИНН][полис]

Устойчив к обходу

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

«восемь девять три семь два семь…»

[т. номер][Дата рождения]

Контакты

Телефоны во всех форматах записи — включая четырёхзначные коды городов, — email, в том числе кириллические.

[т. номер][Почта]

Адреса и автомобили

От улицы и квартиры до СНТ и посёлков, почтовые индексы, гос. номера, VIN — даже обрывки.

[адрес][гос. номер]

Даты рождения и возраст

Цифрами и прописью, по контексту: дата встречи или доставки останется читаемой.

[Дата рождения][Возраст]
[в цифрах]
~100 мс
медианный ответ на обращение целиком — вместе с нейросетевым распознаванием
15 из 15
стресс-текстов с попытками обхода проходят без единой утечки — сэмплы и прогон воспроизводимы
0
внешних вызовов: модель и словари внутри, интернет компонентам не нужен
[контур]

Ставится у вас.
Наружу — только два эндпоинта.

Docker Compose на любом сервере. Тексты обрабатываются в памяти: ничего не пишется на диск и не попадает в журналы — фиксируются только длина, время и статус.

[01 · вход]

nginx

Единственная публичная точка: TLS, токен, лимит размера и частоты. Все пути, кроме /mask и /health, закрыты.

[02 · движок]

детекторы и замена

Словари, контрольные суммы и контекстные правила находят фрагменты; движок разрешает пересечения и заменяет всё одним проходом.

[03 · имена]

локальная модель

Распознаёт имена вне словарей — редкие, с опечатками, транслитом. Живёт во внутренней сети без выхода наружу.

интернет → :443 → nginx → движок → модель внутренние сети изолированы: у компонентов нет доступа в интернет если любой компонент недоступен — отказ, а не частичный ответ
[интеграция]

Один POST-запрос.

Никаких SDK и колбэков: JSON внутрь — JSON наружу. Подключение к пайплайну занимает минуты.

# запрос
curl -X POST https://mask.continental-c.com/mask \
  -H "Authorization: Bearer <токен>" \
  -H "Content-Type: application/json" \
  -d '{"text": "Меня зовут Иван Петров, тел +7 901 234-56-78"}'

# ответ
{"masked_text": "Меня зовут [Имя], тел [т. номер]"}

Посмотреть на своих текстах?

Демо-стенд уже развёрнут. Доступ по токену — выдаём по запросу после короткого знакомства.

Запросить доступ