Versión 0.4.0
Publicado el 7 de noviembre de 2025
Destacados
Sistema de variables de plantillas
- Nueva gestión de variables para plantillas de email desde el panel de administración.
- Cada variable puede asociarse a una columna de la tabla de usuarios para extracción automática de valores.
- Interfaz visual mejorada para crear, editar y eliminar variables de forma intuitiva.
- El sistema de cron utiliza automáticamente los valores de las columnas de usuarios cuando están configuradas.
Panel de administración mejorado
- Nueva sección "Gestionar Variables" en cada plantilla de email.
- Visualización clara de todas las variables con su código, tipo, columna asociada y estado de requerimiento.
- Formulario completo para configurar variables con soporte para valores por defecto y mapeo a columnas de usuarios.
Extracción automática de datos
- Las variables pueden extraer valores automáticamente de campos del usuario como nombre, apellido, email, teléfono o empresa.
- El sistema procesa estas variables diariamente mediante un cron job para mantener los valores actualizados.
- Soporte para variables manuales cuando no se requiere extracción automática.
Mejoras técnicas
Backend
- Nuevo campo
userColumnen el modeloTemplateVariablepara indicar la columna de origen de datos. - Método mejorado de extracción de valores usando reflexión con manejo especial para relaciones como
company. - Endpoints REST completos para gestión CRUD de variables de plantillas.
- Actualización del servicio de procesamiento de variables para priorizar valores de columnas de usuarios.
Frontend de administración
- Componente modal dedicado para gestión de variables con tabla interactiva.
- Selector de columnas de usuarios con opciones predefinidas (firstName, lastName, email, username, telefono, company).
- Indicadores visuales para distinguir variables automáticas (con columna) de manuales.
- Validación de campos requeridos y tipos de variables.
Mejoras en el Dashboard
Mascota animada "Pou"
- Nueva mascota animada que refleja tu puntuación de seguridad con 5 estados diferentes:
- Muy feliz (18-20 puntos): Expresión muy alegre con mejillas rosadas y animación enérgica
- Feliz (15-17 puntos): Sonrisa amplia con mejillas visibles
- Neutral (10-14 puntos): Expresión equilibrada
- Triste (5-9 puntos): Expresión preocupada con animación suave
- Muy triste (0-4 puntos): Expresión muy preocupada con animación más pronunciada
- Diseño detallado con brillos, sombras y animaciones fluidas
- Tamaño aumentado para mejor visibilidad
- Mensajes motivacionales personalizados según el estado
Mejoras de usabilidad
- El dashboard ahora muestra tu nombre en lugar del email en el mensaje de bienvenida
- Diseño completamente responsive para una experiencia óptima en todos los dispositivos
- Mejor espaciado y organización de elementos en pantallas grandes
- Botones de acción ("Enviar Simulaciones" y "Ver Actividad") mejor posicionados
Mejoras técnicas adicionales
Gestión de versión
- La versión de la aplicación ahora se gestiona desde variables de environment
- La versión se muestra automáticamente en el footer de la aplicación
- Facilita la gestión de versiones en diferentes entornos (desarrollo, producción)
Scripts SQL
- Script SQL de inicialización actualizado para incluir el campo
user_columnen variables existentes. - La variable "nombre" de la plantilla de bienvenida ahora usa automáticamente el campo
firstNamedel usuario. - Configuración de aplicación actualizada para ejecutar automáticamente el script de inicialización de variables.
Gestión de Organizaciones
Sistema de invitaciones
- Los administradores de organización pueden invitar usuarios por email
- Sistema de invitaciones con tokens únicos y expiración automática
- Invitaciones por email con enlaces directos para aceptar
- Soporte para diferentes tipos de supervisor (VIEWER, SUPERVISOR, MANAGER, ADMIN)
- Mensajes personalizados en las invitaciones
Página de organización
- Nueva página dedicada
/organizationpara visualizar información de la organización - Estadísticas agregadas de la organización:
- Total de usuarios
- Puntos promedio
- Estadísticas de phishing (recibido, entrado, enviado)
- Total de entrenamientos completados
- Tabla de usuarios de la organización con sus métricas individuales
- Visualización del rol del usuario en la organización (ADMIN, MANAGER, VIEWER, etc.)
Funcionalidades de administración (ADMIN)
-
Gestión de invitaciones:
- Enviar invitaciones a múltiples usuarios por email
- Ver historial de invitaciones enviadas con sus estados (PENDING, ACCEPTED, REJECTED, EXPIRED)
- Seleccionar tipo de supervisor para cada invitación
- Mensajes personalizados opcionales
-
Gestión de plantillas:
- Asignar plantillas de phishing a la organización
- Ver plantillas disponibles y asignadas
- Remover plantillas de la organización
- Los usuarios de la organización solo pueden usar las plantillas asignadas
Aceptar invitaciones y establecer contraseña
- Flujo completo de aceptación de invitaciones:
- Usuario hace clic en el enlace del email
- Se acepta automáticamente la invitación
- Si el usuario es nuevo, se redirige a establecer contraseña
- Después de establecer la contraseña, login automático
- Redirección al dashboard
- Página dedicada
/setup-passwordpara establecer contraseña inicial - Validación de contraseñas (mínimo 6 caracteres, confirmación)
- Login automático después de establecer la contraseña
Control de acceso a plantillas
Sistema de acceso basado en organización
- Las plantillas de phishing ahora pueden estar asociadas a:
- Usuarios individuales: Plantillas compradas o asignadas directamente
- Organizaciones: Plantillas asignadas a toda la organización
- Los usuarios solo pueden ver y usar las plantillas a las que tienen acceso
- Los ADMINs de organización pueden gestionar qué plantillas están disponibles para su organización
Nuevas tablas de base de datos
user_template_access: Asocia plantillas con usuarios individualesorganization_template_access: Asocia plantillas con organizaciones- Soporte para activar/desactivar acceso sin eliminar registros
Mejoras técnicas adicionales
Backend
- Nuevos endpoints en
StatsControllerpara:- Estadísticas de organización (
/api/stats/organization/{id}) - Lista de usuarios de organización (
/api/stats/organization/{id}/users) - Enviar invitaciones de organización (
POST /api/stats/organization/{id}/invitations) - Obtener invitaciones (
GET /api/stats/organization/{id}/invitations) - Gestión de plantillas de organización (GET, POST, DELETE)
- Estadísticas de organización (
- Endpoint para aceptar invitaciones (
POST /api/admin/companies/invitations/{token}/accept) - Endpoint para establecer contraseña (
POST /api/auth/setup-password) - Verificación de permisos de ADMIN de organización
- Método
isOrganizationAdmin()para validar permisos
Frontend
- Nuevo componente
OrganizationComponentcon:- Visualización de estadísticas de organización
- Tabla de usuarios con métricas
- Modales para gestión de invitaciones y plantillas (solo ADMIN)
- Nuevo componente
AcceptInvitationComponentpara aceptar invitaciones - Nuevo componente
SetupPasswordComponentpara establecer contraseña inicial - Integración con
NavigationComponentpara mostrar pestaña "Organización" cuando el usuario pertenece a una - Detección automática de rol de ADMIN para mostrar opciones de gestión
Seguridad y permisos
- Verificación de permisos en todos los endpoints de organización
- Solo ADMINs de organización pueden:
- Enviar invitaciones
- Gestionar plantillas de la organización
- Ver estadísticas agregadas (si tienen
hasStatsAccess)
- Validación de tokens de invitación con expiración
- Protección contra uso de tokens inválidos o expirados
Próximos pasos sugeridos
- Revisa las variables de tus plantillas existentes y configura las columnas de usuarios apropiadas.
- Crea nuevas variables personalizadas para plantillas específicas de tu organización.
- Verifica que el cron job esté procesando correctamente las variables automáticas.
- Explora las posibilidades de personalización usando variables con valores por defecto para casos especiales.
- Si eres ADMIN de una organización, invita a tus usuarios y asigna las plantillas que necesiten.
- Revisa las estadísticas de tu organización para identificar áreas de mejora en ciberseguridad.