Skip to content

Resposta a Incidentes

Tipos de incidente

1. Sistema fora do ar

Sintomas: Frontend inacessível, API retorna 5xx, Traefik retorna 502/503.

Passos:

  1. Verificar containers: docker ps | grep crm-galdix
  2. Ver logs do backend: docker logs crm-galdix-backend-1 --tail 100
  3. Ver logs do Traefik: docker logs traefik --tail 20
  4. Se container morreu: bash deploy.sh --restart
  5. Se precisa rebuild: bash deploy.sh

Regra: NUNCA usar docker compose up diretamente — ver deploy.

2. Comprometimento de credenciais

Se um secret foi exposto (token, API key, senha):

  1. Revogar imediatamente no serviço correspondente
  2. Gerar novo secret e atualizar no Azure Key Vault
  3. Fazer redeploy para propagar: bash deploy.sh
  4. Verificar logs de auditoria do período de exposição
  5. Notificar usuários/parceiros afetados conforme LGPD (se dados pessoais envolvidos)

Secrets críticos e onde revogar:

SecretOnde revogar
Clerk Secret KeyDashboard Clerk → API Keys
Token WhatsAppMeta Business Manager → Configurações
Azure credentialsPortal Azure → Registros de aplicativos
Internal API KeyGerar novo, atualizar Key Vault, redeploy

3. Vazamento de dados pessoais

Protocolo LGPD (Lei Geral de Proteção de Dados):

  1. Isolar: Identificar exatamente quais dados foram expostos e para quem
  2. Documentar: Registrar: hora do incidente, dados afetados, quantas pessoas, causa
  3. Corrigir: Fechar a vulnerabilidade antes de comunicar
  4. Notificar ANPD: Em até 72 horas se o incidente oferecer "risco ou dano relevante"
  5. Notificar titulares: Se o risco for alto, comunicar diretamente os afetados
  6. Registrar: Documentar o incidente e as medidas tomadas

Dados pessoais no sistema:

  • Nome, email, telefone de clientes
  • CPF (armazenado apenas como hash)
  • Histórico de compras
  • Histórico de conversas (via Chatwoot)

Contato para notificação: daniel.galdencio2560@gmail.com

4. Acesso não autorizado

Se suspeitar de acesso indevido:

  1. Ver log de auditoria: GET /audit/logs com filtros de data e userId
  2. Verificar logins no Clerk Dashboard → Users → Sessions
  3. Revogar sessões do usuário suspeito: POST /users/:id/reset-password
  4. Se necessário, deletar usuário: DELETE /users/:id
  5. Revisar permissões do papel do usuário

5. Campanha enviada para audiência errada

Se uma campanha foi disparada incorretamente:

  1. Não há como cancelar mensagens já entregues (Meta não oferece "unsend")
  2. Verificar quantas mensagens foram enviadas: GET /campaigns/:id
  3. Se a campanha ainda está em fila: DELETE /campaigns/:id cancela jobs pendentes
  4. Comunicar internamente o ocorrido
  5. Se clientes reclamarem: tratar individualmente

6. ERP sync com dados corrompidos

Se dados do Millennium chegaram incorretos:

  1. Verificar logs de sync: GET /erp/sync/history
  2. Identificar o range de datas afetado
  3. Corrigir na fonte (Millennium) se possível
  4. Re-executar sync para o período: POST /erp/sync/trigger com startDate/endDate
  5. Se necessário: POST /rfm/recompute para recalcular RFM

Contatos de emergência

ResponsávelPapelContato
Admin principalAcesso ao Azure Key Vault e servidordaniel.galdencio2560@gmail.com

Onde encontrar logs

bash
# Logs do backend em tempo real
docker logs crm-galdix-backend-1 -f

# Logs do frontend
docker logs crm-galdix-frontend-1 -f

# Logs salvos
ls /home/crm/logs/backend/

# Auditoria via API
GET /audit/logs?startDate=2026-05-20&endDate=2026-05-24

# Jobs com falha
POST /admin/queue/retry-failed