Этот документ написан для того, кто должен подписать внедрение. Он отвечает на вопрос «где именно оказываются персональные данные», а не рассказывает о продукте. Всё, что здесь заявлено, проверяется вами на своём стенде — в конце список команд.
Образ запускается на вашей инфраструктуре. Персональные данные обрабатываются в его памяти, хранятся в его томе и не покидают вашу сеть. Мы не имеем к тому доступа: у нас нет ни учётных данных к вашей машине, ни канала, по которому содержимое тома можно было бы запросить.
Контейнер раз в сутки обращается к серверу лицензий. В запросе: идентификатор организации, идентификатор установки, число обработанных запросов, число защищённых значений и счётчики по типам сущностей. Ни текстов, ни токенов, ни значений, ни превью — структура запроса такова, что персональные данные в ней негде разместить.
{"org_id": "org_4f3a8c", "instance_id": "8f3c…",
"requests": 184203,
"values": 5140,
"entities": {"PHONE": 12043, "NAME": 8871, "LOC": 3310}}
В основном режиме подключения приложение продолжает отправлять собственный ключ провайдера. Контейнер пересылает заголовок авторизации наверх нетронутым и нигде его не сохраняет. Мы этот ключ не видим и не храним.
Любая ошибка маскирования приводит к ответу 5xx, а не к пропуску текста без обработки. Если движок не может замаскировать — запрос не уходит к модели. Это относится и к состоянию «нет действующей лицензии»: контейнер останавливает обслуживание, а не начинает работать без защиты.
Волт соответствий — SQLite в томе контейнера. Хранит пару «настоящее значение → подставленный токен». Это единственное место, где настоящее значение существует в постоянном виде, и оно на вашей стороне.
Журнал — тип сущности, токен и маскированное превью (Ив•••••••••ич). Полного значения в журнале нет намеренно: иначе он стал бы второй копией тех данных, ради ограничения которых существует волт.
Раскрытие значения доступно оператору по токену через локальный интерфейс. Каждое раскрытие записывается: кто, какой токен, когда. Записываются и промахи — иначе перебор наугад не оставлял бы следа. Запись делает движок, а не интерфейс: журнал, который ведёт о себе сам обращающийся, журналом не является.
Оператором персональных данных ваших клиентов остаётесь вы. Мы не получаем их ни в каком виде и потому не выступаем обработчиком по этим данным. Отдельно мы обрабатываем данные вашей учётной записи — email и реквизиты для счетов, — и по ним оператором являемся мы. Это две разные роли, и смешивать их не следует.
Ни одно утверждение выше не требует доверия к нам. Всё проверяется на вашем стенде за несколько минут.
sudo tcpdump -i any -A host license.pseudex.ru # в теле — только счётчики, ни одного значения
открыть локальный интерфейс → ПЕСОЧНИЦА # ваш текст, маскированный вид и восстановление — # всё внутри вашего контура
docker diff pseudex # пусто: PYTHONDONTWRITEBYTECODE=1, # состояние только в смонтированном томе
Ни одна система распознавания персональных данных не даёт стопроцентной полноты. Мы публикуем полный список того, что находим и чего не находим, вместо того чтобы обещать отсутствие ошибок. Если ваш сценарий содержит редкие форматы, проверьте их в песочнице до внедрения — она для этого и сделана.
Приложение направляется к контейнеру настройкой. Инженер с доступом к этой настройке может направить трафик мимо. Если вам нужна гарантия, а не договорённость, закройте исходящий доступ к API провайдеров на файрволе и оставьте маршрут только через контейнер — это делается на вашей стороне, и мы рекомендуем так и поступить.
Морфологический словарь русского языка из корпуса OpenCorpora — данные под Creative Commons Attribution-Share Alike 3.0, код обвязки под MIT. Словарь включён без изменений, поэтому по терминологии лицензии это Collection, а не переработка: раздел 4(a) прямо снимает требование лицензировать остальное под той же лицензией. Полный список компонентов и обязательная атрибуция — в файле THIRD-PARTY-NOTICES.md внутри образа.
Пары «настоящее значение → токен» лежат в томе контейнера открытым текстом. Том находится в вашем периметре, и его защита — шифрование диска, права доступа, резервное копирование — делается вашими средствами, как для любой другой базы с персональными данными. Мы не выдаём это за фичу и не прячем: если для вашей отрасли важно шифрование самого волта, скажите — задача описана и стоит в очереди, обсудим сроки.
Волт существует только у вас. Если том потерян, соответствия «токен → значение» восстановить невозможно — ни вам, ни нам. Это следствие того, что у нас их нет. Включите том в вашу схему резервного копирования.