0.2.1 (2026-04-18)¶
Mejoras de seguridad, hardening de la plataforma y mejoras en el panel de administración de usuarios.
✨ Features¶
- Audit log de eventos de seguridad con retención automática de 90 días (TTL index en MongoDB).
- Eventos registrados: login exitoso/fallido, bloqueo de cuenta, verificación MFA, cambio de contraseña, reset de contraseña, uso de código de recuperación, reset de MFA por admin.
- Invalidación de sesiones al cambiar contraseña: todos los tokens JWT emitidos antes del cambio quedan invalidados automáticamente.
- Panel de administración de usuarios: conteo de diagramas por usuario y nombre del plan de suscripción.
- Exportación Excel de usuarios incluye columnas de diagramas y plan.
🔧 Internal¶
- Security headers middleware: X-Content-Type-Options, X-Frame-Options, X-XSS-Protection, Referrer-Policy, Permissions-Policy, Cache-Control, HSTS (producción).
- Swagger/OpenAPI deshabilitado en producción (
/docs,/redoc,/openapi.jsonretornan 404). - Stack traces ocultos en producción: errores 500 retornan solo
{"detail": "Internal server error"}. - Rate limiting en login: máximo 10 intentos por IP por minuto.
- Account lockout: bloqueo temporal de 15 minutos tras 5 intentos fallidos consecutivos.
🐛 Fixes¶
- Corregido bug donde el banner MFA seguía apareciendo después de activar MFA (el estado
mfaEnabledno se recuperaba al recargar la página). - Corregido flujo de "Probar otro método" en verificación MFA: ahora muestra pantalla de selección en lugar de enviar email automáticamente.
- Códigos de recuperación ya no se regeneran al activar un segundo método MFA si ya existen códigos sin usar.
- Errores de compilación TypeScript corregidos para deploy en Digital Ocean.