Skip to content

Botón de Pánico

Requisitos previos de acceso

  • Permiso (módulo): panicButton
  • Licencia/Característica: Ninguna
  • Contenedor del menú: GENERAL → grupo Auditoría

Qué es / cuándo usar

La pantalla Botón de Pánico (/panic-button) es el interruptor de emergencia operacional de la plataforma. Permite suspender inmediatamente categorías enteras de operaciones en todo el tenant — sin tocar usuario a usuario — cuando se detecta un incidente en curso (fraude masivo, explotación de bug, compromiso de integración).

Cada categoría es una tarjeta independiente que puede ser suspendida (parar) o reanudada (volver a operar). Es la contrapartida de respuesta a la gestión de incidentes; la detección proviene del Registro Antifraude y de las Alertas de Auditoría.

Requisitos previos

  • Permiso: módulo panicButton. El permiso es dual — enum CPM en el backend + módulo dinámico en la DB. Los botones de suspender/reanudar están protegidos por la directiva *appHasPermission="'panicButton'".
  • Licencia/Característica: ninguna.
  • Dependencias de otras pantallas: ninguna. El efecto es global en el tenant — los servicios verifican el estado de suspensión (AntifraudService) antes de ejecutar la operación correspondiente.

Paso a paso

  1. Navega a GENERAL → Auditoría → Botón de Pánico.
  2. La pantalla muestra una tarjeta por categoría, cada una con su estado actual (Activo o Suspendido).
  3. Para suspender: haz clic en Suspender en la tarjeta, proporciona la razón (mín. 10 caracteres) y el código MFA (6 dígitos) en el diálogo, y confirma.
  4. Para reanudar: haz clic en Reanudar en la tarjeta y proporciona el código MFA (6 dígitos).
  5. Las tarjetas suspendidas muestran quién las suspendió, la razón y la fecha.

Categorías de suspensión

CategoríaValor (suspensionType)Qué se detiene en el backend
Creación de cuentaaccount_creationBloquea nuevos registros/aperturas de cuenta en el tenant
RetiroswithdrawalsBloquea retiros (PIX/banco/cripto) — contiene fuga de fondos en un incidente
TransferenciastransfersBloquea transferencias internas/externas
Creación de órdenesorder_creationBloquea apertura de nuevas órdenes (p. ej., compra/venta)
Compras automáticasauto_purchasesBloquea ejecuciones automáticas/recurrentes de compra

Campos del diálogo (suspensión)

CampoQué es¿Obligatorio?Efecto en el sistema/backend
RazónJustificación de la suspensiónSí (mín. 10 caracteres)Se registra en reason; se convierte en la pista de auditoría del incidente
Código MFACódigo de 6 dígitos de la aplicación autenticadoraSí (patrón ^\d{6}$)Re-autenticación obligatoria para la acción sensible (step-up). Sin un MFA válido, el backend lo rechaza

En reanudar, solo se requiere el código MFA (razón no se solicita).

Acciones y modales

  • Suspender: abre el diálogo de acción (suspend); en la confirmación, envía suspensionType + reason + mfaCode. En caso de éxito, recarga el estado y muestra una confirmación. Los errores del backend (p. ej., MFA inválido) se muestran con el mensaje devuelto.
  • Reanudar: abre el diálogo de acción (resume); en la confirmación, envía suspensionType + mfaCode y reabre la categoría.
  • Actualizar: recarga el estado de todas las categorías.

Reglas de negocio / cuidados

Efecto inmediato y amplio

  • La suspensión es un interruptor global para el tenant: afecta a todos los usuarios en esa categoría de operación instantáneamente, no solo a sospechosos. Usa con criterio — es una medida de contención de incidentes, no de gestión rutinaria.
  • Dejar una categoría suspendida paraliza el negocio (p. ej., account_creation suspendido impide cualquier nuevo cliente). Siempre reanuda en cuanto el incidente esté contenido.

Advertencia

  • Step-up obligatorio: tanto suspender como reanudar requieren código MFA (re-autenticación). Esto asegura que el interruptor de emergencia no sea activado por una sesión comprometida.
  • La acción registra quién la suspendió (suspendedBy), razón y fecha — es la pista de auditoría del incidente. En una respuesta coordinada, registra el número del incidente en el campo de razón.
  • El Botón de Pánico no es de 4 ojos (doble aprobación): es una acción unilateral protegida por step-up. Para decisiones que requieren dos aprobadores, usa los flujos de aprobación definidos en el ADR antifraude de admin.

Ejemplos

Escenario 1 — Contener retiros masivos durante un incidente

Se sospecha una explotación que está drenando fondos a través de retiros de cripto. El operador de seguridad:

  1. Abre Botón de Pánico y hace clic en Suspender en la tarjeta Retiros (withdrawals).
  2. En el diálogo, escribe la razón: "INC-2026-014: bloqueo de retiros por sospecha de exploit en flujo cripto" y proporciona el código MFA de 6 dígitos.
  3. Confirma. Desde ese momento, ningún retiro se procesa en el tenant. La tarjeta cambia a Suspendido, mostrando el operador, razón y fecha.
  4. Después de la corrección y validación, hace clic en Reanudar, proporciona el código MFA, y los retiros vuelven a operar.
Escenario 2 — Pausar registros durante una onda de cuentas fraudulentas

Se detecta creación automatizada de cuentas (bot). El operador suspende la categoría Creación de cuenta (account_creation) con razón "Onda de creación automatizada de cuentas — bloqueo preventivo". Los nuevos registros se detienen; los usuarios existentes continúan operando normalmente. Cuando el filtro/captcha se refuerza, la categoría se reanuda.

Escenario 3 — Congelar compras automáticas después de un error de fijación de precios

Un bug de cotización está disparando compras automáticas a precio incorrecto. El operador suspende Compras automáticas (auto_purchases), conteniendo la pérdida, mientras el equipo corrige la fijación de precios. Otras operaciones (retiros, transferencias) permanecen habilitadas, minimizando el impacto empresarial.

Pantallas relacionadas