Pular para o conteúdo
getnextpdf.com

Conformidade que você pode entregar a um auditor

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

Um auditor não quer ouvir que um documento está conforme. Ele quer receber duas coisas: o documento e o resultado de uma verificação que diga isso. Esta página é sobre produzir as duas com o NextPDF — uma saída conforme e um resultado de validação que você pode colocar diante de quem está perguntando.

O core de código aberto produz saída PDF/A de arquivamento e assinaturas baseline PAdES, e valida a conformidade — PDF/A, PDF/UA e assinaturas. As edições avançadas estendem o alcance para validação de longo prazo e faturamento eletrônico. Em todos os casos, uma regra se mantém: conformidade é o veredito de um verificador, não uma promessa que o produtor pode fazer.

O trabalho de compliance tem um sinal revelador. Alguém diz “sim, está conforme” e então a sala fica em silêncio, porque ninguém consegue apresentar aquilo que prova isso. O documento parece correto. A biblioteca é respeitável. Nada disso é evidência.

O custo dessa lacuna é assimétrico. Um arquivo que apenas parece conforme passa na revisão de hoje e falha em uma verificação externa meses depois — em uma autoridade fiscal, em um arquivo de longo prazo ou em um tribunal — quando o contexto original já se foi e a falha é cara de explicar. As normas previram exatamente isso. Um arquivo PDF/A registra o perfil-alvo em seus metadados, mas essa identificação declara a intenção do produtor; a determinação da conformidade é feita por um processo de validação fora do software produtor (Spec: ISO 19005-4 (PDF/A-4), §6.7.3). O próprio formato diz a você que o produtor não tem a última palavra.

  • Você pode produzir uma saída conforme E um resultado que diz que ela está conforme. Não uma alegação — um artefato mais uma verificação.
  • O core cobre os casos comuns. Ele produz saída PDF/A de arquivamento e assinaturas PAdES B-B / B-T, e valida a conformidade para PDF/A, PDF/UA e assinaturas.
  • Conformidade é o veredito de um validador, delimitado por uma norma, cláusula e nível. O NextPDF declara o perfil e o nível que mira, nunca um “compliant” sem qualificação (Spec: ETSI EN 319 142-1, §6.1).
  • As edições avançadas estendem o alcance. Validação de longo prazo (PAdES B-LT / B-LTA) e faturamento eletrônico (ZUGFeRD / Factur-X em relação à EN 16931) são capacidades do nível comercial.
  • O motor se recusa a forjar um veredito. Ele produz um candidato e executa a verificação; nunca carimba um arquivo como conforme por sua própria autoridade.

A abordagem é uma separação limpa, aplicada em todo lugar: produzir o artefato que uma norma define é uma capacidade; decidir que o artefato está conforme é um veredito. O NextPDF lhe dá o primeiro e deixa você obter o segundo de um verificador. Ele nunca confunde os dois.

Essa separação é o que torna a saída entregável. Uma assinatura é o caso mais claro. O valor dela é computado sobre um intervalo de bytes declarado que deliberadamente exclui a própria assinatura (Spec: ISO 32000-2, §12.8), que é precisamente o motivo pelo qual a validade é algo que um terceiro pode recalcular a partir do arquivo, em vez de aceitar pela fé. O trabalho do produtor é escrever essa estrutura corretamente. O trabalho do validador é confirmá-la. Dois trabalhos, duas partes, e a segunda é aquela em que um auditor confia.

Então o fluxo de trabalho que você entrega tem quatro etapas, e a terceira é aquela que transforma “deveria estar conforme” em “está”.

  1. Produzir um candidatoGere uma saída PDF/A de arquivamento ou uma assinatura PAdES com a estrutura relevante para a conformidade no lugar — fontes incorporadas, perfil declarado, uma assinatura sobre um intervalo de bytes correto.
  2. Recusar o impossívelO motor rejeita combinações que quebram a conformidade (um PDF/A criptografado, um nível de assinatura que ele não consegue honrar) em vez de emitir um arquivo que silenciosamente não está conforme.
  3. Validar de forma independenteExecute um verificador de conformidade — PDF/A, PDF/UA, assinatura. Um relatório aprovado é a evidência; a biblioteca produtora não é.
  4. Entregar ambosDê ao auditor o documento e o resultado de validação juntos. O veredito viaja com o artefato.
Da obrigação à evidência: o NextPDF produz um candidato conforme e recusa operações que quebram a conformidade, um validador independente entrega o veredito, e esse relatório — não a biblioteca produtora — é o que você entrega ao auditor.

A etapa do meio não é decoração. Quando o modo de arquivamento está ativado e uma operação incompatível é tentada — ativar a criptografia, por exemplo — o motor levanta um erro tipado em vez de degradar o arquivo em um documento “de arquivamento” não conforme. Recusar de forma audível é o que mantém o candidato honesto o suficiente para passar na verificação que vem a seguir.

