Salta ai contenuti
getnextpdf.com

Enterprise edizione

Convalida

NextPDF Enterprise esegue controlli strutturali in-process e in sola lettura per policy specifiche: PDF/A-4, baseline PAdES, integrità della Long-Term Validation (LTV), ZUGFeRD, U.S. Food and Drug Administration (FDA) 21 CFR Part 11 e U.S. Securities and Exchange Commission (SEC) 17a-4. Restituisce un report tecnico strutturato. Il report non costituisce consulenza legale, approvazione di conformità né certificazione.

Questa funzionalità è inclusa in NextPDF Enterprise (nextpdf/enterprise) e si attiva con un envelope di licenza di livello Enterprise. Un deployment privo di tale entitlement non carica le classi della funzionalità. Confronta le edizioni e ottieni una licenza.

Terminal window
composer require nextpdf/enterprise:^3

Compliance è il punto di ingresso. Compliance::assess($pdfBytes, $policy) (oppure un’istanza iniettabile su cui chiamare run()) applica una CompliancePolicy ai byte del PDF e restituisce un ComplianceReport. La policy definisce il lavoro; il report fornisce l’esito strutturato.

Policies mette a disposizione factory di policy predefinite: pdfA4(), pdfA4e(), pdfA4f(), padesBaseline(), eidasQualified(), ltvHealth(), zugferd($profile), fdaPart11() e la famiglia SEC 17a-4 (sec17a4(), sec17a4Compatible(), sec17a4Structural(), sec17a4PreSign()). Ciascuna factory restituisce una CompliancePolicy il cui metodo validate() è puro: byte del PDF in ingresso, finding in uscita. L’architettura impone un confine rigoroso di sola lettura: una policy non modifica mai i byte del PDF, così la convalida resta distinta da qualsiasi comportamento di auto-fix.

ComplianceReport raggruppa i finding per Severity (Error, Warning, Info). passes() è true quando non vi sono errori; i warning non fanno fallire un report. Il report include un disclaimer legale integrato (getDisclaimer()) che dichiara che il risultato è un controllo tecnico della struttura solo a titolo di riferimento e che la determinazione finale spetta a professionisti qualificati in materia legale o di conformità. È obbligatorio rendere visibile tale disclaimer nell’output destinato all’utente.

Un secondo confine è rilevante per le firme. LtvHealthCheck verifica la presenza strutturale del Document Security Store (DSS) secondo ISO 32000-2:2020 §12.8.4.3; non verifica crittograficamente i dati Online Certificate Status Protocol (OCSP) o certificate revocation list (CRL) incorporati. eidasQualified() convalida la struttura PAdES solo a livello di PDF; la qualificazione eIDAS effettiva dipende dal trust service provider (TSP) e dal certificato qualificato, che restano al di fuori di questo modulo.

Questo modulo verifica gli attributi strutturali e segnala i finding. Non certifica un documento né garantisce che il documento soddisfi una normativa.

  • La conformità è una proprietà del file finale insieme a un validatore, non di questa libreria. ISO 19005-4:2020 §5.2 determina la conformità rispetto ai requisiti normativi dello standard tramite uno strumento di controllo, non tramite il software che produce il file.
  • Un report con esito positivo è un risultato verificato rispetto alle regole che ciascuna policy implementa. Non è un certificato.
  • Le policy FDA 21 CFR Part 11 e SEC 17a-4 verificano gli attributi strutturali impliciti nelle normative (presenza della firma, intento di firma, marcatori di audit-trail, vincoli write once, read many (WORM)). Non stabiliscono la conformità legale a tali normative. La sufficienza legale è determinata dal team di conformità.

Il supporto di uno standard non equivale alla conformità a quello standard, e la conformità non equivale a una certificazione. NextPDF non detiene alcuna certificazione e non ne rilascia alcuna.

  • NextPDF Core Compliance include validatori di byte-stream e un cross-check grammaticale; un risultato con zero finding è un risultato verificato, non un certificato.
  • NextPDF Pro Compliance (EInvoiceValidator) convalida EN 16931 / Factur-X / ZUGFeRD in-process a livello di fattura elettronica.
  • NextPDF Enterprise Validation (questa pagina) aggiunge policy predefinite per controlli strutturali di archiviazione, firma, LTV e settori regolamentati (FDA Part 11, SEC 17a-4) con un unico formato di report. Il modulo Enterprise Compliance è una superficie separata che delega a sidecar esterni; questo modulo viene eseguito in-process.

