Validation
Validation
Section intitulée « 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.
Installation
Section intitulée « Installation »composer require nextpdf/enterprise:^3Vue d’ensemble conceptuelle
Section intitulée « Vue d’ensemble conceptuelle »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 que « validation » signifie ici
Section intitulée « Ce que « validation » signifie ici »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.
Limite entre éditions
Section intitulée « Limite entre éditions »- NextPDF Core
Compliancefournit 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).
Surface d’API
Section intitulée « Surface d’API »| Classe | Responsabilité |
|---|---|
Compliance | Point d’entrée : applique une politique, renvoie un rapport. |
Policies | Fabrique d’instances CompliancePolicy prédéfinies. |
CompliancePolicy | Contrat : validate() pure renvoyant des constats. |
ComplianceReport | Constats regroupés par gravité ; porte la clause de non-responsabilité juridique. |
ComplianceFinding | Un constat : identifiant de règle, message, référence de norme, remédiation. |
Severity | Error / Warning / Info. |
PdfAPolicy | Politique structurelle de la famille PDF/A-4. |
PadesValidator | Politique baseline PAdES / eIDAS-structurelle. |
LtvHealthCheck | Vérification de présence structurelle DSS (ISO 32000-2 §12.8.4.3). |
ZugferdValidator | Politique ZUGFeRD / Factur-X au niveau du PDF. |
FdaPart11Policy | Politique d’attributs structurels FDA 21 CFR Part 11. |
Sec17a4WormPolicy | Politique structurelle WORM SEC 17a-4 (rigueur sélectionnable). |
Exemple de code — Démarrage rapide
Section intitulée « Exemple de code — Démarrage rapide »use NextPDF\Enterprise\Validation\Compliance;use NextPDF\Enterprise\Validation\Policies;
$report = Compliance::assess($pdfBytes, Policies::pdfA4());$ok = $report->passes(); // no errorsExemple de code — Production
Section intitulée « Exemple de code — Production »$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 outputCas limites & pièges
Section intitulée « Cas limites & pièges »- 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 ». LtvHealthCheckconfirme 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.
Performance
Section intitulée « Performance »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.
Notes de sécurité
Section intitulée « Notes de sécurité »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.
Télémétrie sûre & nettoyage des journaux
Section intitulée « Télémétrie sûre & nettoyage des journaux »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.
Conformité
Section intitulée « Conformité »| Comportement | Référence | État |
|---|---|---|
| Conformité déterminée au regard de la norme, et non du producteur | ISO 19005-4:2020 §5.2 | Reflété dans la conception (politiques en lecture seule) |
| Présence structurelle DSS pour la LTV | ISO 32000-2:2020 §12.8.4.3 | Vérifié (structure seulement) |
| Structure baseline PAdES | ETSI EN 319 142-1 §5.4.3 | Vérifié (niveau PDF) |
| Modèle sémantique du profil EN 16931 | Factur-X 1.08 (EN 16931) | Référence d’appui (l’émetteur reste responsable) |
| FDA 21 CFR Part 11 / SEC 17a-4 | 21 CFR Part 11 / 17 CFR 240.17a-4 | Attributs 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.
Comportement en mode FIPS
Section intitulée « Comportement en mode FIPS »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é.
Modèle de menace
Section intitulée « Modèle de menace »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.
Contexte commercial
Section intitulée « Contexte commercial »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.
Restriction d’édition
Section intitulée « Restriction d’édition »Cette fonctionnalité est disponible dans NextPDF Enterprise. Obtenir une licence.
Indicateur de fonctionnalité de licence
Section intitulée « Indicateur de fonctionnalité de 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.
Contrat de comportement
Section intitulée « Contrat de comportement »- 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.
État de l’analyse NDA
Section intitulée « État de l’analyse NDA »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.
Repli Core
Section intitulée « Repli Core »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.
Repli Pro
Section intitulée « Repli Pro »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.
Note sur la limite Enterprise
Section intitulée « Note sur la limite Enterprise »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é.
Limite de déploiement
Section intitulée « Limite de déploiement »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.
Limite juridique et de conformité
Section intitulée « Limite juridique et de conformité »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.
Voir aussi
Section intitulée « Voir aussi »- 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).