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

Enterprise редакция

Валидация

NextPDF Enterprise выполняет внутрипроцессные структурные проверки в режиме только для чтения по именованным политикам: PDF/A-4, базовый профиль PAdES, состояние долгосрочной валидации (LTV), ZUGFeRD, требования Food and Drug Administration (FDA) США 21 CFR Part 11, а также Securities and Exchange Commission (SEC) США 17a-4. Он возвращает структурированный технический отчёт. Этот отчёт не является юридической консультацией, подтверждением соответствия или сертификацией.

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

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

Compliance — это точка входа. Вызовите Compliance::assess($pdfBytes, $policy) (или внедрите экземпляр и вызовите run()), чтобы применить одну политику CompliancePolicy к байтам PDF и получить ComplianceReport. Политика задаёт выполняемую проверку; отчёт содержит структурированный результат.

Policies предоставляет готовые фабрики политик: pdfA4(), pdfA4e(), pdfA4f(), padesBaseline(), eidasQualified(), ltvHealth(), zugferd($profile), fdaPart11(), а также семейство SEC 17a-4 (sec17a4(), sec17a4Compatible(), sec17a4Structural(), sec17a4PreSign()). Каждая фабрика возвращает CompliancePolicy, метод validate() которой является чистым: на входе — байты PDF, на выходе — замечания. Архитектура обеспечивает строгую границу режима только для чтения: политика никогда не изменяет байты PDF, поэтому валидация остаётся отделённой от любого автоматического исправления.

ComplianceReport группирует замечания по Severity (Error, Warning, Info). passes() возвращает true, когда ошибок нет; предупреждения не делают отчёт неуспешным. Отчёт включает встроенный юридический дисклеймер (getDisclaimer()), в котором указано, что результат является справочной технической проверкой структуры, а окончательное заключение выносят квалифицированные специалисты по праву или соответствию. Вы обязаны показывать этот дисклеймер в выводе, предназначенном для пользователя.

Для подписей важна ещё одна граница. LtvHealthCheck проверяет структурное наличие хранилища безопасности документа (Document Security Store, DSS) согласно ISO 32000-2:2020 §12.8.4.3; он не выполняет криптографическую проверку встроенных данных протокола состояния сертификатов в режиме онлайн (Online Certificate Status Protocol, OCSP) или списка отозванных сертификатов (certificate revocation list, CRL). eidasQualified() проверяет структуру PAdES только на уровне PDF; фактическая квалификация по eIDAS зависит от поставщика услуг доверия (trust service provider, TSP) и квалифицированного сертификата, которые находятся за пределами этого модуля.

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

  • Соответствие — это свойство итогового файла вместе с валидатором, а не этой библиотеки. ISO 19005-4:2020 §5.2 определяет соответствие нормативным требованиям стандарта через средство проверки, а не через программное обеспечение, которое создаёт файл.
  • Успешный отчёт — это проверенный результат по правилам, которые реализует каждая политика. Он не является сертификатом.
  • Политики FDA 21 CFR Part 11 и SEC 17a-4 проверяют структурные атрибуты, которые подразумеваются этими нормативными требованиями (наличие подписи, намерение подписать, маркеры журнала аудита, ограничения однократной записи и многократного чтения (write once, read many, WORM)). Они не устанавливают юридического соответствия этим нормативным требованиям. Юридическую достаточность определяет ваша команда по соответствию.

Поддержка стандарта не является соответствием ему, а соответствие не является сертификацией. NextPDF не имеет сертификации и не предоставляет её.

  • NextPDF Core Compliance поставляет валидаторы байтового потока и перекрёстную проверку грамматики; отчёт без замечаний — это проверенный результат, а не сертификат.
  • NextPDF Pro Compliance (EInvoiceValidator) проверяет EN 16931 / Factur-X / ZUGFeRD внутри процесса на уровне электронного счёта.
  • NextPDF Enterprise Validation (эта страница) добавляет готовые политики для структурных проверок архивирования, подписи, LTV и регулируемых отраслей (FDA Part 11, SEC 17a-4) с единым форматом отчёта. Модуль Enterprise Compliance — это отдельная поверхность, которая делегирует работу внешним sidecar-компонентам; этот модуль работает внутри процесса.

