Pular para o conteúdo← Voltar para a visão geralCard 26 [M5] Auditoria & Logs
Implementado
Backend — master.audit (5 procedures)
- list — filtros userId/action/resource/branchId/ipAddress/date + paginação 25/pg
- detail — log completo com previousData vs newData (diff JSON)
- stats — agregados por período (today/7d/30d): total, byAction, byResource, topUsers, loginEvents
- exportCsv — gera CSV até 10k registros + meta-auditoria (registra próprio EXPORT)
- resources — lista recursos distintos para preencher filtro dropdown
Frontend — /master/auditoria (REESCRITA)
- KPIs dinâmicos (eventos período, logins, ações sensíveis DELETE/EXPORT/APPROVE/REJECT, retenção)
- Seletor período (hoje/7d/30d) com botões
- Filtros: recurso (texto), ação (dropdown), data início/fim, recurso (lista distinta)
- Tabela: avatar + usuário + email/IP, action badge (cor por ação), recurso clicável (abre detalhe), data/hora
- Paginação 25/pg
- Painel Top Usuários (ranking 5 + avatar + email + count) + Ações por Tipo (barras de progresso)
- Modal Detalhe: DiffViewer com antes (vermelho) vs depois (verde) em JSON formatado
- Modal Export: download CSV via Blob (BOM UTF-8 para Excel)
- Card LGPD: retenção 2 anos, AES-256-GCM, logs READ não registrados
5 defaults aplicados (decisoes.md)
- Quem acessa: MASTER (SUPERVISOR meta — herda via supervisorProcedure se necessário)
- Retenção 2 anos (suficiente LGPD — delete automático Job Bull futuro)
- Detecção anomalias: filtro IP manual (não bloqueio automático)
- Mass delete: ** aparece como DELETE no log** (MASTER monitora manualmente)
- Logs de READ não registrados (alta frequência/custo proibitivo)
Deploy
Próximo: Card 27 [M5] Relatórios Gerenciais