Перейти к содержимому
getnextpdf.com

Enterprise редакция

Соответствие требованиям

NextPDF Enterprise направляет готовый PDF во внешний инструмент проверки — veraPDF, EU DSS или Mustang/KoSIT — и возвращает единый структурированный результат. Результат фиксирует то, что проверил внешний инструмент. Это не сертификат, не юридическое заключение и не гарантия того, что документ удовлетворяет какому-либо регламенту.

Эта возможность поставляется в NextPDF Enterprise (nextpdf/enterprise) и активируется лицензионным конвертом уровня Enterprise. Развёртывание без этого права не загружает классы возможности. Сравнить редакции и получить лицензию.

Окно терминала
composer require nextpdf/enterprise:^3

Этот модуль — шлюз, а не валидатор. Вердикт о конформности исходит от внешнего инструмента. Шлюз выбирает нужный инструмент, делегирует ему и нормализует ответ.

ComplianceGateway принимает ComplianceProfile и байты PDF. Он разрешает, какой зарегистрированный ExternalValidator обрабатывает этот профиль, проверяет, что сайдкар достижим, делегирует проверку и возвращает ExternalValidationResult. ComplianceProfile перечисляет поддерживаемые цели: PDF/A-1b/2b/3b/4/4f, PDF/UA-1/2, структурную модель Arlington для PDF 2.0, PAdES B-B/B-T/B-LT/B-LTA, ZUGFeRD 2.4 / Factur-X 1.08 и EN 16931. Каждый случай сопоставляется с нормативной ссылкой и одним внешним инструментом.

ExternalValidator — это контракт, который реализует каждый мост к сайдкару: VeraPdfValidator (veraPDF REST), DssValidator (EU DSS REST) и ZugferdExternalValidator (Mustang/KoSIT). Каждый из них общается со своим сайдкаром через HTTP-клиент PSR-18 и переводит специфичный для инструмента ответ в один ExternalValidationResult.

Политика fail-closed управляет отсутствием сайдкара. По умолчанию недоступный сайдкар вызывает ComplianceSidecarUnavailableException: отсутствующий валидатор — это невозможность проверить, а не прохождение. Явный необязательный режим понижает это условие до залогированного предупреждения и null-результата, поэтому вызывающие стороны могут обнаружить «не проверено» и решить сами. AiReadyCertifier — это отдельный шов: он оценивает три критерия готовности и проставляет блок происхождения XMP nextpdf:. Его уровень «certified» — это внутренняя метка готовности NextPDF. Это не сертификация по стандартам и не предоставляет никакого регуляторного статуса.

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

  • Конформность — это свойство итогового файла плюс валидатора, а не свойство этой библиотеки. ISO 19005-4:2020 §5.2 возлагает обязанность на соответствующий процессор и определяет конформность относительно нормативных требований стандарта — инструментом проверки, а не создающим программным обеспечением.
  • Результат с нулём несоответствий — это проверенный результат относительно пунктов, которые реализует внешний инструмент. Это не безусловный сертификат.
  • Недоступный сайдкар означает не проверено. Он никогда не означает «пройдено».

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

Читайте редакции точно. Они делают разное.

  • NextPDF Core Conformance / Compliance выполняет внутри процесса проверки байтового потока и грамматики и несёт дискриминатор режима конформности. Core выдаёт структуры, которые определяет стандарт. Он не сертифицирует результат.
  • NextPDF Pro Compliance (EInvoiceValidator) проверяет EN 16931 / Factur-X / ZUGFeRD внутри процесса, без внешнего сайдкара.
  • NextPDF Enterprise Compliance (эта страница) делегирует внешним сайдкарам-валидаторам (veraPDF, EU DSS, Mustang/KoSIT) и нормализует результат с политикой fail-closed.

Внутрипроцессный валидатор электронных счетов Pro и внешний сайдкар ZUGFeRD из Enterprise — это разные поверхности. Не смешивайте их.

Конформность — это свойство готового файла, измеряемое инструментом проверки, а не свойство создающей библиотеки. Поэтому шлюз делегирует вердикт авторитетным внешним инструментам и лишь разрешает, делегирует и нормализует. Самоутверждение конформности внутри процесса смешивало бы «собрано под стандарт» с «независимо подтверждено», что стандарты запрещают. Отсюда следует поведение по умолчанию fail-closed: недостижимый сайдкар — это невозможность проверить, поэтому он вызывает исключение, а не проходит. Это удерживает отсутствующую проверку от маскировки под конформность и удерживает NextPDF в честности относительно отсутствия сертификации.

Предыстория архитектуры: Соответствие, которое можно передать аудитору.

