Salta ai contenuti
getnextpdf.com

Una conformità da consegnare a un auditor

Spec: ISO 19005-4 (PDF/A-4)Spec: ISO 32000-2Spec: ETSI EN 319 142-1Spec: EN 16931-1

Un auditor non vuole sentirsi dire che un documento è conforme. Vuole che gli si consegnino due cose: il documento e il risultato di una verifica che lo attesti. Questa pagina riguarda la produzione di entrambi con NextPDF — un output conforme e un risultato di validazione da mettere davanti a chi lo chiede.

Il core open source produce output archivistico PDF/A e firme baseline PAdES, e valida la conformità — PDF/A, PDF/UA e firme. Le edizioni avanzate estendono la portata alla validazione a lungo termine e alla fatturazione elettronica. In tutto questo vale una sola regola: la conformità è il verdetto di un verificatore, non una promessa che il produttore possa esprimere.

Il lavoro sulla conformità ha un segnale rivelatore. Qualcuno dice «sì, è conforme», e poi nella stanza cala il silenzio, perché nessuno sa produrre ciò che lo dimostri. Il documento sembra a posto. La libreria è autorevole. Niente di tutto questo è una prova.

Il costo di quel divario è asimmetrico. Un file che appare soltanto conforme supera la revisione di oggi e fallisce una verifica esterna mesi dopo — presso un’autorità fiscale, in un archivio a lungo termine o in tribunale — quando il contesto originale non c’è più e il guasto è costoso da spiegare. Gli standard hanno previsto esattamente questo. Un file PDF/A registra nei suoi metadati il profilo di destinazione, ma quell’identificazione dichiara l’intenzione del produttore; la determinazione della conformità è compiuta da un processo di validazione esterno al software produttore (Spec: ISO 19005-4 (PDF/A-4), §6.7.3). Il formato stesso ti dice che il produttore non ha l’ultima parola.

  • Si può produrre un output conforme E un risultato che attesti la conformità. Non un’asserzione — un artefatto più una verifica.
  • Il core copre i casi comuni. Produce output archivistico PDF/A e firme PAdES B-B / B-T, e valida la conformità per PDF/A, PDF/UA e firme.
  • La conformità è il verdetto di un validatore, riferito a uno standard, una clausola e un livello. NextPDF dichiara il profilo e il livello a cui mira, mai un «conforme» senza qualificazioni (Spec: ETSI EN 319 142-1, §6.1).
  • Le edizioni avanzate estendono la portata. La validazione a lungo termine (PAdES B-LT / B-LTA) e la fatturazione elettronica (ZUGFeRD / Factur-X rispetto a EN 16931) sono funzionalità di livello commerciale.
  • Il motore si rifiuta di simulare un verdetto. Produce un candidato ed esegue la verifica; non timbra mai un file come conforme di propria autorità.

L’approccio è un’unica separazione netta, applicata ovunque: produrre l’artefatto che uno standard definisce è una capacità; decidere che l’artefatto è conforme è un verdetto. NextPDF ti dà la prima e ti lascia ottenere il secondo da un verificatore. Non li confonde mai.

È quella separazione a rendere consegnabile l’output. Una firma è il caso più chiaro. Il suo valore è calcolato su un intervallo di byte dichiarato che esclude deliberatamente la firma stessa (Spec: ISO 32000-2, §12.8), che è esattamente il motivo per cui la validità è qualcosa che una terza parte può ricalcolare dal file anziché accettare sulla fiducia. Il compito del produttore è scrivere correttamente quella struttura. Il compito del validatore è confermarla. Due compiti, due parti, e la seconda è quella di cui un auditor si fida.

Così il workflow che si consegna ha quattro mosse, e la terza è quella che trasforma «dovrebbe essere conforme» in «lo è».

  1. Produce a candidateGenerate PDF/A archival output or a PAdES signature with the conformance-relevant structure in place — embedded fonts, declared profile, a signature over a correct byte range.
  2. Refuse the impossibleThe engine rejects conformance-breaking combinations (an encrypted PDF/A, a signature level it cannot honor) rather than emitting a file that silently does not conform.
  3. Validate independentlyRun a conformance checker — PDF/A, PDF/UA, signature. A passing report is the evidence; the producing library is not.
  4. Hand over bothGive the auditor the document and the validation result together. The verdict travels with the artifact.
Dall'obbligo all'evidenza: NextPDF produce un candidato conforme e rifiuta le operazioni che romperebbero la conformità, un validatore indipendente emette il verdetto, e quel report — non la libreria produttrice — è ciò che si consegna all'auditor.

Il passaggio centrale non è un ornamento. Quando la modalità archivistica è attiva e si tenta un’operazione incompatibile — attivare la cifratura, per esempio — il motore solleva un errore tipizzato invece di degradare il file in un documento «archivistico» non conforme. Rifiutare a voce alta è ciò che mantiene il candidato abbastanza onesto da superare la verifica che segue.

E la verifica è graduata, mai un singolo bit. PAdES è strutturato per livelli: B-B, B-T, B-LT e B-LTA, ciascuno aggiunge al precedente (Spec: ETSI EN 319 142-1, §6.1). Una firma B-T porta con sé una marca temporale attendibile che B-B non ha. Un’asserzione che nomina il livello è un’asserzione onesta; un semplice «firmato» non lo è. NextPDF obbliga a nominare il livello, così il risultato che si consegna dice esattamente che cosa è stato ottenuto.

Una forma breve e completa. Produce un candidato, lo valida e tratta la risposta del validatore come evidenza — mai la chiamata produttrice.

