Aller au contenu
getnextpdf.com

Enterprise édition

Validation

NextPDF Enterprise exécute en mémoire (in-process), en lecture seule, des vérifications structurelles selon des politiques nommées : PDF/A-4, baseline PAdES, intégrité de la validation à long terme (LTV), ZUGFeRD, la règle 21 CFR Part 11 de la U.S. Food and Drug Administration (FDA) et la règle 17a-4 de la U.S. Securities and Exchange Commission (SEC). Il renvoie un rapport technique structuré. Ce rapport n’est ni un avis juridique, ni une caution de conformité, ni une certification.

Cette capacité est fournie dans NextPDF Enterprise (nextpdf/enterprise) et s’active avec une enveloppe de licence de palier Enterprise. Un déploiement dépourvu de ce droit ne charge pas les classes de la capacité. Comparer les éditions et obtenir une licence.

Fenêtre de terminal
composer require nextpdf/enterprise:^3

Compliance est le point d’entrée. Appelle Compliance::assess($pdfBytes, $policy) (ou injecte une instance et appelle run()) pour appliquer une CompliancePolicy aux octets du PDF et recevoir un ComplianceReport. La politique définit le travail ; le rapport en donne le résultat structuré.

Policies fournit des fabriques de politiques prédéfinies : pdfA4(), pdfA4e(), pdfA4f(), padesBaseline(), eidasQualified(), ltvHealth(), zugferd($profile), fdaPart11(), ainsi que la famille SEC 17a-4 (sec17a4(), sec17a4Compatible(), sec17a4Structural(), sec17a4PreSign()). Chaque fabrique renvoie une CompliancePolicy dont la méthode validate() est pure : octets du PDF en entrée, constats en sortie. L’architecture impose une stricte frontière de lecture seule : une politique ne modifie jamais les octets du PDF, de sorte que la validation reste distincte de tout comportement de correction automatique.

ComplianceReport regroupe les constats par Severity (Error, Warning, Info). passes() renvoie true lorsqu’il n’y a aucune erreur ; les avertissements ne font pas échouer un rapport. Le rapport comporte une clause de non-responsabilité juridique intégrée (getDisclaimer()) précisant que le résultat est une vérification technique de structure fournie à titre de référence uniquement et que la détermination finale revient à des professionnels qualifiés du droit ou de la conformité. Tu dois faire apparaître cette clause dans la sortie présentée aux utilisateurs.

Une seconde limite concerne les signatures. LtvHealthCheck vérifie la présence structurelle du Document Security Store (DSS) selon ISO 32000-2:2020 §12.8.4.3 ; il ne vérifie pas cryptographiquement les données OCSP (Online Certificate Status Protocol) ou CRL (liste de révocation de certificats) intégrées. eidasQualified() valide la structure PAdES au seul niveau du PDF ; la qualification eIDAS effective dépend du prestataire de services de confiance (TSP) et du certificat qualifié, qui sont hors de ce module.

Ce module vérifie des attributs structurels et rapporte des constats. Il ne certifie pas un document et ne garantit pas qu’il satisfait à une réglementation.

  • La conformité est une propriété du fichier final associé à un validateur, et non de cette bibliothèque. ISO 19005-4:2020 §5.2 détermine la conformité au regard des exigences normatives de la norme au moyen d’un outil de vérification, et non par le logiciel producteur.
  • Un rapport favorable est un résultat vérifié au regard des règles que chaque politique met en œuvre. Ce n’est pas un certificat.
  • Les politiques FDA 21 CFR Part 11 et SEC 17a-4 vérifient des attributs structurels que ces réglementations impliquent (présence de signature, intention de signature, marqueurs de piste d’audit, contraintes WORM — write once, read many). Elles n’établissent pas la conformité juridique à ces réglementations. La suffisance juridique relève de ton équipe conformité.

La prise en charge d’une norme n’est pas la conformité à celle-ci, et la conformité n’est pas la certification. NextPDF ne détient aucune certification et n’en accorde aucune.

  • NextPDF Core Compliance fournit des validateurs de flux d’octets et un contrôle croisé de grammaire ; un résultat sans aucun constat est un résultat vérifié, pas un certificat.
  • NextPDF Pro Compliance (EInvoiceValidator) valide EN 16931 / Factur-X / ZUGFeRD en mémoire (in-process) au niveau de la facture électronique.
  • NextPDF Enterprise Validation (cette page) ajoute des politiques prédéfinies pour les vérifications structurelles d’archivage, de signature, de LTV et de secteurs réglementés (FDA Part 11, SEC 17a-4), avec un format de rapport unique. Le module Enterprise Compliance est une surface distincte qui délègue à des sidecars externes ; ce module-ci s’exécute en mémoire (in-process).

