ZapScript — Status & Progresso
Auditoria pré-launch, segurança e correções implementadas
✅ Pronto🔐 Autenticação🔴 Crítico
Cadastro com verificação de e-mail
Fluxo completo: registro → envio de e-mail → confirmação → dashboard
👤 Claude📅 Concluído: 2026-04-24
✅ Pronto🔐 Autenticação🔴 Crítico
E-mail de verificação funcional
Supabase generateLink + nodemailer + template HTML
👤 Claude📅 Concluído: 2026-04-24
✅ Pronto🔐 Autenticação🟠 Alto
Rate limit no login (5 req/min)
Proteção contra brute-force via @fastify/rate-limit
👤 Claude📅 Concluído: 2026-04-24
✅ Pronto🔐 Autenticação🟠 Alto
Fluxo "Esqueci minha senha"
Endpoint + e-mail de recuperação + página de reset
👤 Claude📅 Concluído: 2026-04-24
✅ Pronto🔐 Autenticação🟠 Alto
Prevenção de duplicidade (e-mail + CPF/CNPJ)
Validação em ambos os lados (frontend + Prisma @unique)
👤 Claude📅 Concluído: 2026-03-15
✅ Pronto🔐 Autenticação🟡 Médio
Campo emailVerified sincronizado com Supabase
Atualiza para true no primeiro login pós-confirmação
👤 Claude📅 Concluído: 2026-04-24
✅ Pronto🔒 Segurança🔴 Crítico
Proteção contra timing attacks
crypto.timingSafeEqual em admin/internal/monitor tokens
👤 Claude📅 Concluído: 2026-04-23
✅ Pronto🔒 Segurança🔴 Crítico
Validação de ENCRYPTION_KEY no startup
Deve ser 64 hex chars; decrypt valida formato iv:tag:data
👤 Claude📅 Concluído: 2026-04-23
✅ Pronto🔒 Segurança🔴 Crítico
Escape HTML em inputs do usuário (support.ts)
Previne XSS antes de injtar em templates de e-mail
👤 Claude📅 Concluído: 2026-04-23
✅ Pronto🔒 Segurança🟠 Alto
CORS restrito a APP_URL (sem * ou true)
Fallback para localhost:3000 em dev, false em prod
👤 Claude📅 Concluído: 2026-04-23
✅ Pronto🔒 Segurança🟠 Alto
Idempotência de webhook Asaas (24h via Map)
In-memory deduplication; cleanup a cada 1000 entries
👤 Claude📅 Concluído: 2026-04-23
✅ Pronto🔒 Segurança🟡 Médio
Input clamping (limit/offset)
limit 1-100, offset ≥0 em transcriptions + admin
👤 Claude📅 Concluído: 2026-04-23
✅ Pronto⚙️ API🟠 Alto
Dashboard admin com estatísticas completas
MRR, conversion, users, transcriptions, whatsapp, tickets
👤 Claude📅 Concluído: 2026-04-23
✅ Pronto⚙️ API🟠 Alto
Endpoint GET /admin/users com busca + paginação
Busca por e-mail/nome, retorna subscription + balance
👤 Claude📅 Concluído: 2026-04-23
✅ Pronto⚙️ API🟠 Alto
Endpoint GET /admin/tickets com filtro por status
Paginação, ordenação por createdAt desc
👤 Claude📅 Concluído: 2026-04-23
✅ Pronto⚙️ API🔴 Crítico
Débito atômico de minutos via $transaction interativa
Previne race condition + race condition;updateMany com count check
👤 Claude📅 Concluído: 2026-04-23
✅ Pronto⚙️ API🟡 Médio
Exponential backoff na reconexão WhatsApp
5s→5min; log de erro em catch de creds.update
👤 Claude📅 Concluído: 2026-04-23
✅ Pronto⚙️ API🟠 Alto
FFmpeg timeout 120s com kill SIGKILL
Previne travamentos em áudio corrompido
👤 Claude📅 Concluído: 2026-04-23
✅ Pronto🎨 Frontend🟠 Alto
Página de cadastro com documento masking
Valida senhas, mascara CPF/CNPJ, exibe tela pós-registro
👤 Claude📅 Concluído: 2026-04-24
✅ Pronto🎨 Frontend🟠 Alto
Página /email-confirmado (pós-clique no link)
Detecta erros no hash, exibe sucesso ou expirado
👤 Claude📅 Concluído: 2026-04-24
✅ Pronto🎨 Frontend🟠 Alto
Fluxo frontend "Esqueci a senha"
Página /esqueci-senha + /redefinir-senha com token do hash
👤 Claude📅 Concluído: 2026-04-24
✅ Pronto🎨 Frontend🟡 Médio
Login com mensagem clara para e-mail não verificado
Se needsVerification, mostra dica para check spam
👤 Claude📅 Concluído: 2026-04-24
✅ Pronto🎨 Frontend🟠 Alto
Dashboard completo do usuário
6 páginas: Home, Conversões, Números, Plano, Configurações, Admin
👤 Claude📅 Concluído: 2026-02-01
✅ Pronto🎨 Frontend🟠 Alto
Painel admin com 4 abas (Overview, Users, Tickets, Errors)
Componentes reutilizáveis, KPIs, tabelas paginadas
👤 Claude📅 Concluído: 2026-04-23
✅ Pronto🏗️ Infraestrutura🟠 Alto
Graceful shutdown com timeout 30s
API aguarda conexões antes de forçar saída
👤 Claude📅 Concluído: 2026-04-23
✅ Pronto🏗️ Infraestrutura🟠 Alto
/health endpoint com check Redis
Retorna 503 se Redis indisponível
👤 Claude📅 Concluído: 2026-04-23
✅ Pronto🏗️ Infraestrutura🟡 Médio
Limpeza de buffers (audio.ts, worker.ts)
fill(0) em finally block, previne memory leaks
👤 Claude📅 Concluído: 2026-04-23
✅ Pronto🏗️ Infraestrutura🟠 Alto
Download timeout 30s com Promise.race
Previne travamentos em download de mídia
👤 Claude📅 Concluído: 2026-04-23
✅ Pronto🏗️ Infraestrutura🟢 Baixo
Atualização modelo Claude (sonnet-4-6)
worker.ts + monitor.ts com modelo mais recente
👤 Claude📅 Concluído: 2026-04-23
✅ Pronto📊 Monitoramento🟠 Alto
Monitor de saúde (3x dia: 8h, 14h, 20h BRT)
API + Landing + Dashboard; análise com Claude
👤 Claude📅 Concluído: 2026-04-23
✅ Pronto📊 Monitoramento🟡 Médio
Alertas de consumo de minutos via WhatsApp
50%, 80%, 100% — push automático para usuários
👤 Claude📅 Concluído: 2026-04-23
✅ Pronto📊 Monitoramento🟢 Baixo
Log de externalReference malformado (Asaas)
Detecta webhooks com ref vazio; não processa
👤 Claude📅 Concluído: 2026-04-23
⏳ Pendente🔐 Autenticação🟡 Médio
MFA (2FA via e-mail ou autenticador)
Segurança adicional para contas de negócios
👤 Backlog
⏳ Pendente🔐 Autenticação🟢 Baixo
Validação de força de senha (>8 chars, mix)
Atualmente apenas 6+ caracteres
👤 Backlog
⏳ Pendente🔒 Segurança🟡 Médio
CAPTCHA no registro (proteção contra bots)
hCaptcha ou similar
👤 Backlog
⏳ Pendente🔒 Segurança🟢 Baixo
Audit logs de ações sensíveis
Login, mudanças de senha, exclusão de conta
👤 Backlog
⏳ Pendente⚙️ API🟡 Médio
Retry automático de webhooks Asaas falhos
Fallback em caso de 5xx temporários
👤 Backlog
⏳ Pendente🏗️ Infraestrutura🟢 Baixo
Analytics integrado (conversão, churn, CAC)
Dashboard de negócios (não técnico)
👤 Product