ZapScript — Status & Progresso

Auditoria pré-launch, segurança e correções implementadas

Progresso Geral

84%
Total
38
Pronto
32
Em progresso
0
Pendente
6
✅ 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