Валидация построена как набор чистых политик только для чтения, а не как конвейер “исправить и сообщить”. Метод CompliancePolicy::validate() каждой политики принимает байты PDF и возвращает замечания; он никогда не редактирует документ. Поэтому успешный отчёт никогда не является следствием того, что инструмент незаметно “помог” входным данным пройти проверку. Он означает лишь, что файл был проверен по правилам, которые реализует каждая политика. Именно эта граница объясняет, почему каждый отчёт содержит встроенный дисклеймер и почему соответствие остаётся свойством итогового файла вместе с внешним валидатором, а не самозаявлением производителя. Сертификация и юридическая достаточность — это решение аудитора или команды по соответствию, поэтому модуль сообщает о структуре и на этом останавливается.

Предыстория проектирования: Compliance you can hand to an auditor.

КлассНазначение
ComplianceТочка входа: применяет одну политику и возвращает отчёт.
PoliciesФабрика для готовых экземпляров CompliancePolicy.
CompliancePolicyКонтракт: чистый validate(), возвращающий замечания.
ComplianceReportЗамечания, сгруппированные по серьёзности; содержит юридический дисклеймер.
ComplianceFindingОдно замечание: идентификатор правила, сообщение, ссылка на стандарт, рекомендация по устранению.
SeverityError (ошибка) / Warning (предупреждение) / Info (информация).
PdfAPolicyСтруктурная политика семейства PDF/A-4.
PadesValidatorСтруктурная политика базового профиля PAdES / eIDAS.
LtvHealthCheckПроверка наличия структуры DSS (ISO 32000-2 §12.8.4.3).
ZugferdValidatorПолитика уровня PDF для ZUGFeRD / Factur-X.
FdaPart11PolicyПолитика структурных атрибутов FDA 21 CFR Part 11.
Sec17a4WormPolicyСтруктурная политика WORM для SEC 17a-4 (с выбираемой строгостью).
use NextPDF\Enterprise\Validation\Compliance;
use NextPDF\Enterprise\Validation\Policies;
$report = Compliance::assess($pdfBytes, Policies::pdfA4());
$ok = $report->passes(); // no errors
$report = (new Compliance($clock))->run($pdfBytes, Policies::fdaPart11());
foreach ($report->errors as $finding) {
$logger->warning('validation.error', [
'rule' => $finding->ruleId,
'standard' => $finding->standardReference,
]);
}
$auditLine = $report->getDisclaimer(); // surface this in user-facing output
  • Предупреждения никогда не делают отчёт неуспешным; только ошибки устанавливают passes() в false. Чистый отчёт по-прежнему означает “проверено по реализованным правилам”, а не “соответствует”.
  • LtvHealthCheck подтверждает структуру DSS, а не криптографическую действительность данных об отзыве.
  • eidasQualified() проверяет только структуру на уровне PDF; квалификация зависит от TSP и сертификата.
  • Семейство SEC 17a-4 предоставляет выбираемую строгость (Full / Compatible / Structural / PreSign); выбирайте ту, которая соответствует этапу вашего рабочего процесса.

Каждая политика выполняется внутри процесса над предоставленными байтами PDF; затраты масштабируются в зависимости от размера документа и количества правил. Compliance записывает длительность выполнения в отчёт.

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

Резидентность данных и меры по защите ПДн

Заголовок раздела «Резидентность данных и меры по защите ПДн»

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

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

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

Замечания включают идентификаторы правил, ссылки на стандарты и сообщения; некоторые сообщения воспроизводят имена подписавших или строки причин, извлечённые из PDF. Очищайте или редактируйте эти поля перед отправкой журналов в общие приёмники журналов.

ПоведениеСсылкаСтатус
Соответствие определяется относительно стандарта, а не заявлением производителяISO 19005-4:2020 §5.2Отражено в архитектуре (политики только для чтения)
Наличие структуры DSS для LTVISO 32000-2:2020 §12.8.4.3Проверено (только структура)
Структура базового профиля PAdESETSI EN 319 142-1 §5.4.3Проверено (на уровне PDF)
Семантическая модель профиля EN 16931Factur-X 1.08 (EN 16931)Вспомогательная ссылка (ответственность несёт эмитент)
FDA 21 CFR Part 11 / SEC 17a-421 CFR Part 11 / 17 CFR 240.17a-4Структурные атрибуты проверены; юридически не подтверждено

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

