{"ok":true,"status":"conforme","checked_at":"2026-06-26T02:08:15.982Z","requisitos":["D3","H1","H2","H3","H4","H5"],"session":{"cookie":"dd_session","signed":"HMAC-SHA256","httpOnly":true,"sameSite":"lax","maxAgeHours":8},"mfa":{"enabled":true,"algorithm":"TOTP","routes":["POST /api/auth/mfa","POST /api/auth/mfa/enroll","POST /api/auth/mfa/disable"]},"roles":{"admin":["auditoria","usuarios","exportacao","emissao","assinatura","anulacao"],"operador":["emissao","assinatura","anulacao"],"consulta":["consulta autenticada"],"publico":["validacao publica","anulados","health","evidencias publicas agregadas"]},"uiRestrictions":{"admin":["painel","emitir","lote","lista","pendencias","auditoria","usuarios","config"],"operador":["painel","emitir","lote","lista","pendencias"],"consulta":["painel","lista"],"publico":["validar","anulados"]},"protectedRoutes":[{"method":"GET","path":"/api/dashboard","requirement":"session","expectedNoAuth":401},{"method":"GET","path":"/api/diplomas","requirement":"session","expectedNoAuth":401},{"method":"POST","path":"/api/diplomas","requirement":"admin|operador","expectedNoAuth":401},{"method":"POST","path":"/api/diplomas/lote","requirement":"admin|operador","expectedNoAuth":401},{"method":"GET","path":"/api/assinaturas/pendencias","requirement":"admin|operador","expectedNoAuth":401},{"method":"POST","path":"/api/assinaturas/lote","requirement":"admin|operador","expectedNoAuth":401},{"method":"GET","path":"/api/auditoria","requirement":"admin","expectedNoAuth":401},{"method":"POST","path":"/api/usuarios","requirement":"admin + senha reconferida","expectedNoAuth":401},{"method":"GET","path":"/api/export","requirement":"admin","expectedNoAuth":401},{"method":"GET","path":"/api/export/zip","requirement":"admin","expectedNoAuth":401},{"method":"POST","path":"/api/auth/mfa/enroll","requirement":"session + senha","expectedNoAuth":401},{"method":"POST","path":"/api/auth/mfa/disable","requirement":"session + senha","expectedNoAuth":401},{"method":"GET","path":"/api/diplomas/DD-C0A2E476/artefato/XML/download","requirement":"session + tenant","expectedNoAuth":401}],"audit":{"route":"GET /api/auditoria","restrictedTo":"admin","scope":"tenant proprio do admin + tenant tecnico auth para tentativas sem tenant identificado","detailShape":"detalhe inclui por/alvo e, quando aplicavel, antes/depois","accessLogShape":"eventos de acesso incluem alvo, perfil quando conhecido, sucesso, motivo, ip e user_agent; senha nunca e registrada","eventsRecordedBy":["login_sucesso","login_falha","login_mfa_requerido","mfa_login_sucesso","mfa_login_falha","logout","emitir","emitir_lote","ingestao_api","ingestao_webhook","assinar_demo","assinar_lote_fluxo","anular","usuario_criar","usuario_ativar","usuario_desativar","mfa_ativar","mfa_desativar"]},"aviso":"Evidencia publica de desenho, rotas, perfis, MFA, auditoria e registro de acessos/tentativas. Smokes locais por perfil, UI e login foram registrados em docs/23-seguranca-acesso-rbac-mfa-auditoria.md."}