Enterprise édition
Preuves
En un coup d’œil
Section intitulée « En un coup d’œil »NextPDF Enterprise assemble les constats de validation par document en un paquet scellé et immuable doté d’une forme JSON déterministe et d’une empreinte SHA-256 stable, portant optionnellement un jeton d’horodatage RFC 3161. La capture de preuves prend en charge les flux de travail d’audit. Ce n’est ni une attestation juridique, ni une certification d’audit, ni une preuve qu’un document est conforme.
Disponibilité & licence
Section intitulée « Disponibilité & licence »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 ce droit d’usage ne charge pas les classes de la capacité. Comparer les éditions et obtenir une licence.
Installation
Section intitulée « Installation »composer require nextpdf/enterprise:^3Vue d’ensemble conceptuelle
Section intitulée « Vue d’ensemble conceptuelle »EvidencePortal est le point d’entrée. generateEvidence($documentHash, $records, $tsaTimestamp) assemble une liste d’instances EvidenceRecord en un EvidencePackage, calcule les statistiques de réussite/échec, persiste le paquet via une EvidenceStoreInterface et renvoie le paquet scellé. Un EvidenceRecord capture une vérification de politique : nom de la politique, indicateur de réussite, détails, la version du validateur qui l’a produit, et un horodatage.
EvidencePackage est immuable une fois construit. Il porte un identifiant de paquet, la SHA-256 du document validé, les enregistrements, les comptes agrégés, une heure de génération et un jeton d’horodatage RFC 3161 optionnel. allPassed() et passRate() le résument. Son immuabilité rend un paquet adapté au stockage écrire-une-fois-lire-plusieurs (WORM).
EvidenceExporter sérialise un paquet en une chaîne JSON déterministe — ordre de clés fixe, reproductible — afin que exportHash() renvoie une empreinte SHA-256 stable de 64 caractères pour la vérification d’intégrité. Le même paquet produit toujours la même empreinte, indépendamment du moment et du lieu où elle est calculée.
ContinuousMonitor revalide un document et compare la preuve courante à la preuve antérieure stockée par nom de politique en échec, catégorisant les problèmes comme nouveaux, résolus ou inchangés, et exposant une vérification de calendrier (isDue() / MonitorSchedule / MonitorFrequency). Cela prend en charge la détection de dérive dans le temps ; il rapporte ce qui a changé, il n’affirme aucun statut juridique à quelque moment que ce soit.
Ce que « evidence » signifie ici
Section intitulée « Ce que « evidence » signifie ici »Ce module empaquette et horodate les constats de validation pour les flux de travail d’audit. Il ne certifie rien.
- Un jeton d’horodatage RFC 3161 lie la donnée du paquet à une valeur temporelle : il fournit la preuve que les données existaient avant ce moment. Ce n’est pas une attestation juridique, et il n’affirme pas que le contenu horodaté est conforme ou valide.
- Un paquet scellé avec
allPassed() === trueenregistre que les vérifications incluses ont réussi au regard des règles qu’elles mettent en œuvre. Ce n’est pas une certification d’audit. - L’empreinte déterministe prouve l’intégrité des octets du paquet. Elle ne prouve pas la suffisance réglementaire du document.
La capture de preuves prend en charge les flux de travail d’audit ; ce n’est ni une attestation juridique, ni une certification d’audit. La validité et la conformité restent des propriétés du fichier final plus un validateur.
Frontière entre paliers
Section intitulée « Frontière entre paliers »L’empaquetage de preuves est une surface réservée à Enterprise. Le Core et Pro produisent des constats et des rapports ; Enterprise Evidence scelle ces constats en un paquet immuable, déterministe, optionnellement horodaté, et suit les régressions. Il dépend de constats produits ailleurs (les surfaces Validation ou Compliance) ; il n’effectue pas lui-même de vérifications de conformité.
Pourquoi cela fonctionne ainsi
Section intitulée « Pourquoi cela fonctionne ainsi »Une preuve n’est utile que si elle ne peut pas être discrètement réécrite après coup ; c’est pourquoi EvidencePackage est une valeur readonly scellée sans mutateur — sûre pour le stockage écrire-une-fois-lire-plusieurs. La sortie toJson() de l’exporteur suit un ordre d’insertion de clés fixe, et non un tri à l’exécution, de sorte que le même paquet se sérialise toujours en octets identiques. Cette stabilité des octets permet à un exportHash() stocké de vérifier l’intégrité plus tard : toute modification du paquet change l’empreinte. Le jeton RFC 3161 est conservé comme preuve intégrée du temps, jamais comme un verdict, de sorte qu’un paquet prouve quand une vérification a été exécutée sans affirmer que le document est conforme. Le suivi des régressions compare ensuite par nom de politique en échec au paquet antérieur, de sorte que la détection de dérive reste indépendante de l’ordre ou du nombre des vérifications.
Contexte de conception : Une conformité que tu peux remettre à un auditeur.
Surface d’API
Section intitulée « Surface d’API »| Classe | Responsabilité |
|---|---|
EvidencePortal | Assemble, persiste et récupère les paquets de preuves. |
EvidencePackage | Lot scellé immuable d’enregistrements avec statistiques agrégées. |
EvidenceRecord | Un résultat de vérification de politique avec version du validateur et horodatage. |
EvidenceExporter | Sérialisation JSON déterministe ; empreinte SHA-256 stable. |
EvidenceStoreInterface | Contrat de persistance. |
InMemoryEvidenceStore | Implémentation de référence de magasin en mémoire. |
ContinuousMonitor | Revalide et compare à la preuve antérieure. |
MonitorResult | Catégorisation des problèmes nouveaux / résolus / inchangés. |
MonitorSchedule / MonitorFrequency | Interrogation fondée sur un calendrier. |
Exemple de code — Démarrage rapide
Section intitulée « Exemple de code — Démarrage rapide »$package = $portal->generateEvidence($documentHash, $records);$digest = $exporter->exportHash($package); // 64-char SHA-256Exemple de code — Production
Section intitulée « Exemple de code — Production »$package = $portal->generateEvidence($documentHash, $records, $tsaToken);$logger->info('evidence.sealed', [ 'package' => $package->packageId, 'digest' => $exporter->exportHash($package), 'pass_rate' => $package->passRate(),]);
$delta = $monitor->check($package, $documentHash);if ($delta->newIssues !== []) { $logger->warning('evidence.regression', ['count' => count($delta->newIssues)]);}// The package is audit-supporting evidence, not an attestation of compliance.Cas limites & pièges
Section intitulée « Cas limites & pièges »passRate()renvoie 0.0 lorsqu’il n’y a aucun constat ; un paquet vide n’est pas une réussite.- L’export n’est déterministe qu’à travers
EvidenceExporter; calculer l’empreinte de sérialisations arbitraires rompt la garantie d’empreinte stable. - Un paquet sans jeton TSA est tout de même une preuve valide ; le jeton ajoute une liaison temporelle, et non un verdict.
Performance
Section intitulée « Performance »L’empaquetage et la sérialisation déterministe évoluent linéairement avec le nombre d’enregistrements. Le calcul de l’empreinte est un unique passage SHA-256 sur le JSON sérialisé.
Notes de sécurité
Section intitulée « Notes de sécurité »L’empreinte du paquet fournit une résistance à l’altération pour les octets du paquet. Le jeton RFC 3161 optionnel doit provenir d’une TSA de confiance ; ce module intègre le jeton, il ne se porte pas garant de la TSA. Considère les détails des enregistrements comme potentiellement sensibles (voir ci-dessous).
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 »Les enregistrements de preuves et les empreintes de documents peuvent référencer du contenu réglementé. L’empaquetage est en mémoire (in-process) ; la persistance est déléguée à ton implémentation d’EvidenceStoreInterface, de sorte que la résidence suit ton magasin. Applique des contrôles de conservation et de minimisation aux paquets stockés.
Télémétrie sûre & nettoyage des journaux
Section intitulée « Télémétrie sûre & nettoyage des journaux »Les métadonnées de paquet (identifiants, empreintes, comptes) peuvent être journalisées en toute sécurité. Les détails des enregistrements peuvent reprendre des messages de constats contenant des chaînes extraites du document ; caviarde-les avant de les transmettre vers des collecteurs partagés.
Conformité
Section intitulée « Conformité »| Comportement | Référence | État |
|---|---|---|
| Le jeton d’horodatage lie une donnée à un instant | IETF RFC 3161 §2 | Jeton intégré (fourni par la TSA) |
| Contexte DSS / validation à long terme | ISO 32000-2:2020 §12.8 | Référencé (consommé, non produit ici) |
Ce tableau consigne les spécifications au regard desquelles ce module est construit. Un jeton d’horodatage est une preuve de temps, et non une certification ni une attestation juridique.
Comportement en mode FIPS
Section intitulée « Comportement en mode FIPS »Ce module calcule la SHA-256 sur les octets du paquet et intègre un jeton RFC 3161 fourni par l’appelant. Il n’effectue aucune signature et aucune garde de clés ; les opérations cryptographiques et le comportement en mode FIPS sont gérés par les modules Sécurité et Signature.
Modèle de menace
Section intitulée « Modèle de menace »Les entrées sont des constats et un jeton TSA optionnel. Mesures d’atténuation : paquets immuables, sérialisation déterministe avec une empreinte d’intégrité stable, et persistance déléguée afin que le magasin applique le WORM et le contrôle d’accès.
Contrat de comportement
Section intitulée « Contrat de comportement »- Le portail assemble les constats en un paquet immuable et scellé avec un identifiant de paquet, la SHA-256 du document validé, les enregistrements, les comptes agrégés, l’heure de génération et un jeton d’horodatage RFC 3161 optionnel.
- L’exporteur sérialise un paquet en une chaîne JSON déterministe avec un ordre de clés fixe afin que l’empreinte soit une SHA-256 stable de 64 caractères, identique quel que soit le moment ou le lieu de calcul.
- Le moniteur continu revalide et compare la preuve courante à la preuve antérieure stockée par nom de politique en échec, catégorisant les problèmes comme nouveaux, résolus ou inchangés.
passRate()renvoie 0.0 lorsqu’il n’y a aucun constat — un paquet vide n’est pas une réussite ; un paquet sans jeton TSA est tout de même une preuve valide.- Un jeton d’horodatage est la preuve que les données existaient avant un moment ; ce n’est pas une attestation juridique et il ne formule aucune revendication sur la conformité ou la validité du contenu.
Frontière de publication
Section intitulée « Frontière de publication »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.
Repli sur le Core
Section intitulée « Repli sur le Core »Le Core et Pro produisent des constats et des rapports ; sceller ces constats en un paquet immuable, déterministe, optionnellement horodaté avec suivi des régressions n’a aucun équivalent au palier Core. La surface Enterprise dépend de constats produits ailleurs ; elle n’effectue pas elle-même de vérifications de conformité.
Repli sur Pro
Section intitulée « Repli sur Pro »Repli sur Pro — aucun ; cette capacité n’a aucun équivalent au palier Pro. Le paquet de preuves scellé, l’exporteur déterministe et le moniteur continu sont livrés uniquement dans le paquet nextpdf/enterprise ; la surface consomme les constats des surfaces Validation ou Compliance.
Note sur la frontière Enterprise
Section intitulée « Note sur la frontière Enterprise »Le portail, le paquet, l’exporteur et le moniteur sont décrits au niveau du comportement. Le magasin de référence en mémoire est documenté ; la persistance durable est fournie par l’hôte, et tout détail interne du magasin est hors du périmètre de la surface publique. Ce module intègre un jeton TSA fourni par l’appelant ; il ne se porte pas garant de la TSA.
Frontière de déploiement
Section intitulée « Frontière de déploiement »L’empaquetage et la sérialisation sont en mémoire (in-process). L’opérateur fournit une implémentation de magasin durable, est responsable de l’application du WORM et du contrôle d’accès, et fournit un jeton TSA issu d’une TSA de confiance. Les enregistrements de preuves et les empreintes de documents peuvent référencer du contenu réglementé ; la résidence suit le magasin de l’opérateur, et les contrôles de conservation et de minimisation relèvent de la responsabilité de l’opérateur.
Frontière de conformité légale
Section intitulée « Frontière de conformité légale »La capture de preuves prend en charge les flux de travail d’audit ; ce n’est ni une attestation juridique, ni une certification d’audit, et la validité et la conformité restent des propriétés du fichier final plus un validateur. Cette documentation n’est pas un avis juridique ; consulte tes propres conseillers conformité et juridiques.
Voir aussi
Section intitulée « Voir aussi »- Validation — produit les constats empaquetés ici.
- Compliance — résultats de validateurs externes.
- Piste d’audit AST — historique de mutations en ajout seul.
- Spécifications : PAdES — contexte de validation à long terme.
- Preuves — Référence approfondie — référence d’API complète au niveau des classes.