Aller au contenu
getnextpdf.com

Enterprise édition

Conformité

NextPDF Enterprise achemine un PDF finalisé vers un outil de validation externe — veraPDF, EU DSS ou Mustang/KoSIT — et renvoie un résultat unifié et structuré. Le résultat enregistre ce que l’outil externe a vérifié. Ce n’est ni un certificat, ni un avis juridique, ni une garantie que le document satisfait une quelconque réglementation.

Cette capacité est livrée dans NextPDF Enterprise (nextpdf/enterprise) et s’active avec une enveloppe de licence de palier Enterprise. Un déploiement sans cette autorisation ne charge pas les classes de la capacité. Compare les éditions et obtiens une licence.

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

Ce module est une passerelle, et non un validateur. Le verdict d’attestation de conformité provient d’un outil externe. La passerelle sélectionne le bon outil, lui délègue et normalise la réponse.

ComplianceGateway accepte un ComplianceProfile et les octets du PDF. Elle résout quel ExternalValidator enregistré gère ce profil, vérifie que le sidecar est joignable, délègue la vérification et renvoie un ExternalValidationResult. ComplianceProfile énumère les cibles prises en charge : PDF/A-1b/2b/3b/4/4f, PDF/UA-1/2, le modèle structurel Arlington de PDF 2.0, PAdES B-B/B-T/B-LT/B-LTA, ZUGFeRD 2.4 / Factur-X 1.08 et EN 16931. Chaque cas correspond à une référence normative et à un outil externe.

ExternalValidator est le contrat que chaque pont vers un sidecar implémente : VeraPdfValidator (veraPDF REST), DssValidator (EU DSS REST) et ZugferdExternalValidator (Mustang/KoSIT). Chacun dialogue avec son sidecar via un client HTTP PSR-18 et traduit la réponse propre à l’outil en un ExternalValidationResult.

Une politique d’échec sûr (fail-closed) régit l’absence de sidecar. Par défaut, un sidecar indisponible lève ComplianceSidecarUnavailableException : un validateur manquant est une incapacité à vérifier, et non une réussite. Un mode optionnel explicite dégrade cette condition en un avertissement journalisé et un résultat null, de sorte que les appelants peuvent détecter « non vérifié » et décider par eux-mêmes. AiReadyCertifier est une couture distincte : elle évalue trois critères de préparation et appose un bloc de provenance XMP nextpdf:. Son niveau « certifié » est une étiquette de préparation interne à NextPDF. Ce n’est pas une certification de normes et elle n’accorde aucun statut réglementaire.

Ce module délègue une vérification et rapporte le résultat. Il n’affirme pas qu’un document est juridiquement conforme, certifié ou juridiquement contraignant.

  • L’attestation de conformité est une propriété du fichier final plus un validateur, et non une propriété de cette bibliothèque. ISO 19005-4:2020 §5.2 place l’obligation sur un processeur conforme et détermine l’attestation de conformité au regard des exigences normatives de la norme — par un outil de vérification, et non par le logiciel producteur.
  • Un résultat sans non-conformité est un résultat vérifié au regard des clauses que l’outil externe met en œuvre. Ce n’est pas un certificat global.
  • Un sidecar indisponible signifie non vérifié. Cela ne signifie jamais réussi.

La prise en charge d’un profil n’est pas la conformité à celui-ci, et la conformité n’est pas la certification. NextPDF ne détient aucune certification et n’en accorde aucune. Consulte ton équipe conformité pour juger de la suffisance réglementaire.

Lis les éditions avec précision. Elles font des choses différentes.

  • NextPDF Core Conformance / Compliance exécute en mémoire (in-process) des vérifications de flux d’octets et de grammaire et porte le discriminateur de mode de conformité. Le Core émet les structures qu’une norme définit. Il ne certifie pas le résultat.
  • NextPDF Pro Compliance (EInvoiceValidator) valide EN 16931 / Factur-X / ZUGFeRD en mémoire (in-process), sans aucun sidecar externe.
  • NextPDF Enterprise Compliance (cette page) délègue à des sidecars de validateurs externes (veraPDF, EU DSS, Mustang/KoSIT) et normalise le résultat avec une politique d’échec sûr.

Le validateur de facture électronique en mémoire (in-process) de Pro et le sidecar ZUGFeRD externe d’Enterprise sont des surfaces distinctes. Ne les confonds pas.

L’attestation de conformité est une propriété du fichier finalisé mesurée par un outil de vérification, et non de la bibliothèque productrice. La passerelle délègue donc le verdict à des outils externes faisant autorité et se contente de résoudre, déléguer et normaliser. Auto-affirmer la conformité en mémoire (in-process) confondrait « construit au regard de la norme » avec « confirmé de manière indépendante », ce que les normes interdisent. Le défaut d’échec sûr en découle : un sidecar injoignable est une incapacité à vérifier, il lève donc plutôt que de réussir. Cela empêche une vérification manquante de se faire passer pour une conformité, et maintient NextPDF honnête sur le fait qu’il ne détient aucune certification.

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

ClasseResponsabilité
ComplianceGatewayRésout l’outil pour un profil ; délègue ; applique la politique d’échec sûr.
ComplianceProfileEnum des profils pris en charge, chacun avec une référence de norme et un outil.
ExternalValidatorContrat pour un pont vers un sidecar externe.
ExternalValidationResultRésultat unifié : profil, outil, indicateur de conformité, non-conformités.
NonConformanceUn constat de non-conformité issu de l’outil externe.
VeraPdfValidatorPont veraPDF REST (PDF/A, PDF/UA, Arlington).
DssValidatorPont EU DSS REST (niveaux PAdES).
ZugferdExternalValidatorPont Mustang/KoSIT (ZUGFeRD / Factur-X / EN 16931).
AiReadyCertifierÉvaluation de préparation plus une apposition de provenance 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.
  • Un sidecar indisponible lève ComplianceSidecarUnavailableException par défaut ; le mode optionnel renvoie null. Dans les deux cas, le document n’a pas été vérifié.
  • Un profil sans validateur enregistré lève une erreur d’argument plutôt que de réussir silencieusement.
  • buildComplianceMatrix() enregistre les versions des outils et une SHA de commit pour la traçabilité ; la matrice rapporte la sortie de l’outil, elle ne la certifie pas.

