Saltar al contenido principal

RF06: Usuario elimina cuenta

Descripción

Como usuario autenticado, quiero eliminar mi cuenta y mis datos para ejercer mi derecho ARCO de cancelación/supresión (LFPDPPP Art. 24 / GDPR Art. 17).

La eliminación revoca todas las sesiones, cancela la suscripción activa en Stripe, y borra o anonimiza los datos personales respetando la Política de retención (algunos datos fiscales deben conservarse por obligación legal antes de la purga definitiva).

CampoValor
MóduloAuth Module (coordina con Subscription)
ActorUsuario autenticado
EndpointDELETE /auth/account
PrecondicionesSesión activa; reautenticación reciente
PrioridadMedia (derecho ARCO — primer trimestre post-MVP)
EtapaMVP
Requisitos relacionadosRF05, RF39, Compliance §4

Reglas de negocio

  • RN-06.1 — La eliminación exige confirmación explícita y reautenticación (contraseña o proveedor social) para prevenir borrados accidentales o por sesión robada.
  • RN-06.2 — Antes de borrar se cancela la suscripción Stripe (cancel_at_period_end o cancelación inmediata según política).
  • RN-06.3 — Se revocan todas las sesiones del usuario.
  • RN-06.4 — Datos con obligación fiscal (movimientos, facturas) se retienen anonimizados/cifrados durante el periodo legal (hasta 5 años) y luego se purgan; el resto se borra de forma segura.
  • RN-06.5 — La acción es irreversible y se informa claramente al usuario antes de confirmar.

Validaciones de entrada

CampoReglasMensaje de error
confirmationDebe coincidir con el texto/checkbox de confirmación."Confirma que deseas eliminar tu cuenta."
reauthContraseña válida o token social reciente."Verifica tu identidad para continuar."

Criterios de aceptación

Escenario 1: Eliminación exitosa

Dado que confirmo la eliminación y reautentico correctamente, Cuando envío la solicitud, Entonces el sistema cancela mi suscripción en Stripe, Y revoca todas mis sesiones, Y borra/anonimiza mis datos según la política de retención, Y responde 200 OK y me cierra la sesión, Y recibo un email de confirmación de eliminación.

Escenario 2: Reautenticación fallida

Dado que la contraseña/identidad de reautenticación es incorrecta, Cuando intento eliminar la cuenta, Entonces el sistema responde 401 y no elimina nada.

Escenario 3: Confirmación no otorgada

Dado que no confirmo explícitamente, Cuando intento continuar, Entonces la acción se bloquea y se muestra "Confirma que deseas eliminar tu cuenta".

Dado que tengo movimientos y facturas con obligación fiscal, Cuando se elimina mi cuenta, Entonces esos datos se anonimizan/cifran y se conservan el periodo legal, Y el resto de mis datos personales se borra de forma segura.

Criterios no funcionales

  • La operación es transaccional: si falla la cancelación en Stripe, no se borran datos y se informa el error.
  • Se registra el evento en el log de privacidad/auditoría.
  • Comunicación sobre TLS 1.2+.

Diagrama de secuencia