Проверка файлов на персональные данные, маскирование и управление API-ключами.
| Способ | Заголовок | Где применяется |
|---|---|---|
| Access-токен (B2C) | Authorization: Bearer <token> | все методы ниже |
| B2B API-ключ | X-API-Key: <key> | файловые эндпоинты /process-file* |
Файловые эндпоинты дополнительно проверяют заголовок Origin (защита от кросс-доменных вызовов). Для server-to-server (CLI, бэкенд) заголовок Origin можно не отправлять — запрос разрешён.
Методы принимают application/json. Обработка текста доступна и анонимно (бесплатная квота 1 проверка в день), и по токену/API-ключу.
Найти ПДн в тексте (без маскирования): список находок с категорией, позицией и уверенностью.
curl -X POST https://maskgate.ru/analyze \
-H "Content-Type: application/json" \
-d '{"text": "Карта 4111 1111 1111 1111"}'
Ответ: findings[], anon_quota (для анонима).
Обработать текст по политике: замаскировать/удалить/пометить, вернуть обезличенный output_text.
curl -X POST https://maskgate.ru/process \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"text": "Карта 4111 1111 1111 1111", "session_id": "chat1", "use_vault": true}'
Ответ: output_text, blocked, findings[], applied.
Все методы принимают multipart/form-data: файлы передаются в поле files (можно несколько). Поддерживаются .docx, .xlsx, .pdf, изображения, .txt/.csv.
Проверка файлов на ПДн: извлечение текста → находки → стратегия политики (блокировать / удалить / замаскировать / пометить). В том же ответе сразу два артефакта для скачивания: download_url — обратимый маскированный документ (токены [VAULT:…], расшифровывается через /process-file/restore), и redacted_download_url — PDF без данных (только для PDF, необратимо).
curl -X POST https://maskgate.ru/process-file \
-H "Authorization: Bearer $TOKEN" \
-F "files=@report.docx" -F "files=@scan.pdf"
Ответ: files[] (по файлу: segments, findings, blocked, error, download_url, redacted_download_url, elapsed_ms), batch_blocked, batch_has_errors, charged_units, supported_formats, analysis_ms.
Проверка + скачивание файла в исходном формате (устаревший способ — новый поток идёт через /process-file с download_url). Для .docx/.xlsx документ пересобирается в исходном формате; для .pdf ПДн затёрто (растеризовано); для текстовых форматов отдаётся маскированный текст. Результат — по capability-URL (download_url).
curl -X POST https://maskgate.ru/process-file/download \
-H "Authorization: Bearer $TOKEN" \
-F "files=@report.docx"
Ответ: files[] (по файлу: download_url, error; masked_content — только для текстовых форматов), charged_units.
Обратная операция: загружается замаскированный файл, [VAULT:...]-токены восстанавливаются в исходные значения (требует включённого обратимого маскирования).
curl -X POST https://maskgate.ru/process-file/restore \
-H "Authorization: Bearer $TOKEN" \
-F "files=@masked.txt"
Ответ: files[] (по файлу: restored_text, error), charged_units.
Скачать ранее замаскированный файл. Авторизация не требуется — capability-URL со сроком жизни 5 минут. Параметр ?redact=1 отдаёт необратимый PDF-вариант без данных.
curl -OJ https://maskgate.ru/download/report.docx
Заменить [VAULT:…]-токены в тексте на исходные значения (по session_id).
curl -X POST https://maskgate.ru/vault/restore \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"text": "карта [VAULT:…]", "session_id": "chat1"}'
Ответ: restored_text.
Прокси-запрос к внешней языковой модели: маскирует ПДн на входе, восстанавливает на выходе.
curl -X POST https://maskgate.ru/proxy/chat \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"message": "…", "session_id": "chat1"}'
Ключ хранится как хэш; открытый текст показывается ровно один раз при создании.
Список ключей текущего пользователя (метаданные, хэш не возвращается).
curl -H "Authorization: Bearer $TOKEN" https://maskgate.ru/auth/me/keys
Создать ключ. Тело — JSON {"name": "мой скрипт"} (необязательно, до 100 символов).
curl -X POST https://maskgate.ru/auth/me/keys \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"name": "мой скрипт"}'
Ответ: {"key": "mg_...", "id": 12, "name": "мой скрипт", "created_at": "..."}.
Отозвать один из своих ключей.
curl -X DELETE https://maskgate.ru/auth/me/keys/12 \
-H "Authorization: Bearer $TOKEN"
| Код | Значение |
|---|---|
401 | нет или невалидная авторизация |
403 | раздел отключён администратором или чужой Origin |
404 | ключ/файл не найден или истёк |
413 | превышено количество файлов в батче |
422 | невалидный запрос |
429 | исчерпана квота/лимит запросов |