Le coût est dominé par l’aller-retour vers le sidecar externe et par la taille du document qui lui est envoyée. La résolution de la passerelle et la normalisation du résultat sont constantes par appel.

Les octets du PDF sont envoyés à un sidecar via un client PSR-18. VeraPdfValidator analyse uniquement les réponses JSON (pas de XML, sans XXE). Considère les points de terminaison de sidecar comme une frontière de confiance : épingle le sidecar, restreins sa portée réseau et valide son TLS.

Résidence des données & mesures d’atténuation des PII

Section intitulée « Résidence des données & mesures d’atténuation des PII »

L’intégralité du flux d’octets du PDF est transmise au sidecar configuré. Si les documents portent des données personnelles ou réglementées, héberge le sidecar en région sous tes propres contrôles. La passerelle n’effectue aucun autre appel sortant. Applique des contrôles de conservation et de minimisation aux résultats et aux journaux.

Les journaux de la passerelle incluent les noms de profil, les noms d’outils, les nombres d’assertions et les nombres de non-conformités. Ils n’incluent pas le contenu du document. Masque les champs de profil ou de nom de fichier avant de transmettre les journaux si ces valeurs sont sensibles.

ComportementRéférenceÉtat
Conformité déterminée par un outil de vérification, et non par le producteurISO 19005-4:2020 §5.2Reflété dans la conception (passerelle en échec sûr)
Exigences de fichier PDF/A-4ISO 19005-4:2020 §6.6.4Délégué à veraPDF
Conformité PDF/UA-2 (propriété du fichier)ISO 14289-2:2024 §6Délégué à veraPDF
Niveaux de base PAdESETSI EN 319 142-1 §5.4.3Délégué à EU DSS

Ce tableau consigne les spécifications au regard desquelles NextPDF est construit et ce que les outils externes vérifient. Ce n’est pas une déclaration de certification ni de suffisance réglementaire.

Ce module n’effectue aucune signature cryptographique. L’attestation de conformité de signature est déléguée à EU DSS ; la garde des clés et la signature en mode FIPS sont hors de son périmètre (voir les modules Signature et Sécurité).

Les entrées principales sont des octets de PDF non fiables et une réponse de sidecar. Mesures d’atténuation : analyse des réponses en JSON uniquement dans VeraPdfValidator, une frontière de confiance de sidecar épinglée, et une politique d’échec sûr afin qu’un validateur injoignable ne se résolve jamais en une réussite.

  • Ce module est une passerelle, et non un validateur : le verdict d’attestation de conformité provient d’un outil externe (veraPDF, EU DSS ou Mustang/KoSIT) et la passerelle sélectionne l’outil, délègue et normalise la réponse.
  • Un résultat sans non-conformité est un résultat vérifié au regard des clauses que l’outil externe met en œuvre — et non un certificat global.
  • Un sidecar indisponible est en échec sûr : il lève une exception par défaut, ou en mode optionnel explicite renvoie un résultat null ; dans les deux cas, le document n’a pas été vérifié, jamais réussi.
  • Un profil sans validateur enregistré lève une erreur d’argument plutôt que de réussir silencieusement.
  • Le niveau « certifié » de AiReadyCertifier est une étiquette de préparation interne à NextPDF, et non une certification de normes, et elle n’accorde aucun statut réglementaire.

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 tableaux de mécanismes, les noms de fichiers de runbook et les préfixes de ticket sont hors périmètre.

NextPDF Core Conformance / Compliance exécute en mémoire (in-process) des vérifications de flux d’octets et de grammaire et porte le discriminateur de mode de conformité ; il émet les structures qu’une norme définit mais ne certifie pas le résultat et ne délègue pas à un sidecar externe. La passerelle de validateurs externes n’a aucun équivalent au palier Core.

NextPDF Pro Compliance valide EN 16931 / Factur-X / ZUGFeRD en mémoire (in-process) sans aucun sidecar externe. Le validateur de facture électronique en mémoire (in-process) de Pro et le sidecar ZUGFeRD externe d’Enterprise sont des surfaces distinctes ; la passerelle de validateurs externes est livrée uniquement dans le paquet nextpdf/enterprise. Ne les confonds pas.

La passerelle, la résolution profil-vers-outil et la normalisation du résultat sont décrites au niveau du comportement. Les détails internes de chaque pont vers un sidecar, la traduction de réponse propre à l’outil et tout détail interne d’orchestration sont hors du périmètre de la surface publique.

L’intégralité du flux d’octets du PDF est transmise au sidecar configuré. L’opérateur héberge et exploite les sidecars, les épingle, restreint leur portée réseau et valide leur TLS — les points de terminaison de sidecar sont une frontière de confiance. Si les documents portent des données personnelles ou réglementées, héberge le sidecar en région sous tes propres contrôles et applique des contrôles de conservation et de minimisation aux résultats et aux journaux.

La prise en charge d’un profil n’est pas la conformité à celui-ci, et la conformité n’est pas la certification — NextPDF ne détient aucune certification et n’en accorde aucune. Cette documentation n’est pas un avis juridique ; consulte ton équipe conformité pour juger de la suffisance réglementaire.