Aller au contenu
getnextpdf.com

Enterprise édition

Piste d'audit AST

NextPDF Enterprise enregistre chaque mutation d’AST sous forme de piste d’audit par document en ajout seul, et produit des fragments d’un AST délimités sémantiquement et ancrés sur des citations pour les pipelines en aval. La piste prend en charge les flux de travail d’audit et de traçabilité. Ce n’est ni une attestation juridique, ni une certification de l’intégrité du document.

Cette capacité est livrée 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

AstAuditTrailInterface est le contrat d’enregistrement. record($documentSourceHash, $log) convertit chaque entrée d’un MutationLog d’AST Pro en un AstAuditEntry et l’ajoute ; des appels répétés avec la même empreinte de document accumulent les entrées. L’implémentation est en ajout seul par contrat : une fois enregistrée, une entrée ne peut être ni modifiée ni supprimée. findByDocument($hash) renvoie les entrées d’un document dans l’ordre d’insertion ; count() renvoie le total sur tous les documents. InMemoryAstAuditTrail est l’implémentation de référence.

AstAuditEntry est un enregistrement immuable d’une mutation : l’empreinte source du document, l’identifiant canonique du nœud, le type de mutation (updated / inserted / deleted), l’index de page basé sur 0, les instantanés d’attributs avant/après, et l’heure UTC à laquelle l’entrée a été enregistrée. La récupération est délimitée par empreinte de document, de sorte que l’historique d’audit reste isolé par document.

AstAwareChunker parcourt un AST en profondeur d’abord et émet des instances AstChunk qui respectent la structure du document : les titres commencent un nouveau fragment, le texte des feuilles s’accumule jusqu’à une taille configurée, et une fenêtre de chevauchement préserve la continuité aux frontières de découpe. Chaque fragment porte l’identifiant de nœud, l’index de page, la boîte englobante et le type de nœud de son premier nœud contributeur, de sorte que les systèmes en aval peuvent citer une localisation source précise.

Ce module enregistre l’historique des mutations et produit des fragments structurés. Il ne certifie pas l’intégrité et ne fournit pas d’attestation juridique.

  • La piste d’audit est en ajout seul par contrat au sein du magasin configuré. La résistance à l’altération et la non-répudiation sont des propriétés de l’endroit et de la manière dont tu la persistes et l’horodates (voir Evidence), et non une garantie que ce module formule par lui-même.
  • Enregistrer une mutation documente qu’elle a eu lieu. Cela ne valide ni n’autorise le changement.
  • Les citations des fragments pointent vers des localisations sources ; ce sont des aides à la navigation, et non des revendications de conformité.

Une piste d’audit prend en charge les flux de travail d’audit ; ce n’est ni une attestation juridique, ni une certification d’audit.

  • NextPDF Core / Pro AST fournissent le modèle d’AST et le journal de mutations.
  • NextPDF Enterprise AST (cette page) ajoute la piste d’audit par document en ajout seul sur ces mutations ainsi que le découpeur ancré sur des citations. Il consomme le journal de mutations Pro ; il ne remplace pas le modèle d’AST.

La décision porteuse est la retenue de périmètre. Ce module enregistre qu’une mutation a eu lieu ; la durabilité, la résistance à l’altération et la non-répudiation sont déléguées au magasin sous-jacent et au module Evidence. Cela garde la promesse honnête : une aide à la tenue de registres pour les auditeurs, et non une certification que le module ne peut étayer seul. La récupération est indexée par documentSourceHash, de sorte que l’historique d’un document ne déborde jamais sur celui d’un autre. Le découpeur ancre chaque fragment sur son premier nœud et valide maxChunkChars et overlapChars en amont, de sorte que les citations restent précises. La persistance et la résidence restent aux mains de l’opérateur, de sorte que la même surface sert aussi bien les magasins de preuves adossés à WORM que les pipelines plus légers.

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

Classe / InterfaceResponsabilité
AstAuditTrailInterfaceContrat d’enregistrement en ajout seul et de récupération par document.
AstAuditEntryEnregistrement immuable d’une mutation avec instantanés avant/après.
InMemoryAstAuditTrailImplémentation de référence de piste en ajout seul.
AstAwareChunkerDécoupeur d’AST respectueux de la structure et ancré sur des citations.
AstChunkUn fragment avec identifiant de nœud, index de page, bbox et type de nœud.
$trail->record($documentSourceHash, $mutationLog);
$entries = $trail->findByDocument($documentSourceHash);
$trail->record($documentSourceHash, $mutationLog);
foreach ($trail->findByDocument($documentSourceHash) as $entry) {
$logger->info('ast.audit', [
'node' => $entry->nodeId,
'type' => $entry->mutationType,
'page' => $entry->pageIndex,
'recorded' => $entry->occurredAt->format(DATE_RFC3339),
]);
}
// Persist the trail in a WORM-backed store for tamper-evidence (see Evidence).
  • Enregistrer deux fois le même MutationLog accumule les entrées ; déduplique en amont si tu as besoin d’idempotence.
  • La piste en mémoire n’est pas durable ; les déploiements de production fournissent une AstAuditTrailInterface persistante.
  • L’ajout seul est un contrat du magasin, et non une propriété cryptographique ; associe-le à l’empaquetage Evidence pour la résistance à l’altération.

