Enterprise edizione
Convalida
In breve
Sezione intitolata “In breve”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.
Disponibilità e licenza
Sezione intitolata “Disponibilità e licenza”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.
Installazione
Sezione intitolata “Installazione”composer require nextpdf/enterprise:^3Panoramica concettuale
Sezione intitolata “Panoramica concettuale”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.
Cosa significa qui «convalida»
Sezione intitolata “Cosa significa qui «convalida»”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.
Confine di livello
Sezione intitolata “Confine di livello”- NextPDF Core
Complianceinclude 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.
Perché funziona così
Sezione intitolata “Perché funziona così”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.
Superficie API
Sezione intitolata “Superficie API”| Classe | Responsabilità |
|---|---|
Compliance | Punto di ingresso: applica una policy e restituisce un report. |
Policies | Factory di istanze CompliancePolicy predefinite. |
CompliancePolicy | Contratto: validate() puro che restituisce i finding. |
ComplianceReport | Finding raggruppati per gravità; reca il disclaimer legale. |
ComplianceFinding | Finding singolo: rule id, messaggio, riferimento allo standard, rimedio. |
Severity | Error / Warning / Info. |
PdfAPolicy | Policy strutturale della famiglia PDF/A-4. |
PadesValidator | Policy strutturale baseline PAdES / eIDAS. |
LtvHealthCheck | Controllo della presenza strutturale del DSS (ISO 32000-2 §12.8.4.3). |
ZugferdValidator | Policy ZUGFeRD / Factur-X a livello di PDF. |
FdaPart11Policy | Policy di attributi strutturali FDA 21 CFR Part 11. |
Sec17a4WormPolicy | Policy strutturale WORM SEC 17a-4 (rigidità selezionabile). |
Esempio di codice — Avvio rapido
Sezione intitolata “Esempio di codice — Avvio rapido”use NextPDF\Enterprise\Validation\Compliance;use NextPDF\Enterprise\Validation\Policies;
$report = Compliance::assess($pdfBytes, Policies::pdfA4());$ok = $report->passes(); // no errorsEsempio di codice — Produzione
Sezione intitolata “Esempio di codice — Produzione”$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 outputCasi limite e insidie
Sezione intitolata “Casi limite e insidie”- 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». LtvHealthCheckconferma 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.
Prestazioni
Sezione intitolata “Prestazioni”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.
Note sulla sicurezza
Sezione intitolata “Note sulla sicurezza”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.
Residenza dei dati e mitigazioni PII
Sezione intitolata “Residenza dei dati e mitigazioni PII”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.
Telemetria sicura e scrubbing dei log
Sezione intitolata “Telemetria sicura e scrubbing dei log”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.
Conformità
Sezione intitolata “Conformità”| Comportamento | Riferimento | Stato |
|---|---|---|
| Conformità determinata rispetto allo standard, non al produttore | ISO 19005-4:2020 §5.2 | Riflesso nella progettazione (policy in sola lettura) |
| Presenza strutturale del DSS per LTV | ISO 32000-2:2020 §12.8.4.3 | Verificato (solo struttura) |
| Struttura baseline PAdES | ETSI EN 319 142-1 §5.4.3 | Verificato (a livello di PDF) |
| Modello semantico del profilo EN 16931 | Factur-X 1.08 (EN 16931) | Riferimento di supporto (la responsabilità resta dell’emittente) |
| FDA 21 CFR Part 11 / SEC 17a-4 | 21 CFR Part 11 / 17 CFR 240.17a-4 | Attributi 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.
Comportamento in modalità FIPS
Sezione intitolata “Comportamento in modalità FIPS”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).
Modello di minaccia
Sezione intitolata “Modello di minaccia”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.
Contratto di comportamento
Sezione intitolata “Contratto di comportamento”- 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.
Confine di pubblicazione
Sezione intitolata “Confine di pubblicazione”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.
Fallback Core
Sezione intitolata “Fallback Core”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.
Fallback Pro
Sezione intitolata “Fallback Pro”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.
Nota sul confine Enterprise
Sezione intitolata “Nota sul confine Enterprise”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.
Confine di deployment
Sezione intitolata “Confine di deployment”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.
Confine di conformità legale
Sezione intitolata “Confine di conformità legale”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.
Vedi anche
Sezione intitolata “Vedi anche”- Compliance — sidecar di validatori esterni (superficie distinta).
- Evidence — pacchetti di report sigillati e con marca temporale.
- Core Compliance — validatori di byte-stream in-process.
- Signature verification — verify-side crittografico CMS / timestamp / catena di archiviazione (distinto da questa superficie strutturale).
- Specifiche: PDF/A-4 — standard di riferimento.
- Validation — Deep Reference — dettagli interni delle regole per-policy e riferimento completo delle classi.