Документы и ИИ: как не отправить паспорт или счёт иностранной модели

Безопасная обработка PDF и сканов: проверка формата, локальное извлечение и распознавание текста, маскирование ПДн, временное хранение и запрет скрытого внешнего переключения.

Article

Файл опаснее короткого текстового запроса своей непрозрачностью. Пользователь прикладывает «счёт.pdf», а внутри могут оказаться ФИО подписанта, телефон, банковские реквизиты, адрес и скан паспорта на соседней странице. Если такой документ сразу отправить модели для анализа изображений, контролировать объём передачи уже поздно.

Безопасный конвейер сначала обрабатывает документ в контролируемом российском контуре и только потом решает, что можно делать с результатом.

Шаг 1. Проверить фактический формат

Расширение .pdf не гарантирует PDF. Сервер должен определить фактический формат по содержимому, ограничить размер и отклонить неподдерживаемый файл. Архив, исполняемый файл или неизвестный тип вложения не нужно «на всякий случай» пересылать внешней модели.

Шаг 2. Разделить извлечение и распознавание текста

PDF с текстовым слоем разбирается локально без распознавания изображения. Сканированный PDF, PNG, JPEG, TIFF и WebP требуют оптического распознавания текста (OCR). В обоих случаях результатом становится нормализованный документ: страницы, текстовые блоки, координаты и уверенность распознавания.

На gitsell.ru для этого действует POST /v1/documents/recognize с правилом FILE_LOCAL_ONLY, то есть «только локальная обработка файла». PDF разбирается PyMuPDF, изображения — локальным PaddleOCR. Сырой файл, изображения страниц и производный текст не уходят иностранному поставщику модели.

Шаг 3. Найти ПДн после распознавания

Детектор работает по извлечённому тексту: правила и контрольные суммы находят структурированные значения, локальная модель распознавания именованных сущностей — ФИО. Клиент получает очищенный текст и категории срабатываний без исходных значений в аудите.

Ошибки распознавания возможны. Низкая уверенность должна быть видна потребителю результата, а критичные поля — перепроверяться в 1С до записи. Распознавание документа и создание хозяйственной операции не следует объединять в один автоматический шаг.

Шаг 4. Удалить временный файл

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

Почему нельзя включать скрытое внешнее переключение

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

Подробные форматы и ограничения опубликованы отдельно. Этот конвейер помогает выполнить техническую часть защиты, но организация всё равно определяет цель, правовое основание, сроки хранения и круг сотрудников, которым разрешена работа с документом по 152-ФЗ.

Статьи по теме