<?php
declare(strict_types=1);
use NextPDF\Contracts\PdfDocumentInterface;
use NextPDF\Conformance\ConformanceValidator;
use NextPDF\Conformance\ConformanceTarget;
use NextPDF\Conformance\ValidationReport;
/**
* Produce a candidate, then prove it with an independent check.
*
* The producing call returns bytes that SHOULD conform. Only the
* validator's report turns "should" into something an auditor accepts.
*
* @param PdfDocumentInterface $candidate A document composed for archival
* (fonts embedded, profile declared)
*/
function archivalEvidence(
PdfDocumentInterface $candidate,
ConformanceValidator $validator,
): ValidationReport {
// 1. The producing call states intent; it does not certify.
$bytes = $candidate->getPdfData();
// 2. The check is the verdict. Conformance is decided here, by the
// validator, against the named target — not by the line above.
$report = $validator->validate($bytes, ConformanceTarget::PdfA);
// 3. Hand BOTH over: the bytes plus the report. The report names the
// target, the level, and every requirement that was checked.
return $report;
}

La variabile si chiama $candidate di proposito, e il report è il valore di ritorno di proposito. Il documento è ciò che hai prodotto; il report è ciò che lo dimostra. Un auditor ti ha chiesto di dimostrare la conformità — quindi gli dai la dimostrazione, non la parola del produttore.

L’equivoco che riempie gli archivi di file non conservati e le caselle di posta di fatture rifiutate è semplice: «la libreria dice PDF/A, quindi il file è PDF/A.» Non spetta alla libreria emettere quel verdetto. Un produttore può emettere un file con l’intenzione di essere conforme e mancare comunque un requisito normativo; solo un processo di validazione trasforma l’intenzione in una determinazione. Trattare la chiamata produttrice come prova è l’errore fondamentale, ed è esattamente l’errore che un auditor è addestrato a cogliere.

Una seconda trappola, più sottile, è interpretare «NextPDF è conforme agli standard» come un’unica garanzia totale. Una cosa simile non esiste, e nessun motore onesto la offre. La conformità è per standard, per clausola e per livello. L’asserzione corretta nomina quale profilo, quale livello, e mostra la verifica. Un’asserzione priva di tutto ciò è marketing, e Insider_ non la stampa.

  • NextPDF produce un candidato conforme e lo valida; non certifica la conformità. Il report del validatore è l’evidenza. La libreria produttrice non emette mai un proprio certificato.
  • La validazione è il risultato di un verificatore, non una garanzia assoluta. Un’esecuzione pulita significa che il file ha soddisfatto i requisiti che il validatore ha verificato, rispetto all’edizione dello standard che implementa. È l’evidenza più solida disponibile, non una prova metafisica.
  • La portata del core è l’output archivistico PDF/A e le firme PAdES B-B / B-T, più la validazione di conformità per PDF/A, PDF/UA e firme. Non fornisce silenziosamente le funzionalità delle edizioni avanzate.
  • La validazione a lungo termine (B-LT / B-LTA) e la fatturazione elettronica (ZUGFeRD / Factur-X rispetto a EN 16931) sono funzionalità delle edizioni avanzate. EN 16931-1 definisce il modello semantico di fattura rispetto a cui il payload è validato (Spec: EN 16931-1, Scope); onorarlo è livello commerciale, non core.
  • L’efficacia giuridica è una questione distinta dalla conformità tecnica. Se una firma sia giuridicamente sufficiente in una giurisdizione lo decidono la legge e l’autorità ricevente, non un validatore. NextPDF parla del risultato tecnico; il tuo team di conformità parla del suo peso giuridico.
Conformance reach across editions — edition availability
EditionAvailability
Core

Produce output archivistico PDF/A e firme PAdES B-B / B-T, e valida la conformità per PDF/A, PDF/UA e firme. Sia l’output sia il risultato della validazione sono disponibili da consegnare.

Pro

Aggiunge la validazione a lungo termine — PAdES B-LT / B-LTA — incorporando le prove di revoca e le marche temporali di documento che mantengono una firma verificabile dopo la scadenza del certificato.

Enterprise

Aggiunge la fatturazione elettronica (ZUGFeRD / Factur-X rispetto a EN 16931) e una policy e un report di conformità strutturale — sempre una verifica strutturale, con la determinazione finale che spetta a un validatore e al tuo team di conformità.

Gli strumenti di conformità più approfonditi, e il confine di conformità citato per ogni funzionalità delle edizioni avanzate, vivono nella pagina conformità e conformance. Quando occorre eseguire la verifica, la guida risoluzione dei problemi di validazione PDF/A e PDF/UA illustra come leggere e correggere un report che fallisce.

  • Conformità — l’accordo di un file con i requisiti normativi di uno standard, come deciso da un processo di validazione, riferito a uno standard, una clausola e un livello specifici.
  • Candidato — un file prodotto con l’intenzione di essere conforme, prima che un validatore indipendente abbia confermato che lo è.
  • Validatore / conformance checker — software indipendente che giudica un file rispetto ai requisiti di uno standard e produce il risultato su cui un auditor fa affidamento.
  • PDF/A — la famiglia ISO 19005: un profilo PDF vincolato per la conservazione a lungo termine, progettato per riprodurre nel tempo l’aspetto statico di un documento.
  • PDF/UA — la famiglia ISO 14289: il profilo di accessibilità che definisce come un PDF taggato veicola la struttura alla tecnologia assistiva.
  • PAdES — PDF Advanced Electronic Signatures, la famiglia ETSI EN 319 142 di profili di firma (B-B, B-T, B-LT, B-LTA) che ISO 32000-2 richiama per la firma dei PDF.
  • EN 16931 — lo standard europeo che definisce il modello semantico di dati di una fattura elettronica di base, l’obbligo rispetto a cui un payload di fattura elettronica ibrida viene verificato.