La convalida è costruita come un insieme di policy pure e in sola lettura, non come una pipeline di fix-and-report. Il metodo CompliancePolicy::validate() di ogni policy accetta byte del PDF e restituisce finding; non modifica mai il documento. Così un report con esito positivo non è mai un artefatto di uno strumento che di nascosto «aiuta» l’input a superare i controlli. Significa soltanto che il file è stato verificato rispetto alle regole che ciascuna policy implementa. Lo stesso confine è la ragione per cui ogni report reca un disclaimer integrato, e per cui la conformità resta una proprietà del file finale insieme a un validatore esterno, non un’auto-asserzione del produttore. La certificazione e la sufficienza legale sono una decisione di un auditor o di un team di conformità, perciò il modulo riferisce sulla struttura e si ferma lì.

Contesto di progettazione: Conformità da consegnare a un auditor.

ClasseResponsabilità
CompliancePunto di ingresso: applica una policy e restituisce un report.
PoliciesFactory di istanze CompliancePolicy predefinite.
CompliancePolicyContratto: validate() puro che restituisce i finding.
ComplianceReportFinding raggruppati per gravità; reca il disclaimer legale.
ComplianceFindingFinding singolo: rule id, messaggio, riferimento allo standard, rimedio.
SeverityError / Warning / Info.
PdfAPolicyPolicy strutturale della famiglia PDF/A-4.
PadesValidatorPolicy strutturale baseline PAdES / eIDAS.
LtvHealthCheckControllo della presenza strutturale del DSS (ISO 32000-2 §12.8.4.3).
ZugferdValidatorPolicy ZUGFeRD / Factur-X a livello di PDF.
FdaPart11PolicyPolicy di attributi strutturali FDA 21 CFR Part 11.
Sec17a4WormPolicyPolicy strutturale WORM SEC 17a-4 (rigidità selezionabile).
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
  • I warning non fanno mai fallire un report; solo gli errori fanno sì che passes() sia false. Un report pulito significa comunque «verificato rispetto alle regole implementate», non «conforme».
  • LtvHealthCheck conferma la struttura DSS, non la validità crittografica della revoca.
  • eidasQualified() verifica solo la struttura a livello di PDF; la qualificazione dipende dal TSP e dal certificato.
  • La famiglia SEC 17a-4 offre una rigidità selezionabile (Full / Compatible / Structural / PreSign); scegliere quella corrispondente alla fase del proprio workflow.

Ogni policy viene eseguita in-process sui byte del PDF forniti; il costo cresce con la dimensione del documento e con il numero di regole. Compliance registra la durata dell’esecuzione nel report.

Le policy effettuano il parsing dei byte del PDF in-process e non eseguono mai chiamate esterne. Trattare come ostili i byte del PDF provenienti da fonti non attendibili; l’architettura puramente in sola lettura impedisce a una policy di alterare l’input.

La convalida è in-process e locale, senza I/O di rete. I documenti firmati e i metadati di audit-trail possono contenere dati personali; applicare controlli propri di conservazione e minimizzazione a report e finding.

I finding includono rule id, riferimenti allo standard e messaggi; alcuni messaggi riportano nomi di firmatari o stringhe di motivazione estratte dal PDF. Ripulire o oscurare tali campi prima di inoltrare i log a sink condivisi.

ComportamentoRiferimentoStato
Conformità determinata rispetto allo standard, non al produttoreISO 19005-4:2020 §5.2Riflesso nella progettazione (policy in sola lettura)
Presenza strutturale del DSS per LTVISO 32000-2:2020 §12.8.4.3Verificato (solo struttura)
Struttura baseline PAdESETSI EN 319 142-1 §5.4.3Verificato (a livello di PDF)
Modello semantico del profilo EN 16931Factur-X 1.08 (EN 16931)Riferimento di supporto (la responsabilità resta dell’emittente)
FDA 21 CFR Part 11 / SEC 17a-421 CFR Part 11 / 17 CFR 240.17a-4Attributi strutturali verificati; non verificati legalmente

