Aller au contenu

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é LTV, ZUGFeRD, FDA 21 CFR Part 11, SEC 17a-4 — et renvoie un rapport structuré. Le rapport est le résultat technique d’une vérification structurelle. Ce n’est ni un avis juridique, ni une attestation de conformité, ni une certification.

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

Compliance est le point d’entrée. Compliance::assess($pdfBytes, $policy) (ou une instance injectable avec run()) applique une CompliancePolicy aux octets du PDF et renvoie un ComplianceReport. La politique est l’unité de travail ; le rapport est le résultat structuré.

Policies est une fabrique de politiques prédéfinies : pdfA4(), pdfA4e(), pdfA4f(), padesBaseline(), eidasQualified(), ltvHealth(), zugferd($profile), fdaPart11(), et la famille SEC 17a-4 (sec17a4(), sec17a4Compatible(), sec17a4Structural(), sec17a4PreSign()). Chacune renvoie une CompliancePolicy dont la méthode validate() est une fonction pure : octets du PDF en entrée, constats en sortie. L’architecture maintient une stricte frontière de lecture seule — une politique ne modifie jamais les octets du PDF, ce qui distingue la validation de tout comportement de correction automatique.

ComplianceReport regroupe les constats par Severity (Error, Warning, Info). passes() vaut true lorsqu’il n’y a aucune erreur ; les avertissements ne font pas échouer un rapport. Le rapport porte une clause de non-responsabilité juridique intégrée (getDisclaimer()) indiquant 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é. Cette clause de non-responsabilité doit obligatoirement apparaître dans la sortie présentée aux utilisateurs.

Une autre 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/CRL 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 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 une suffisance réglementaire.

  • La conformité est une propriété du fichier final tel qu’évalué par un validateur, et non une propriété de cette bibliothèque. ISO 19005-4:2020 §5.2 détermine la conformité au regard des exigences normatives de la norme, par un outil de vérification, et non par le logiciel producteur.
  • Un rapport sans erreur 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 les réglementations impliquent (présence de signature, intention de signature, marqueurs de piste d’audit, contraintes WORM). 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 rapport unifié. 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).
ClasseResponsabilité
CompliancePoint d’entrée : applique une politique, 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 baseline PAdES / eIDAS-structurelle.
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 sans erreur signifie tout de même « vérifié au regard des règles implémentées », pas « 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 expose 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 au regard desquelles elle est construite. 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 n’effectuent ni signature ni vérification cryptographiques. La validité cryptographique de la signature, la garde des clés et le comportement en mode FIPS sont gérés par les modules Signature et Sécurité.

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

NextPDF Enterprise ajoute des politiques prédéfinies d’archivage, de signature, de LTV et de secteurs réglementés avec un rapport unifié. Comparer les éditions.

Cette fonctionnalité est disponible dans NextPDF Enterprise. Obtenir une licence.

Le palier enterprise restreint cette surface. Installe le paquet Enterprise à côté du paquet Core ; la fabrique de politiques et le point d’entrée de conformité se résolvent à l’exécution via le contrat Core, de sorte que le code appelant ne change pas lorsque tu changes d’édition.

  • La méthode validate() de chaque politique est une fonction pure — octets du PDF en entrée, constats en sortie — et 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() vaut 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 indiquant que le résultat est une vérification technique de structure fournie à titre de référence uniquement ; cette clause de non-responsabilité doit obligatoirement apparaître 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 publique décrit uniquement le comportement observable de l’extérieur. Elle ne contient aucun chemin d’espace de noms interne au-delà des noms de classes publiques prises en charge déjà énumérés, aucun nom de trait interne, aucun nom de fichier de runbook ni aucun préfixe de ticket interne. Les détails internes propres à chaque politique demeurent dans la référence restreinte sous NDA.

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 rapport unifié 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 séparé et 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, affiche 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.

Cette page est marquée export_control_class: legal-review-required ; une approbation juridique est requise avant que l’indicateur publish ne soit activé. 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.

  • Compliance — sidecars de validateurs externes (surface distincte).
  • Evidence — paquets de rapports scellés et horodatés.
  • Core Compliance — validateurs de flux d’octets en mémoire (in-process).
  • Vérification de signature — volet de vérification cryptographique CMS / horodatage / chaîne d’archivage (distinct de cette surface structurelle).
  • Spécifications : PDF/A-4 — norme référencée.
  • Validation — Référence approfondie (restreinte).