L’enregistrement est linéaire en nombre d’entrées de mutation. Le découpage est un parcours unique de l’AST en profondeur d’abord ; le coût évolue avec le nombre de nœuds et la taille de fragment configurée.

Les instantanés avant/après peuvent contenir du texte de document. Considère la piste comme sensible au repos. Le contrat en ajout seul empêche les modifications sur place via cette API, mais la durabilité et la résistance à l’altération dépendent du magasin sous-jacent.

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 instantanés de mutation peuvent porter des données personnelles extraites de documents. La persistance est déléguée à ton implémentation de piste, de sorte que la résidence suit ton magasin. Applique des contrôles de conservation et de minimisation aux instantanés enregistrés.

Les identifiants de nœud, les types de mutation, les index de page et les horodatages peuvent être journalisés en toute sécurité. Les instantanés avant/après peuvent contenir du contenu de document ; caviarde-les avant de les transmettre vers des collecteurs partagés.

ComportementRéférenceÉtat
Contexte de mise à jour incrémentale / intégritéISO 32000-2:2020 §12.8Référencé (contexte pour la résistance à l’altération)

Ce tableau consigne le contexte de spécification dans lequel ce module opère. La piste d’audit est une aide à la tenue de registres, et non une certification ni une attestation juridique.

Ce module n’effectue aucune opération cryptographique. L’empreinte, la signature et l’horodatage pour la résistance à l’altération sont gérés par les modules Evidence, Sécurité et Signature.

L’entrée est un journal de mutations. Mesures d’atténuation : contrat d’enregistrement en ajout seul, délimitation par document pour isoler les historiques, et délégation de la durabilité et de la résistance à l’altération à un magasin compatible WORM et au module Evidence.

  • La piste d’audit est en ajout seul par contrat au sein du magasin configuré : une fois enregistrée, une entrée ne peut être ni modifiée ni supprimée via cette API.
  • Chaque entrée est un enregistrement immuable d’une mutation (empreinte source du document, identifiant canonique du nœud, type de mutation, index de page, instantanés avant/après, heure UTC enregistrée) ; la récupération est délimitée par empreinte de document.
  • Enregistrer deux fois le même journal de mutations accumule les entrées — déduplique en amont si l’idempotence est requise.
  • Le découpeur parcourt l’AST en profondeur d’abord et émet des fragments respectueux de la structure portant l’identifiant de nœud, l’index de page, la boîte englobante et le type de nœud pour une citation source précise.
  • Enregistrer une mutation documente qu’elle a eu lieu ; cela ne valide ni n’autorise le changement, et les citations des fragments sont des aides à la navigation, et non des revendications de conformité.

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 / Pro AST fournissent le modèle d’AST et le journal de mutations. La piste d’audit par document en ajout seul et le découpeur ancré sur des citations n’ont aucun équivalent au palier Core ; la surface Enterprise consomme le journal de mutations, elle ne remplace pas le modèle d’AST.

NextPDF Pro AST fournit le modèle d’AST et le journal de mutations mais aucune piste d’audit par document en ajout seul et aucun découpeur ancré sur des citations. Ceux-ci sont livrés uniquement dans le paquet nextpdf/enterprise ; la surface Enterprise consomme le journal de mutations Pro.

Le contrat d’enregistrement, la récupération par document et le découpeur sont décrits au niveau du comportement. La piste de référence en mémoire est documentée ; 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.

L’ajout seul est un contrat du magasin, et non une propriété cryptographique. L’opérateur fournit une implémentation de piste durable et est responsable de la persister dans un magasin compatible WORM pour la résistance à l’altération ; la durabilité et la non-répudiation dépendent de ce magasin et du module Evidence, et non de ce module seul. Les instantanés de mutation peuvent porter des données personnelles ; la résidence suit le magasin de l’opérateur.

Aucune restriction de contrôle des exportations ne s’applique à la surface de piste d’audit AST. Une piste d’audit prend en charge les flux de travail d’audit ; ce n’est ni une attestation juridique, ni une certification d’audit. Cette documentation n’est pas un avis juridique ; consulte tes propres conseillers conformité et juridiques.