{"version":"2026-05-28","lastUpdated":"2026-05-28","purpose":"Orientar resposta a incidentes de seguranca e recuperacao por backup no Fuguetinho MVP/beta.","roles":[{"id":"incident_lead","name":"Lider do incidente","responsibilities":["Classificar severidade, coordenar decisoes e manter a linha do tempo do incidente.","Acionar responsaveis tecnicos, juridicos e operacionais conforme severidade.","Aprovar contencao, comunicacao e encerramento do incidente."]},{"id":"technical_owner","name":"Responsavel tecnico","responsibilities":["Investigar causa raiz, coletar evidencias tecnicas e executar contencao.","Validar integridade de banco, backups, webhooks, credenciais e logs.","Restaurar servicos e registrar mudancas aplicadas durante a resposta."]},{"id":"privacy_owner","name":"Responsavel por privacidade/LGPD","responsibilities":["Avaliar risco ou dano relevante a titulares.","Definir necessidade de comunicacao a titulares, lojistas, ANPD ou parceiros.","Garantir que evidencias preservem minimizacao e mascaramento de dados pessoais."]},{"id":"business_owner","name":"Responsavel operacional/comercial","responsibilities":["Coordenar atendimento a lojas parceiras e clientes impactados.","Priorizar continuidade de pedidos, pagamentos e entregas.","Apoiar comunicados externos aprovados pelo lider do incidente."]}],"contacts":[{"channel":"Privacidade/LGPD","contact":"privacidade@fuguetinho.com.br","purpose":"Solicitacoes de titulares, avaliacao LGPD e comunicacao de incidente envolvendo dados pessoais."},{"channel":"Operacao Fuguetinho","contact":"Definir telefone/e-mail de plantao antes de operacao publica","purpose":"Acionamento de lider do incidente e responsavel operacional fora do fluxo comum de suporte."},{"channel":"Provedores criticos","contact":"Manter contatos de hospedagem, banco, Stone/Pagar.me e Meta no cofre operacional","purpose":"Suporte emergencial de infraestrutura, pagamentos, webhooks e WhatsApp Cloud API."}],"severityLevels":[{"level":"SEV1","name":"Critico","examples":["Vazamento confirmado ou alta suspeita de dados pessoais sensiveis.","Indisponibilidade total de pedidos, pagamentos ou painel lojista em periodo de operacao.","Comprometimento de credenciais de producao, banco ou provedor de pagamento."],"targetFirstResponse":"Ate 30 minutos","targetContainment":"Ate 4 horas"},{"level":"SEV2","name":"Alto","examples":["Falha parcial de checkout, PIX, WhatsApp, push ou painel lojista.","Acesso indevido limitado, sem evidencia de exfiltracao ampla.","Perda ou corrupcao parcial de dados recuperavel por backup."],"targetFirstResponse":"Ate 2 horas","targetContainment":"Ate 1 dia util"},{"level":"SEV3","name":"Moderado","examples":["Erro operacional sem impacto amplo em dados pessoais ou pagamentos.","Alerta de seguranca sem exploracao confirmada.","Instabilidade pontual com workaround disponivel."],"targetFirstResponse":"Ate 1 dia util","targetContainment":"Ate 3 dias uteis"}],"phases":[{"id":"detect","title":"1. Detectar e abrir incidente","objective":"Identificar sinais, criar registro unico e iniciar linha do tempo.","actions":["Registrar data/hora, origem do alerta, ambiente, servico afetado e evidencias iniciais.","Checar sinais em logs sanitizados, health checks, webhooks, banco de dados, pagamentos e WhatsApp.","Classificar severidade inicial e acionar responsaveis conforme matriz SEV."],"outputs":["Registro de incidente aberto","Severidade inicial definida","Responsaveis acionados"]},{"id":"contain","title":"2. Conter","objective":"Reduzir impacto sem destruir evidencias importantes.","actions":["Revogar ou rotacionar tokens, senhas e chaves suspeitas.","Desabilitar integracoes, webhooks ou rotas afetadas quando necessario.","Bloquear acessos indevidos, pausar jobs/servidores afetados e preservar logs.","Congelar deploys nao relacionados ate estabilizacao."],"outputs":["Impacto estabilizado","Credenciais suspeitas revogadas","Mudancas de emergencia registradas"]},{"id":"evidence","title":"3. Coletar evidencias","objective":"Preservar informacoes tecnicas e operacionais para analise e auditoria.","actions":["Exportar logs minimizados do periodo afetado com hash/assinatura quando possivel.","Registrar IDs de pedidos, usuarios, lojas, webhooks, transacoes e backups relacionados.","Guardar comandos executados, commits, alteracoes de ambiente e responsaveis por cada decisao.","Evitar compartilhar dados pessoais completos em chats, tickets e relatorios."],"outputs":["Pacote de evidencias","Linha do tempo atualizada","Escopo preliminar do impacto"]},{"id":"risk","title":"4. Avaliar risco e dano","objective":"Determinar impacto a titulares, lojas, pagamentos e continuidade do negocio.","actions":["Identificar categorias de dados afetadas pelo inventario de dados e bases legais.","Avaliar confidencialidade, integridade, disponibilidade, volume, titulares e possibilidade de reversao.","Definir se ha risco ou dano relevante que exija comunicacao externa ou a ANPD.","Registrar decisao juridica/privacidade mesmo quando a comunicacao nao for necessaria."],"outputs":["Avaliacao de risco","Decisao de comunicacao","Lista de titulares/lojas potencialmente impactados"]},{"id":"recover","title":"5. Recuperar e restaurar","objective":"Retomar operacao com integridade verificada.","actions":["Validar ultimo backup integro antes de qualquer restauracao.","Restaurar primeiro em ambiente isolado quando houver suspeita de corrupcao ou exclusao indevida.","Executar smoke tests de saude, login, catalogo, pedido, pagamento, painel lojista e relatorios.","Liberar producao somente apos validacao tecnica e operacional."],"outputs":["Servicos restaurados","Integridade validada","Smoke tests registrados"]},{"id":"communicate","title":"6. Comunicar","objective":"Informar partes interessadas com clareza, sem expor dados desnecessarios.","actions":["Comunicar equipe interna e lojas parceiras quando houver impacto operacional.","Comunicar titulares e ANPD quando a avaliacao indicar risco ou dano relevante.","Informar medidas ja adotadas, riscos conhecidos, recomendacoes e canais de contato.","Manter comunicados sincronizados com o status real da investigacao."],"outputs":["Comunicados aprovados","Registro de destinatarios","Canal de atendimento preparado"]},{"id":"postmortem","title":"7. Encerrar e prevenir recorrencia","objective":"Aprender com o incidente e converter achados em melhorias verificaveis.","actions":["Documentar causa raiz, impacto final, tempo de deteccao, contencao e recuperacao.","Criar plano de acao com responsaveis, prazos e prioridade.","Atualizar runbooks, testes, alertas, segredos e politicas afetadas.","Revisar retencao de evidencias e descarte seguro quando o caso for encerrado."],"outputs":["Relatorio pos-incidente","Acoes corretivas priorizadas","Runbook atualizado"]}],"backupPolicy":{"scope":["Banco de dados PostgreSQL de producao e staging quando houver dados operacionais relevantes.","Arquivos de configuracao nao secretos versionados no repositorio.","Variaveis de ambiente e segredos mantidos em cofre/gerenciador seguro, fora do git.","Evidencias de incidentes, relatorios financeiros e documentos de compliance."],"cadence":["Backup completo diario do banco de producao.","Backup antes de migrations, seed destrutivo, deploys criticos ou mudancas de infraestrutura.","Retencao minima sugerida: 7 diarios, 4 semanais e 6 mensais, ajustavel por custo e obrigacao legal."],"security":["Criptografar backups em repouso e em transito.","Restringir acesso por menor privilegio e registrar downloads/restauracoes.","Separar credenciais de backup das credenciais de aplicacao.","Nao incluir dumps com dados pessoais em anexos de chat ou tickets sem necessidade e protecao adequada."],"targets":{"rpo":"Perda maxima aceitavel inicial: ate 24 horas no MVP/beta; revisar antes de operacao real intensa.","rto":"Tempo alvo de recuperacao inicial: ate 4 horas para SEV1 quando infraestrutura e backup estiverem disponiveis."},"restoreDrill":["Executar restauracao em ambiente isolado pelo menos mensalmente durante fase de testes e antes de eventos de venda.","Validar checks de integridade: migrations, seed nao destrutivo, /health, login, catalogo, pedido, pagamento simulado e painel lojista.","Registrar data, responsavel, backup usado, tempo de restauracao e falhas encontradas."]},"communicationTemplates":[{"audience":"Titulares/clientes","subject":"Comunicado sobre incidente de seguranca no Fuguetinho","body":["Identificamos um incidente que pode ter afetado determinados dados relacionados ao uso do Fuguetinho.","Ate o momento, os dados potencialmente envolvidos sao: [categorias de dados].","As medidas adotadas foram: [contencao, rotacao de credenciais, restauracao, correcoes].","Recomendamos: [acoes do titular, se houver].","Para duvidas, entre em contato por privacidade@fuguetinho.com.br."]},{"audience":"Lojas parceiras","subject":"Atualizacao operacional sobre incidente no Fuguetinho","body":["O incidente afetou: [pedidos/pagamentos/painel/comunicacoes].","Status atual: [investigando/contido/recuperado].","Acoes esperadas da loja: [confirmar pedidos, evitar operacoes, orientar clientes].","Nova atualizacao sera enviada ate: [data/hora]."]},{"audience":"Registro interno/ANPD quando aplicavel","subject":"Resumo tecnico e avaliacao LGPD","body":["Natureza do incidente: [descricao objetiva].","Dados e titulares afetados: [categorias/volume].","Medidas tecnicas e de seguranca utilizadas: [antes/durante/depois].","Riscos relacionados ao incidente: [avaliacao].","Medidas de mitigacao e recuperacao: [acoes e prazos]."]}],"readinessChecklist":["Definir nomes, telefones e e-mails dos responsaveis por cada papel antes de producao.","Configurar local seguro para backups criptografados e controle de acesso.","Executar e registrar primeiro teste de restauracao antes de operacao publica.","Manter variaveis e segredos fora do repositorio e rotacionaveis em ate 4 horas.","Confirmar que logs continuam mascarando telefone, CPF, endereco e payloads de provedores.","Garantir que webhooks de Stone e WhatsApp tenham assinatura obrigatoria em producao.","Revisar comunicados com responsavel juridico/privacidade antes de envio externo."]}