Ir para o conteúdo

06 - Manifesto e Metadados e-ARQ

EnfaseCloud.ScanEnfaseCloud.LibraryEnfaseCloud.WebApi

Draft

Objetivo

Criar manifesto completo de digitalização com valor de evidência tecnica, arquivística e operacional.

Manifesto

O manifesto deve ser JSON versionado e canonicamente serializado para calculo de hash.

Campos obrigatorios:

  • identificador unico;
  • tenant, cliente e unidade;
  • operador e responsável pela digitalização;
  • local e data/hora UTC;
  • equipamento, driver e perfil;
  • resolução, tamanho de pagina, duplex e modo de cor;
  • quantidade de paginas;
  • tipo documental;
  • classe PCDA;
  • regra TTDA/temporalidade;
  • destino previsto;
  • hash do arquivo final;
  • hash do manifesto;
  • resultado PDF/A;
  • resultado OCR;
  • status de assinatura;
  • eventos de captura, upload, validação e preservação.

XMP

O PDF deve conter XMP com os metadados minimos de identificação, produção, digitalização, responsabilidade, equipamento, resolução, paginas e hash.

O XMP nao substitui o manifesto; ambos devem ser consistentes.

PCDA e TTDA

Quando o tipo documental exigir PCDA/TTDA, o sistema deve bloquear conclusao da digitalização se os vinculos estiverem ausentes.

Aceite

  • Manifesto e PDF final compartilham o mesmo verificationCode.
  • Hash do arquivo no manifesto bate com FileAttachment.HashFile.
  • Metadados obrigatorios ausentes geram erro ou pendencia conforme politica.

Implementação

Parcialmente entregue

Requisito Implementação Arquivo
XMP com metadados mínimos Decreto 10.278/2020 ApplyConarqXmpMetadata com namespace mcgi: — identificador, tipo, responsável, equipamento, resolução, hash, páginas Library/Services/PdfComplianceService.cs
DigitalizationManifest com campos arquivísticos ScannerIntegrationService.CreateManifestAsync — PCDA, TTDA, operador, local, equipamento, hash Library/Services/ScannerIntegrationService.cs
Hash do manifesto ComputeManifestSha256(manifest) Library/Services/ScannerIntegrationService.cs
verificationCode compartilhado entre PDF e manifesto ScanCaptureResult.VerificationCode usado no XMP e no manifesto Scan/Scan/ScanCaptureService.cs

Pendente (bloqueadores para Implemented)

Requisito Situação
Manifesto JSON gerado pelo novo fluxo (ScanCaptureService) O fluxo novo gera o XMP mas não gera o manifesto JSON. O ScannerIntegrationService gera o manifesto apenas no fluxo legado (EnfaseScanForm). Lacuna: ComposePdfAsync precisa chamar CreateManifestAsync.
TenantKey no manifesto DigitalizationManifest.ClienteId existe mas TenantKey está ausente.
Campos PCDA/TTDA/destino no novo fluxo Disponíveis no ScannerIntegrationService mas não chegam ao ScanCaptureService.
Resultado PDF/A formal UsesPdfA=true hardcoded — veraPDF não é executado no novo fluxo.
Eventos de captura/upload no manifesto AuditTrailHash existe mas sem lista de eventos detalhados.