Saltar al contenido principal

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 userColumn en el modelo TemplateVariable para 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_column en variables existentes.
  • La variable "nombre" de la plantilla de bienvenida ahora usa automáticamente el campo firstName del 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 /organization para 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:
    1. Usuario hace clic en el enlace del email
    2. Se acepta automáticamente la invitación
    3. Si el usuario es nuevo, se redirige a establecer contraseña
    4. Después de establecer la contraseña, login automático
    5. Redirección al dashboard
  • Página dedicada /setup-password para 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 individuales
  • organization_template_access: Asocia plantillas con organizaciones
  • Soporte para activar/desactivar acceso sin eliminar registros

Mejoras técnicas adicionales

Backend

  • Nuevos endpoints en StatsController para:
    • 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)
  • 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 OrganizationComponent con:
    • 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 AcceptInvitationComponent para aceptar invitaciones
  • Nuevo componente SetupPasswordComponent para establecer contraseña inicial
  • Integración con NavigationComponent para 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.