Notas de versión¶
Cambios visibles para el usuario, agrupados por release. Versionado SemVer.
v1.0 — Versión inicial¶
Plataforma multi-tenant de gestión del desempeño con:
Multi-tenancy¶
- Aislamiento por tenant via Global Query Filters de EF Core
- Subdominio por tenant:
{slug}.eval360pro.com - Branding propio: logo + color primario
- Wizard de onboarding al primer login
Autenticación¶
- 4 roles de organización: TenantAdmin, HRManager, Manager, Employee
- Cookie auth para Razor MVC + JWT Bearer para API
- 2FA via TOTP (Google Authenticator, Microsoft Authenticator, 1Password, etc.)
- Reset de contraseña por email
- Confirmación de email
- Lockout: 5 intentos fallidos → 10 min de bloqueo
- Rate limiting: 10 req/min/IP en endpoints de auth, 200 req/min/IP global
- Persistencia de Data Protection Keys en
App_Data/DataProtection-Keys/
Organización¶
- Departamentos jerárquicos (con padre)
- Empleados con manager, departamento, cargo, status
- Historial de cargos automático (al cambiar JobProfile)
- Cuenta de acceso opcional (Employee puede existir sin login)
- Import CSV masivo de empleados
Catálogos¶
- Competencias: categorías + competencias con descriptores conductuales por nivel
- Frameworks de habilidades: import JSON genérico (compatible con SFIA), versionado, scope global o por tenant
- Perfiles de cargo (JobProfile): con requisitos (competencias y/o skills, nivel requerido, peso, flag crítico). Versionado.
Evaluaciones 360°¶
- Plantillas reutilizables con ítems tipados (Competency, FrameworkSkill, Goal, OpenQuestion)
- Ciclos con estados: Draft / Open / InProgress / Closed / Archived
- Tipos de evaluador: Self, Manager, Peer, DirectReport, Stakeholder
- Auto-asignación de pares y reportes directos (con preferencia mismo depto)
- Asignación manual de participants
- Pesos configurables por tipo (defaults: Self 0.20, Manager 0.50, Peer 0.20, DirectReport 0.05, Stakeholder 0.05)
- Auto-save de borradores
- Snapshot del JobProfile en el momento de generar la evaluación
- Calibración manual (HR override de scores)
- Acuso recibo por el subject
Análisis¶
- Análisis de brechas (GAP): cálculo automático contra el perfil del cargo
- Heatmap: matriz visual con códigos de color (verde/amarillo/naranja/rojo)
- Mapa 9-Box: Performance × Potencial
- Dashboards distintos según rol:
- Empleado: perfil, evaluaciones pendientes, brechas, próximo paso, radar
- Manager: equipo con fit, brechas, planes, evaluaciones pendientes
- HR/TenantAdmin: stats organizacionales
Planes de desarrollo¶
- Generación automática desde brechas críticas
- Tipos de acción: Course, Mentoring, OnTheJob, Reading, Certification, Other
- Apuntan a competencia o skill objetivo con nivel a alcanzar
- Estados: Planned, InProgress, Completed, Skipped
- Evidencias adjuntables (URL o archivo)
- Flujo de aprobación: Draft → PendingApproval → Approved/Rejected
Objetivos (OKR)¶
- Goals con descripción, fechas, status (Draft/Active/AtRisk/Completed/Cancelled)
- Key Results con valor inicial/objetivo/actual, peso
- Progreso del goal calculado como promedio ponderado de los KRs
- Reportes de avance con notas
- Alineación jerárquica (goal padre)
Mapas de carrera¶
- Career paths con steps ordenados (cargo + tenure típico)
- Readiness % calculado automáticamente contra el siguiente cargo
- Vista del empleado: dónde está + qué le falta para promover
Email¶
- 6 plantillas: invitation, cycle-opened, deadline-reminder, results-published, plan-assigned, password-reset
- Editor WYSIWYG (TinyMCE) con vista de código + preview en vivo + send-test
- Variables interpolables
{{Var}}con chips clickeables - Override por tenant + override de plataforma (4-tier resolution)
- 4 proveedores: SMTP, Microsoft Graph OAuth, Gmail OAuth, Fallback de plataforma
- Secretos cifrados (AES-256)
- Multi-idioma (es, en con fallback automático)
Planes comerciales¶
- 4 planes seedeados: Trial (5/1), Starter (50/4), Pro (250/12), Enterprise (∞/∞)
- Enforcement de límites: empleados activos + ciclos por año calendario
- Indicador de uso visible para TenantAdmin
Audit log¶
- Eventos de auth (login, password, 2FA, email confirm)
- Eventos de tenant (creación, status, plan, impersonation)
- Eventos de plantillas de email
- Detalles JSON + IP + user-agent
- Filtros por tipo, entidad, fecha
- Audit log del tenant
Exports¶
- PDF de evaluación individual (QuestPDF)
- Excel de Heatmap de brechas (ClosedXML)
- Excel de Mapa 9-Box (ClosedXML)
Internacionalización¶
- 2 idiomas iniciales: es, en (cargados desde JSON en
App_Data/Localization/) - Selector de idioma por usuario (preferencia persistida)
- 30+ zonas horarias IANA disponibles para configurar el tenant
API REST¶
- Documentación interactiva via Swagger en
/swagger - Auth dual: JWT Bearer (clientes API) o Cookie (browser)
- Convenciones: snake-case en URLs, camelCase en JSON, IDs como Guid, timestamps UTC ISO 8601
- Rate limiting + soft delete + paginación estándar
Seguridad¶
- 2FA obligatorio recomendado para administradores
- CSRF protection en formularios Razor
- Security headers globales (X-Frame, CSP, Referrer-Policy, HSTS)
- CSP report endpoint en
/api/csp-report - Aislamiento cross-tenant a nivel base de datos
- Soft delete + audit trail completo
- Encriptación de secretos sensibles