Files
compras/docs/auditoria-metadados-requisicao.md
2026-11-03 11:51:44 +02:00

2.5 KiB

Exportação de metadados do histórico da requisição

03/11/2026. No detalhe da requisição, Histórico > Exportar metadados do histórico (CSV).

A página e a exportação reutilizam RequisitionAuditTrail: identidade do evento, data registada, código da acção, identidade registada do utilizador e modo de execução quando existente. O ficheiro identifica a requisição e o momento da consulta. O modo scheduled_replenishment conserva a atribuição técnica ao responsável de origem; não cria uma decisão humana.

O acesso segue Requisition::visibleTo, a empresa e as competências actuais. O exportador volta a conferir o titular, a manutenção e a vigência quando o ficheiro é consumido. Não concede uma função de auditor global ou acesso a outras requisições. O serviço de projecção mantém os mesmos campos já apresentados no ecrã; o payload completo before/after, dados bancários, anexos e fundamentos privados adicionais não são serializados no CSV.

Todos os eventos disponíveis são lidos por ordem de identidade, em lotes de 100, numa consulta consistente e somente de leitura em PostgreSQL. A resposta é privada e sem cache. Delimitadores/aspas são tratados como CSV; textos que poderiam ser interpretados como fórmulas são marcados como texto. A consulta e a exportação não acrescentam recibos de leitura nem eventos de auditoria e não alteram os registos históricos.

Validação em proofs/requisition-audit.json e variantes PostgreSQL/HTTP: mais de 100 eventos, paridade com a projecção do ecrã, exclusão de payloads privados, protecção de fórmulas, isolamento do requisitante/departamento/empresa, manutenção/vigência e ausência de alterações de negócio. O piloto usa a requisição sintética existente 2 em leitura, sem repetir decisões.

Actualização posterior de 03/11: o histórico no ecrã pagina 25 eventos por audit_page, com total e navegação parcial que conserva o estado dos formulários. Mantida a ordem dos mais antigos primeiro e o CSV integral. O detalhe volta a carregar a requisição autorizada dentro de uma transacção consistente de leitura em PostgreSQL; o histórico de navegação Inertia é encriptado. Provas proofs/audit-pagination.json e variantes PostgreSQL/HTTP.

Continuam fora desta entrega exportação geral de auditoria, retenção/arquivo, assinatura ou certificação do histórico, garantia face a administradores SQL, capacidade sob carga e revisão visual/da folha de cálculo. O âmbito limitado de metadados não encerra a área de auditoria da matriz.