Questa tabella registra ciò che ciascuna policy verifica e le specifiche alla base di quella policy. Non costituisce una dichiarazione di certificazione o di sufficienza normativa. Le righe FDA e SEC sono soltanto controlli di attributi strutturali; tali standard di origine non sono presenti nel corpus di verifica e non comportano alcuna affermazione di conformità Verified.

Queste policy non verificano firme digitali PDF, catene di certificati, risposte OCSP/CRL né qualificazione legale; gli eventuali digest SHA-256 di audit-trail che calcolano sono controlli di prova di manomissione, non verifica di firma. I moduli Signature e Security gestiscono la validità crittografica della firma, la custodia delle chiavi e il comportamento in modalità Federal Information Processing Standards (FIPS).

L’input principale sono byte di PDF non attendibili. Le mitigazioni comprendono policy puramente in sola lettura (nessuna mutazione, nessun auto-fix), nessun I/O di rete e un disclaimer legale esplicito su ogni report, in modo che un risultato con esito positivo non sia scambiato per una certificazione.

  • Il metodo validate() di ciascuna policy è una funzione pura: byte del PDF in ingresso, finding in uscita. Non modifica mai l’input; l’architettura mantiene un confine rigoroso di sola lettura, distinto da qualsiasi comportamento di auto-fix.
  • Il report raggruppa i finding per gravità; passes() è true quando non vi sono errori, e i warning non fanno mai fallire un report.
  • Ogni report reca un disclaimer legale integrato che dichiara che il risultato è un controllo tecnico della struttura solo a titolo di riferimento; è obbligatorio rendere visibile tale disclaimer nell’output destinato all’utente.
  • Il controllo di integrità LTV conferma solo la presenza strutturale del DSS; non verifica crittograficamente i dati OCSP/CRL incorporati.
  • La policy eIDAS-qualified convalida la struttura PAdES solo a livello di PDF; la qualificazione effettiva dipende dal trust service provider e dal certificato, al di fuori di questo modulo.

Questa pagina documenta esclusivamente il comportamento osservabile dall’esterno e la superficie API pubblica supportata. I percorsi di namespace interni, le classi helper, le tabelle dei meccanismi, i nomi dei file di runbook e i prefissi dei ticket sono fuori ambito.

NextPDF Core Compliance include validatori di byte-stream e un cross-check grammaticale; un risultato con zero finding è un risultato verificato, non un certificato. Le policy predefinite di archiviazione, firma, LTV e settori regolamentati con un unico formato di report non hanno un equivalente a livello Core.

NextPDF Pro Compliance convalida EN 16931 / Factur-X / ZUGFeRD in-process a livello di fattura elettronica. Non fornisce le policy strutturali predefinite PDF/A-4, PAdES, LTV, FDA Part 11 o SEC 17a-4; queste sono incluse esclusivamente nel pacchetto nextpdf/enterprise. La superficie external-sidecar di Enterprise Compliance è un modulo separato.

Il punto di ingresso, la factory delle policy e il report sono descritti a livello di comportamento. I dettagli interni delle regole per-policy e qualsiasi dettaglio di classificazione interna sono fuori ambito per la superficie pubblica. La validità crittografica della firma è deliberatamente fuori ambito qui; sono gestite dal verify-side di Signature verification e dai moduli Security.

La convalida viene eseguita in-process e in locale, senza I/O di rete; una policy non può alterare l’input. L’operatore tratta come ostili i byte del PDF provenienti da fonti non attendibili, rende visibile il disclaimer del report nell’output destinato all’utente e si fa carico dei controlli di conservazione e minimizzazione per report e finding, che possono contenere dati personali provenienti da documenti firmati e metadati di audit-trail.

Il supporto di uno standard non equivale alla conformità a quello standard, e la conformità non equivale a una certificazione; NextPDF non detiene alcuna certificazione e non ne rilascia alcuna. Le policy FDA 21 CFR Part 11 e SEC 17a-4 verificano esclusivamente attributi strutturali e non stabiliscono la conformità legale. Questa documentazione non è un parere legale; rivolgersi al team di conformità competente per la sufficienza legale.