Microsoft Presidio или Mask Gate: SDK против готового шлюза

2026-09-11 · Андрей Цымбалюк · Presidioсравнение

Presidio — open-source SDK для разработчиков, и России в его списке сущностей нет. Mask Gate — готовый сервис с русскими детекторами, vault и защитой от обхода. Если коротко: Presidio — это набор деталей, Mask Gate — собранная машина. Дальше сравню их по делу. Сравнение часто просят те, кто ищет альтернативу Presidio или думает, что за маскирование надо садиться писать код. На деле писать код не обязательно.

Что такое Presidio

Microsoft Presidio — это open-source SDK. Его встраивают в свой код: подключают библиотеку, пишут логику распознавания и маскирования, настраивают под себя. Готового сервиса «вставил текст — получил результат» там нет.

В списке supported_entities у Presidio около двадцати стран и групп сущностей. России в этом списке нет. Паспорт РФ, ИНН, СНИЛС, российские телефоны из коробки не распознаются.

Отдельная история — нейросети. Чтобы маскировать LLM-вызовы через Presidio, готового решения нет. Нужно самому собирать прокси, например на LiteLLM, и связывать его с SDK. Это работа для разработчика, и не на один день.

Presidio — хороший инструмент, если у вас есть команда, которая готова его допиливать. Код открыт, правишь что угодно. Порядок работы такой: берёте библиотеку, описываете свои детекторы под Россию, собираете прокси для LLM на LiteLLM, тестируете на своих данных, поддерживаете обновления. Каждый пункт — время команды. За эту свободу вы платите собственным временем. Это SDK, а не готовый шлюз.

Что умеет Mask Gate

Mask Gate — готовый сервис. Открыли веб-интерфейс, вставили текст или загрузили файл, получили результат. Плюс API для встраивания и надстройка для Excel и Word с восстановлением обратно. Файлы: txt, csv, docx, xlsx, pdf, плюс распознавание сканов и изображений через OCR.

Важно понимать класс. Mask Gate — это маскировщик, а не DLP-система. Он защищает конкретную точку, передачу текста в нейросеть, поэтому и разворачивается за минуты, а не за месяцы.

Детекторы заточены под Россию. Из коробки распознаются паспорт, ИНН, СНИЛС, номера карт, CVV, срок действия, телефоны, email, адреса, медданные, госномера, ОГРН, БИК, КПП, IP-адреса. Плюс ФИО, организации и локации через NER на модели natasha.

Стратегий три: block запрещает передачу, redact необратимо удаляет, flag помечает, не трогая текст. Медданные и ключи — block, паспорт и карты — redact, ФИО и суммы — flag.

Дальше то, чего у SDK нет. Vault для обратимой маскировки: значение уезжает в зашифрованное хранилище AES-256-GCM, в тексте остаётся токен [VAULT:…]. Анти-обход: нормализация ловит гомоглифы, zero-width символы, разбивку разделителями, base64 и percent-encoding. Валидаторы проверяют контрольные суммы ИНН, СНИЛС и номера карты по Луну, поэтому ложных срабатываний мало. Принцип fail-closed: любой сбой анализа — это блок, а не молчаливый пропуск.

Для LLM-вызовов есть готовый chokepoint /proxy/chat. Серверный фильтр стоит между вами и внешним LLM-API и проверяет данные в обе стороны: что уходит в нейросеть и что возвращается.

Внутри всё устроено конвейером: нормализация, распознаватели, валидаторы, NER, повторный скан, порог, выбор стратегии. Повторный скан ловит значения, написанные словами или разбитые на несколько сообщений. Ядро работает без сети, поэтому сами данные наружу не уходят.

Пример маскировки

Развёртывание на выбор. Self-hosted через Docker целиком в вашем контуре. Или BYOK: вы подключаете собственный ключ LLM, Mask Gate не видит ваши запросы. Ядро анализирует текст локально, без сети.

Работает быстро и точно. Одиночное значение обрабатывается примерно за 0,1 мс, типовое сообщение на тысячу знаков за 5 мс. Качество на моих eval-замерах: recall 95%, precision 92%. Стек простой: Python 3.11, FastAPI, SQLite, фронт на нативном JS без сборщика, Docker, Nginx.