КлассОтветственность
ComplianceGatewayРазрешить инструмент для профиля; делегировать; применить политику fail-closed.
ComplianceProfileПеречисление поддерживаемых профилей, каждый со ссылкой на стандарт и инструментом.
ExternalValidatorКонтракт для моста к внешнему сайдкару.
ExternalValidationResultЕдиный результат: профиль, инструмент, флаг конформности, несоответствия.
NonConformanceОдин вывод о несоответствии от внешнего инструмента.
VeraPdfValidatorМост veraPDF REST (PDF/A, PDF/UA, Arlington).
DssValidatorМост EU DSS REST (уровни PAdES).
ZugferdExternalValidatorМост Mustang/KoSIT (ZUGFeRD / Factur-X / EN 16931).
AiReadyCertifierОценка готовности плюс штамп происхождения XMP nextpdf:.
use NextPDF\Enterprise\Compliance\ComplianceProfile;
$result = $gateway->validate($pdfBytes, ComplianceProfile::PdfA4);
$passed = $result?->passes(); // null = sidecar unavailable (not checked)
$result = $gateway->validate($pdfBytes, ComplianceProfile::PdfA4);
if ($result === null) {
$logger->error('compliance.not_checked', ['profile' => 'pdfa-4']);
// Treat "not checked" as a blocker, never as a pass.
return;
}
foreach ($result->nonConformances as $nc) {
$logger->warning('compliance.nonconformance', ['profile' => $result->profile->value]);
}
// A conformant=true result is one input to your decision, not a verdict you own.
  • Недоступный сайдкар по умолчанию вызывает ComplianceSidecarUnavailableException; необязательный режим возвращает null. В любом случае документ был не проверен.
  • Профиль без зарегистрированного валидатора вызывает ошибку аргумента, а не тихо проходит.
  • buildComplianceMatrix() записывает версии инструментов и SHA коммита для трассируемости; матрица сообщает вывод инструмента, она его не сертифицирует.

Стоимость определяется преимущественно круговым обменом с внешним сайдкаром и размером отправляемого ему документа. Разрешение шлюза и нормализация результата постоянны на вызов.

Байты PDF отправляются сайдкару через клиент PSR-18. VeraPdfValidator разбирает только JSON-ответы (без XML, чисто от XXE). Считайте конечные точки сайдкара границей доверия: закрепите сайдкар, ограничьте его сетевой охват и проверяйте его TLS.

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

Безопасная телеметрия и очистка журналов

Заголовок раздела «Безопасная телеметрия и очистка журналов»

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

ПоведениеСсылкаСтатус
Конформность определяется инструментом проверки, а не производителемISO 19005-4:2020 §5.2Отражено в архитектуре (шлюз fail-closed)
Требования к файлу PDF/A-4ISO 19005-4:2020 §6.6.4Делегировано veraPDF
Конформность PDF/UA-2 (свойство файла)ISO 14289-2:2024 §6Делегировано veraPDF
Базовые уровни PAdESETSI EN 319 142-1 §5.4.3Делегировано EU DSS

Эта таблица фиксирует спецификации, под которые создан NextPDF, и то, что проверяют внешние инструменты. Это не заявление о сертификации или регуляторной достаточности.

Этот модуль не выполняет криптографического подписания. Конформность подписи делегируется EU DSS; хранение ключей и подписание в режиме FIPS вне его области (см. модули Signature и Security).

Основные входные данные — это недоверенные байты PDF и ответ сайдкара. Меры защиты: разбор только JSON-ответов в VeraPdfValidator, закреплённая граница доверия сайдкара и политика fail-closed, поэтому недостижимый валидатор никогда не разрешается в прохождение.

  • Этот модуль — шлюз, а не валидатор: вердикт о конформности исходит от внешнего инструмента (veraPDF, EU DSS или Mustang/KoSIT), а шлюз выбирает инструмент, делегирует и нормализует ответ.
  • Результат с нулём несоответствий — это проверенный результат относительно пунктов, которые реализует внешний инструмент, а не безусловный сертификат.
  • Недоступный сайдкар — это fail-closed: он по умолчанию вызывает исключение или в явном необязательном режиме возвращает null-результат; в любом случае документ был не проверен, а не пройден.
  • Профиль без зарегистрированного валидатора вызывает ошибку аргумента, а не тихо проходит.
  • Уровень «certified» у AiReadyCertifier — это внутренняя метка готовности NextPDF, а не сертификация по стандартам, и не предоставляет никакого регуляторного статуса.

Эта страница документирует только внешне наблюдаемое поведение и поддерживаемую публичную поверхность API. Внутренние пути пространств имён, вспомогательные классы, таблицы механизмов, имена файлов runbook и префиксы тикетов вне области.

NextPDF Core Conformance / Compliance выполняет внутри процесса проверки байтового потока и грамматики и несёт дискриминатор режима конформности; он выдаёт структуры, которые определяет стандарт, но не сертифицирует результат и не делегирует внешнему сайдкару. У шлюза внешних валидаторов нет эквивалента уровня Core.

NextPDF Pro Compliance проверяет EN 16931 / Factur-X / ZUGFeRD внутри процесса без внешнего сайдкара. Внутрипроцессный валидатор электронных счетов Pro и внешний сайдкар ZUGFeRD из Enterprise — это разные поверхности; шлюз внешних валидаторов поставляется только в пакете nextpdf/enterprise. Не смешивайте их.

Шлюз, разрешение «профиль → инструмент» и нормализация результата описаны на уровне поведения. Внутренние детали моста для каждого сайдкара, специфичный для инструмента перевод ответа и любые внутренние детали оркестрации находятся вне области публичного интерфейса.

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

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

  • Validation — внутрипроцессные структурные политики.
  • Evidence — запечатанные пакеты результатов с метками времени.
  • Pro Compliance — внутрипроцессная обработка электронных счетов (отдельная поверхность).
  • Core Conformance — дискриминатор режима конформности.
  • Compliance — подробный справочник — детали мостов к сайдкарам и перевода ответов.