La validation est conçue comme un ensemble de politiques pures, en lecture seule, et non comme un pipeline de correction-puis-rapport. La méthode CompliancePolicy::validate() de chaque politique prend des octets de PDF et renvoie des constats ; elle ne modifie jamais le document. Ainsi, un rapport favorable n’est jamais un artefact de l’outil « aidant » discrètement l’entrée à passer. Il signifie seulement que le fichier a été vérifié au regard des règles que chaque politique met en œuvre. C’est cette même frontière qui fait que chaque rapport porte une clause de non-responsabilité intégrée, et que la conformité reste une propriété du fichier final associé à un validateur externe, et non une auto-affirmation du producteur. La certification et la suffisance juridique relèvent d’un auditeur ou d’une équipe conformité ; le module se limite donc à rapporter la structure.

Contexte de conception : Une conformité que tu peux remettre à un auditeur.

ClasseResponsabilité
CompliancePoint d’entrée : applique une politique et renvoie un rapport.
PoliciesFabrique d’instances CompliancePolicy prédéfinies.
CompliancePolicyContrat : validate() pure renvoyant des constats.
ComplianceReportConstats regroupés par gravité ; porte la clause de non-responsabilité juridique.
ComplianceFindingUn constat : identifiant de règle, message, référence de norme, remédiation.
SeverityError / Warning / Info.
PdfAPolicyPolitique structurelle de la famille PDF/A-4.
PadesValidatorPolitique structurelle baseline PAdES / eIDAS.
LtvHealthCheckVérification de présence structurelle DSS (ISO 32000-2 §12.8.4.3).
ZugferdValidatorPolitique ZUGFeRD / Factur-X au niveau du PDF.
FdaPart11PolicyPolitique d’attributs structurels FDA 21 CFR Part 11.
Sec17a4WormPolicyPolitique structurelle WORM SEC 17a-4 (rigueur sélectionnable).
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
  • Les avertissements ne font jamais échouer un rapport ; seules les erreurs mettent passes() à false. Un rapport propre signifie toujours « vérifié au regard des règles implémentées », et non « conforme ».
  • LtvHealthCheck confirme la structure DSS, et non la validité cryptographique de la révocation.
  • eidasQualified() vérifie uniquement la structure au niveau du PDF ; la qualification dépend du TSP et du certificat.
  • La famille SEC 17a-4 propose une rigueur sélectionnable (Full / Compatible / Structural / PreSign) ; choisis celle qui correspond à l’étape de ton flux de travail.

Chaque politique s’exécute en mémoire (in-process) sur les octets du PDF fournis ; le coût croît avec la taille du document et le nombre de règles. Compliance enregistre la durée d’exécution dans le rapport.

Les politiques analysent les octets du PDF en mémoire (in-process) et n’effectuent jamais d’appel sortant. Traite les octets de PDF provenant de sources non fiables comme hostiles ; l’architecture purement en lecture seule empêche toute politique d’altérer l’entrée.

Résidence des données & atténuations relatives aux PII

Section intitulée « Résidence des données & atténuations relatives aux PII »

La validation s’effectue en mémoire (in-process) et localement, sans aucune E/S réseau. Les documents signés et les métadonnées de piste d’audit peuvent contenir des données personnelles ; applique tes propres contrôles de conservation et de minimisation aux rapports et aux constats.

Les constats incluent des identifiants de règle, des références de norme et des messages ; certains messages reprennent des noms de signataires ou des chaînes de motif extraites du PDF. Nettoie ou caviarde ces champs avant de transmettre les journaux vers des collecteurs partagés.

ComportementRéférenceÉtat
Conformité déterminée au regard de la norme, et non du producteurISO 19005-4:2020 §5.2Reflété dans la conception (politiques en lecture seule)
Présence structurelle DSS pour la LTVISO 32000-2:2020 §12.8.4.3Vérifié (structure seulement)
Structure baseline PAdESETSI EN 319 142-1 §5.4.3Vérifié (niveau PDF)
Modèle sémantique du profil EN 16931Factur-X 1.08 (EN 16931)Référence d’appui (l’émetteur reste responsable)
FDA 21 CFR Part 11 / SEC 17a-421 CFR Part 11 / 17 CFR 240.17a-4Attributs structurels vérifiés ; non vérifié juridiquement