Эти политики не проверяют цифровые подписи PDF, цепочки сертификатов, ответы OCSP/CRL или юридическую квалификацию; любые дайджесты SHA-256 журнала аудита, которые они вычисляют, являются проверками защиты от подделки, а не проверкой подписи. Модули Signature и Security обрабатывают криптографическую действительность подписи, хранение ключей и поведение в режиме федеральных стандартов обработки информации (Federal Information Processing Standards, FIPS).

Основной вход — недоверенные байты PDF. Меры по снижению рисков включают чистые политики только для чтения (без изменения, без автоматического исправления), отсутствие сетевого ввода-вывода и явный юридический дисклеймер в каждом отчёте, чтобы успешный результат не принимался за сертификацию.

  • Метод validate() каждой политики является чистой функцией: на входе — байты PDF, на выходе — замечания. Он никогда не изменяет входные данные; архитектура сохраняет строгую границу режима только для чтения, отделённую от любого автоматического исправления.
  • Отчёт группирует замечания по серьёзности; passes() возвращает true, когда ошибок нет, и предупреждения никогда не делают отчёт неуспешным.
  • Каждый отчёт содержит встроенный юридический дисклеймер, указывающий, что результат является справочной технической проверкой структуры; вы обязаны отображать этот дисклеймер в выводе, предназначенном для пользователя.
  • Проверка состояния LTV подтверждает только наличие структуры DSS; она не выполняет криптографическую проверку встроенных данных OCSP/CRL.
  • Политика квалификации eIDAS проверяет структуру PAdES только на уровне PDF; фактическая квалификация зависит от поставщика услуг доверия и сертификата, которые находятся за пределами этого модуля.

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

NextPDF Core Compliance поставляет валидаторы байтового потока и перекрёстную проверку грамматики; отчёт без замечаний — это проверенный результат, а не сертификат. Готовые политики для архивирования, подписи, LTV и регулируемых отраслей с единым форматом отчёта не имеют эквивалента в уровне Core.

NextPDF Pro Compliance проверяет EN 16931 / Factur-X / ZUGFeRD внутри процесса на уровне электронного счёта. Он не предоставляет готовых структурных политик PDF/A-4, PAdES, LTV, FDA Part 11 или SEC 17a-4; они поставляются только в пакете nextpdf/enterprise. Поверхность внешних sidecar-компонентов Enterprise Compliance — это отдельный модуль.

Точка входа, фабрика политик и отчёт описаны на уровне поведения. Внутренние правила отдельных политик и любые детали внутренней классификации находятся за рамками публичной поверхности. Криптографическая действительность подписи намеренно не входит в эту область охвата; за неё отвечают Signature verification на стороне проверки и модули Security.

Валидация выполняется внутри процесса и локально, без сетевого ввода-вывода; политика не может изменить входные данные. Оператор относится к байтам PDF из недоверенных источников как к враждебным, отображает дисклеймер отчёта в выводе, предназначенном для пользователя, и отвечает за меры контроля хранения и минимизации для отчётов и замечаний, которые могут содержать персональные данные из подписанных документов и метаданных журнала аудита.

Поддержка стандарта не является соответствием ему, а соответствие не является сертификацией; NextPDF не имеет сертификации и не предоставляет её. Политики FDA 21 CFR Part 11 и SEC 17a-4 проверяют только структурные атрибуты и не устанавливают юридического соответствия. Эта документация не является юридическим заключением; для оценки юридической достаточности обращайтесь к своей команде по соответствию.

  • Compliance — внешние sidecar-компоненты валидатора (отдельная поверхность).
  • Evidence — запечатанные пакеты отчётов с метками времени.
  • Core Compliance — внутрипроцессные валидаторы байтового потока.
  • Signature verification — криптографическая проверка CMS / метки времени / архивной цепочки на стороне верификации (отличается от этой структурной поверхности).
  • Спецификации: PDF/A-4 — упоминаемый стандарт.
  • Validation — Deep Reference — внутренние правила отдельных политик и полный справочник классов.