Skip to content

Botão de Pânico

Pré-requisitos de acesso

  • Permissão (módulo): panicButton
  • Licença/Feature: Nenhuma
  • Contêiner do menu: GERAL → grupo Auditoria

O que é / quando usar

A tela Botão de Pânico (/panic-button) é o kill-switch operacional de emergência da plataforma. Ela permite suspender imediatamente categorias inteiras de operações em todo o tenant — sem mexer usuário a usuário — quando se detecta um incidente em andamento (fraude em massa, exploração de bug, comprometimento de integração).

Cada categoria é um cartão independente que pode ser suspenso (parar) ou retomado (voltar a operar). É a contrapartida de resposta ao incidente; a detecção vem do Log antifraude e dos Alertas de Auditoria.

Pré-condições

  • Permissão: módulo panicButton. Permissão é dupla — enum CPM no backend + módulo dinâmico no DB. Os botões de suspender/retomar são protegidos pela diretiva *appHasPermission="'panicButton'".
  • Licença/Feature: nenhuma.
  • Dependências de outras telas: nenhuma. O efeito é global no tenant — os serviços consultam o estado de suspensão (AntifraudService) antes de executar a operação correspondente.

Passo a passo

  1. Acesse o menu GERAL → Auditoria → Botão de Pânico.
  2. A tela exibe um cartão por categoria, cada um com seu status atual (Ativo ou Suspenso).
  3. Para suspender: clique em Suspender no cartão, informe o motivo (mín. 10 caracteres) e o código MFA (6 dígitos) no diálogo e confirme.
  4. Para retomar: clique em Retomar no cartão e informe o código MFA (6 dígitos).
  5. Cartões suspensos mostram quem suspendeu, o motivo e a data.

Categorias de suspensão

CategoriaValor (suspensionType)O que para no backend
Criação de contaaccount_creationBloqueia novos cadastros/aberturas de conta no tenant
SaqueswithdrawalsBloqueia saques (PIX/banco/cripto) — contém vazamento de fundos em incidente
TransferênciastransfersBloqueia transferências internas/externas
Criação de ordensorder_creationBloqueia abertura de novas ordens (ex.: compra/venda)
Compras automáticasauto_purchasesBloqueia execuções automáticas/recorrentes de compra

Campos (diálogo de suspensão)

CampoO que éObrigatório?Efeito no sistema/backend
MotivoJustificativa da suspensãoSim (mín. 10 caracteres)Gravado em reason; vira trilha de auditoria do incidente
Código MFACódigo de 6 dígitos do app autenticadorSim (padrão ^\d{6}$)Re-autenticação obrigatória para a ação sensível (step-up). Sem MFA válido, o backend rejeita

No retomar, apenas o código MFA é exigido (não pede motivo).

Ações e modais

  • Suspender: abre o diálogo de ação (suspend); ao confirmar, envia suspensionType + reason + mfaCode. Em sucesso, recarrega os status e exibe confirmação. Erros do backend (ex.: MFA inválido) são exibidos com a mensagem retornada.
  • Retomar: abre o diálogo de ação (resume); ao confirmar, envia suspensionType + mfaCode e reabre a categoria.
  • Atualizar: recarrega o estado de todas as categorias.

Regras de negócio / cuidados

Efeito imediato e abrangente

  • A suspensão é um kill-switch global do tenant: afeta todos os usuários daquela categoria de operação instantaneamente, não apenas suspeitos. Use com critério — é uma medida de contenção de incidente, não de gestão rotineira.
  • Esquecer uma categoria suspensa paralisa o negócio (ex.: account_creation suspenso impede qualquer novo cliente). Sempre retome assim que o incidente for contido.

Atenção

  • Step-up obrigatório: tanto suspender quanto retomar exigem código MFA (re-autenticação). Isso garante que o kill-switch não seja acionado por uma sessão sequestrada.
  • A ação registra quem suspendeu (suspendedBy), motivo e data — é a trilha de auditoria do incidente. Em uma resposta coordenada, registre no motivo o número do incidente.
  • O Botão de Pânico não é 4-eyes (dupla aprovação): é uma ação unilateral protegida por step-up. Para decisões que exigem dois aprovadores, use os fluxos de aprovação previstos no ADR de antifraude de admin.

Exemplos

Cenário 1 — Conter saque em massa durante um incidente

Suspeita-se de exploração que está drenando fundos via saques cripto. O operador de segurança:

  1. Abre Botão de Pânico e clica Suspender no cartão Saques (withdrawals).
  2. No diálogo, escreve o motivo: "INC-2026-014: bloqueio de saques por suspeita de exploit no fluxo cripto" e informa o MFA de 6 dígitos.
  3. Confirma. A partir desse instante, nenhum saque é processado no tenant. O cartão passa a Suspenso, mostrando o operador, o motivo e a data.
  4. Após a correção e validação, clica Retomar, informa o MFA, e os saques voltam a operar.
Cenário 2 — Pausar cadastros durante uma onda de contas fraudulentas

Detecta-se criação automatizada de contas (bot). O operador suspende a categoria Criação de conta (account_creation) com motivo "Onda de cadastros automatizados — bloqueio preventivo". Novos cadastros param; usuários existentes seguem operando normalmente. Quando o filtro/captcha é reforçado, a categoria é retomada.

Cenário 3 — Congelar compras automáticas após erro de precificação

Um bug de cotação está disparando compras automáticas a preço errado. O operador suspende Compras automáticas (auto_purchases), contendo o prejuízo, enquanto a equipe corrige a precificação. As demais operações (saques, transferências) continuam liberadas, minimizando o impacto no negócio.

Telas relacionadas