Ce tableau consigne ce que chaque politique vérifie et les spécifications qui sous-tendent cette politique. Ce n’est pas une déclaration de certification ni de suffisance réglementaire. Les lignes FDA et SEC sont uniquement des vérifications d’attributs structurels ; ces normes sources ne figurent pas dans le corpus de vérification et ne portent aucune revendication de conformité Verified.

Ces politiques ne vérifient ni les signatures numériques du PDF, ni les chaînes de certificats, ni les réponses OCSP/CRL, ni la qualification juridique ; les condensats SHA-256 de piste d’audit qu’elles calculent sont des contrôles d’inviolabilité, et non une vérification de signature. Les modules Signature et Sécurité gèrent la validité cryptographique de la signature, la garde des clés et le comportement en mode FIPS (Federal Information Processing Standards).

L’entrée principale est constituée d’octets de PDF non fiables. Les atténuations comprennent des politiques purement en lecture seule (aucune mutation, aucune correction automatique), aucune E/S réseau et une clause de non-responsabilité juridique explicite sur chaque rapport, afin qu’un résultat favorable ne soit pas pris pour une certification.

  • La méthode validate() de chaque politique est une fonction pure : octets du PDF en entrée, constats en sortie. Elle ne modifie jamais l’entrée ; l’architecture maintient une stricte frontière de lecture seule distincte de tout comportement de correction automatique.
  • Le rapport regroupe les constats par gravité ; passes() renvoie true lorsqu’il n’y a aucune erreur, et les avertissements ne font jamais échouer un rapport.
  • Chaque rapport porte une clause de non-responsabilité juridique intégrée précisant que le résultat est une vérification technique de structure fournie à titre de référence uniquement ; tu dois faire apparaître cette clause dans la sortie présentée aux utilisateurs.
  • La vérification d’intégrité LTV confirme uniquement la présence structurelle DSS ; elle ne vérifie pas cryptographiquement les données OCSP/CRL intégrées.
  • La politique eIDAS-qualifiée valide la structure PAdES au seul niveau du PDF ; la qualification effective dépend du prestataire de services de confiance et du certificat, hors de ce module.

Cette page documente uniquement le comportement observable de l’extérieur et la surface d’API publique prise en charge. Les chemins d’espace de noms internes, les classes utilitaires, les tables de mécanismes, les noms de fichiers de runbook et les préfixes de ticket sont hors périmètre.

NextPDF Core Compliance fournit des validateurs de flux d’octets et un contrôle croisé de grammaire ; un résultat sans aucun constat est un résultat vérifié, pas un certificat. Les politiques prédéfinies d’archivage, de signature, de LTV et de secteurs réglementés, avec un format de rapport unique, n’ont aucun équivalent au palier Core.

NextPDF Pro Compliance valide EN 16931 / Factur-X / ZUGFeRD en mémoire (in-process) au niveau de la facture électronique. Il ne fournit pas les politiques structurelles prédéfinies PDF/A-4, PAdES, LTV, FDA Part 11 ou SEC 17a-4 ; celles-ci sont fournies uniquement dans le paquet nextpdf/enterprise. La surface à sidecars externes Enterprise Compliance est un module distinct.

Le point d’entrée, la fabrique de politiques et le rapport sont décrits au niveau du comportement. Les détails internes des règles propres à chaque politique et tout détail de classification interne sont hors du périmètre de la surface publique. La validité cryptographique de la signature est délibérément hors périmètre ici ; elle est gérée par le volet de vérification Vérification de signature et par les modules Sécurité.

La validation s’exécute en mémoire (in-process) et localement, sans aucune E/S réseau ; une politique ne peut pas altérer l’entrée. L’opérateur traite les octets de PDF provenant de sources non fiables comme hostiles, fait apparaître la clause de non-responsabilité du rapport dans la sortie présentée aux utilisateurs et assume les contrôles de conservation et de minimisation pour les rapports et les constats, qui peuvent contenir des données personnelles issues de documents signés et de métadonnées de piste d’audit.

La prise en charge d’une norme n’est pas la conformité à celle-ci, et la conformité n’est pas la certification ; NextPDF ne détient aucune certification et n’en accorde aucune. Les politiques FDA 21 CFR Part 11 et SEC 17a-4 vérifient uniquement des attributs structurels et n’établissent pas la conformité juridique. Cette documentation n’est pas un avis juridique ; consulte ton équipe de conformité pour la suffisance juridique.