E a verificação é graduada, nunca um único bit. PAdES é nivelado por design: B-B, B-T, B-LT e B-LTA cada um soma ao anterior (Spec: ETSI EN 319 142-1, §6.1). Uma assinatura B-T carrega um carimbo de tempo confiável que B-B não tem. Uma alegação que nomeia o nível é uma alegação honesta; um mero “assinado” não é. O NextPDF faz você nomear o nível, então o resultado que você entrega diz exatamente o que foi alcançado.

Um formato curto e completo. Ele produz um candidato, valida-o e trata a resposta do validador como a evidência — nunca a chamada produtora.

<?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;
}

A variável se chama $candidate de propósito, e o relatório é o valor de retorno de propósito. O documento é o que você produziu; o relatório é o que o prova. Um auditor pediu que você demonstrasse a conformidade — então você lhe dá a demonstração, não a palavra do produtor.

O equívoco que enche arquivos de documentos não preservados e caixas de entrada de faturas rejeitadas é simples: “a biblioteca diz PDF/A, portanto o arquivo é PDF/A.” Não cabe à biblioteca emitir esse veredito. Um produtor pode emitir um arquivo com a intenção de estar conforme e ainda assim deixar de atender a um requisito normativo; só um processo de validação transforma intenção em determinação. Tratar a chamada produtora como prova é o erro central, e é exatamente o erro que um auditor é treinado para pegar.

Uma segunda armadilha, mais sutil, é ouvir “o NextPDF é standards-compliant” como uma garantia total e única. Não existe tal coisa, e nenhum motor honesto a oferece. Conformidade é por norma, por cláusula e por nível. A alegação correta nomeia qual perfil, qual nível e mostra a verificação. Uma alegação sem isso é marketing, e o Insider_ não a imprime.

  • O NextPDF produz um candidato conforme e o valida; ele não certifica a conformidade. O relatório do validador é a evidência. A biblioteca produtora nunca emite seu próprio certificado.
  • Validação é o resultado de um verificador, não uma garantia absoluta. Uma execução limpa significa que o arquivo atendeu aos requisitos que o validador verificou, em relação à edição da norma que ele implementa. É a evidência mais forte disponível, não uma prova metafísica.
  • O alcance do core é a saída PDF/A de arquivamento e as assinaturas PAdES B-B / B-T, além da validação de conformidade para PDF/A, PDF/UA e assinaturas. Ele não fornece silenciosamente as capacidades das edições avançadas.
  • Validação de longo prazo (B-LT / B-LTA) e faturamento eletrônico (ZUGFeRD / Factur-X em relação à EN 16931) são capacidades das edições avançadas. A EN 16931-1 define o modelo semântico de fatura em relação ao qual o payload é validado (Spec: EN 16931-1, Scope); honrá-lo é nível comercial, não core.
  • O efeito jurídico é uma questão separada da conformidade técnica. Se uma assinatura é juridicamente suficiente em uma jurisdição é decidido pela lei e pela autoridade receptora, não por um validador. O NextPDF fala sobre o resultado técnico; a sua equipe de compliance fala sobre o peso jurídico dele.
Conformance reach across editions — edition availability
EditionAvailability
Core

Produz saída PDF/A de arquivamento e assinaturas PAdES B-B / B-T, e valida a conformidade para PDF/A, PDF/UA e assinaturas. A saída e o resultado de validação estão ambos disponíveis para serem entregues.

Pro

Adiciona validação de longo prazo — PAdES B-LT / B-LTA — incorporando a evidência de revogação e os carimbos de tempo de documento que mantêm uma assinatura verificável após o certificado expirar.

Enterprise

Adiciona faturamento eletrônico (ZUGFeRD / Factur-X em relação à EN 16931) e uma política e relatório de conformidade estrutural — ainda uma verificação de estrutura, com a determinação final cabendo a um validador e à sua equipe de compliance.

A ferramenta de compliance mais profunda, e a fronteira de conformidade citada para cada capacidade das edições avançadas, vivem na página de compliance e conformidade. Quando você precisa executar a verificação, o guia de solução de problemas de validação de PDF/A e PDF/UA conduz pela leitura e correção de um relatório que falhou.

  • Conformidade — concordância de um arquivo com os requisitos normativos de uma norma, conforme decidido por um processo de validação, delimitada por uma norma, cláusula e nível específicos.
  • Candidato — um arquivo produzido com a intenção de estar conforme, antes que um validador independente tenha confirmado que ele de fato está.
  • Validador / verificador de conformidade — software independente que julga um arquivo em relação aos requisitos de uma norma e produz o resultado em que um auditor se apoia.
  • PDF/A — a família ISO 19005: um perfil restrito de PDF para preservação de longo prazo, projetado para reproduzir a aparência estática de um documento ao longo do tempo.
  • PDF/UA — a família ISO 14289: o perfil de acessibilidade que define como um PDF marcado (tagged) transmite estrutura à tecnologia assistiva.
  • PAdES — PDF Advanced Electronic Signatures, a família ETSI EN 319 142 de perfis de assinatura (B-B, B-T, B-LT, B-LTA) que a ISO 32000-2 referencia para assinatura de PDF.
  • EN 16931 — a norma europeia que define o modelo semântico de dados de uma fatura eletrônica core, a obrigação em relação à qual um payload de fatura eletrônica híbrida é verificado.