Таблица сравнения

КритерийMicrosoft PresidioMask Gate
Тип решенияOpen-source SDKГотовый сервис
Русские сущностиНет в supported_entitiesПаспорт, ИНН, СНИЛС, карты, телефоны
Обратимая маскировкаСобирать самомуVault из коробки, AES-256-GCM
Анти-обходЗависит от вашего кодаНормализация: гомоглифы, base64, разбивка
LLM-вызовыСамосборный LiteLLM-проксиГотовый chokepoint /proxy/chat
Fail-closedРеализуете самиВстроен
КаналыВстраивание в кодWeb, API, Office add-in, Docker
ЗапускВстраивание в ваш проектГотово из коробки

Главное расхождение видно по первым двум строкам. Presidio требует команду, которая соберёт из SDK то, что вам нужно. Mask Gate отдаёт готовую связку из коробки, а команда нужна только для интеграции в свой процесс, если она вообще нужна. Это и есть разница между деталями и готовой машиной.

Когда брать Presidio, когда Mask Gate

Presidio берите, если у вас сильная команда разработки и требования, которые готовый сервис не покрывает. Вы готовы писать свою логику распознавания, свои анонимайзеры, свой прокси для LLM. Presidio — open-source, лицензию покупать не нужно. Но зарплата разработчиков — это тоже бюджет, и немалый.

Mask Gate берите, если нужен результат сейчас. Детекторы под Россию уже есть, vault уже есть, прокси для нейросетей уже есть. Зашли, вставили текст, получили ответ. Для компании — self-hosted в своём контуре.

Моя позиция прямая: если задача — защитить русские персональные данные перед отправкой в нейросеть, Presidio для этого не предназначен. Он для этого слишком низкоуровневый. Mask Gate закрывает задачу целиком.

Сравнивать их напрямую не совсем корректно. Presidio — библиотека, Mask Gate — сервис. Решайте по задаче. Нужен компонент для своей системы с нестандартными требованиями — берите SDK и выделяйте команду. Нужно закрыть риск утечки в нейросети в этом квартале — берите готовый сервис.

Есть ещё третий вариант — классические DLP-вендоры вроде Solar Dozor, InfoWatch, СёрчИнформ. Это другой класс задач и другой бюджет: внедрение месяцами, стоимость от нескольких миллионов рублей. Для защиты от утечки ПДн в нейросети такой вес не обязателен.

По деньгам: проверка текста в Mask Gate стоит 50 рублей, подписка Pro — около 500 в месяц, первая проверка бесплатна. Для компании — self-hosted по договору или оферте. Посмотрите цены на /pricing.

Способ выбрать простой. Есть команда и нестандартные требования — попробуйте Presidio на пилотном тексте и прикиньте, сколько уйдёт времени на русские сущности. Команды нет — проверьте тот же текст в Mask Gate и сравните результат за минуту. Разница станет видна сразу.

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

Presidio бесплатный, а Mask Gate платный. Зачем платить? Presidio бесплатный как библиотека, но вы платите временем разработчиков. Настроить детекторы под Россию, собрать vault и прокси для LLM — это недели работы. Mask Gate закрывает всё это из коробки. 50 рублей за проверку против недель разработки — сравнение в пользу готового сервиса, если задача типовая.

Может ли Presidio распознать российский паспорт? Из коробки нет, России в supported_entities нет. Можно дописать свой распознаватель, но это уже ваша разработка, и поддерживать её придётся вам.

Подходит ли Presidio для маскирования запросов в ChatGPT? Напрямую нет. Нужно самому собрать прокси, например на LiteLLM, и связать его с SDK. В Mask Gate для этого есть готовый /proxy/chat.

Где разворачивается Mask Gate? Вариантов два: self-hosted через Docker в вашем контуре или BYOK с собственным ключом LLM. Анализ текста в любом случае локальный, без сети.

Сравните на практике: проверьте свой текст бесплатно на maskgate.ru. Вставьте отчёт с данными клиента и посмотрите, что из русских сущностей распознаётся. Первая проверка без регистрации.

Проверьте свой текст перед отправкой в нейросеть — бесплатно на maskgate.ru.

Не является юридической консультацией. Проверяйте актуальную редакцию 152-ФЗ.