Roadmap
IZ-CentralForms ya cuenta con la base funcional implementada: API pública, modelo de datos, seguridad por API Key/Origin/CSRF, procesamiento de submissions, destinos email/webhook, logs de integración, endpoints administrativos de consulta y SDK Embed JS.
El siguiente foco no debe ser seguir ampliando la base técnica sin control, sino preparar la solución para operación real: administración, seguridad productiva, monitoreo, reintentos y despliegue en ambientes superiores.
Estado general
Sección titulada «Estado general»| Área | Estado | Comentario |
|---|---|---|
| Core API | Implementado | GET formulario, POST submission, Swagger y health check. |
| Seguridad base | Implementado | API Key SHA-256, Origin, CSRF stateful y rate limiting básico. |
| Procesamiento | Implementado base | Submissions persistidas antes de ejecutar destinos. |
| Email / Webhook | Implementado base | Ejecución fire-and-forget con IntegrationLogs. |
| Admin API | Implementado parcial | Existen endpoints administrativos de consulta. |
| Admin Panel | Pendiente | No existe interfaz administrativa completa. |
| SDK Embed | Implementado v0.2.0 | Render dinámico, CSRF, callbacks, auto-init y estilos base. |
| Despliegue productivo | Pendiente | Aún no hay ambiente QA/staging/producción confirmado. |
| Operación formal | Pendiente | No hay monitoreo, alertas, backups ni SLA productivo. |
| Fase | Nombre | Estado | Resultado |
|---|---|---|---|
| 1 | Core API | Implementado | API funcional para obtener formularios y procesar submissions. |
| 2 | Seguridad base | Implementado | Validación por API Key, Origin, CSRF y rate limiting. |
| 3 | Procesamiento e integraciones | Implementado base | Email, Webhook e IntegrationLogs ejecutados después de persistir. |
| 4 | SDK Embed | Implementado v0.2.0 | Integración de formularios en sitios externos. |
| 5 | Admin y operación | Pendiente / parcial | Falta panel, gestión funcional y operación formal. |
| 6 | Producción | Pendiente | Falta despliegue real, hardening, monitoreo y backup. |
Fase 1 - Core API
Sección titulada «Fase 1 - Core API»Estado: implementado.
Incluye:
- modelo de datos base;
- consumers;
- formularios;
- campos dinámicos;
- submissions;
- endpoint GET formulario;
- endpoint POST submission;
- Swagger/OpenAPI;
- health check.
Fase 2 - Seguridad base
Sección titulada «Fase 2 - Seguridad base»Estado: implementado con pendientes productivos.
Incluye:
- API Key con hash SHA-256;
- comparación segura de hash;
- validación de consumer activo;
- validación de Origin cuando se recibe el header;
- CSRF stateful en base de datos;
- expiración y uso único de CSRF;
- Admin Key con hash SHA-256;
- rate limiting básico para submit.
Pendientes:
- rotación formal de API Keys;
- autenticación administrativa con usuarios y roles;
- auditoría de acciones administrativas;
- CORS restringido por ambiente;
- HTTPS obligatorio fuera de local;
- rate limiting por consumer, IP u origin.
Fase 3 - Procesamiento e integraciones
Sección titulada «Fase 3 - Procesamiento e integraciones»Estado: implementado base.
Incluye:
- persistencia de submission antes de ejecutar integraciones;
- destinos configurables en
FormDestinations; - Email Service;
- Webhook Service;
- ejecución fire-and-forget;
- registro en
IntegrationLogs; - estados
Pending,Succeeded,FailedySkipped.
Pendientes:
- retry policy;
- reprocesamiento manual;
- dead-letter o cola de fallos;
- métricas básicas;
- alertas por integraciones fallidas;
- tablero operativo de errores.
Fase 4 - SDK Embed
Sección titulada «Fase 4 - SDK Embed»Estado: implementado v0.2.0.
Incluye:
- render dinámico de formularios;
- obtención automática de definición;
- manejo de CSRF;
- envío de submissions;
- validación visual básica;
- estados de carga, envío, éxito y error;
- callbacks del ciclo de vida;
- auto-init por atributos HTML;
- theming básico.
Pendientes:
- documentación pública de integración;
- ejemplos por framework o CMS si el cliente los requiere;
- estrategia de versionamiento del SDK;
- compatibilidad formal por navegador.
Fase 5 - Admin y operación
Sección titulada «Fase 5 - Admin y operación»Estado: parcial.
Implementado actualmente:
- endpoints admin para consultar submissions;
- endpoints admin para consultar integration logs;
- protección con
X-Admin-Key.
Pendiente:
- login administrativo real;
- roles y permisos;
- panel para gestionar consumers;
- panel para gestionar formularios y campos;
- panel para gestionar destinos email/webhook;
- visualización operativa de submissions;
- reprocesamiento controlado de integraciones fallidas;
- auditoría de cambios.
Fase 6 - Producción
Sección titulada «Fase 6 - Producción»Estado: pendiente.
Para considerar la solución lista para producción se requiere:
- ambiente QA/staging;
- ambiente productivo;
- SQL Server real;
- HTTPS obligatorio;
- SMTP real autorizado;
- secrets fuera del repositorio;
- Swagger restringido o deshabilitado;
- backups de base de datos;
- monitoreo de
/health; - revisión de
IntegrationLogs; - alertas operativas;
- procedimiento de rollback.
Priorización recomendada
Sección titulada «Priorización recomendada»| Prioridad | Iniciativa | Justificación |
|---|---|---|
| Alta | Admin Panel | Evita operar consumers, formularios y destinos directamente por SQL. |
| Alta | Gestión y rotación de API Keys | Necesario para producción y operación segura. |
| Alta | Retry/reprocesamiento de integraciones | Reduce impacto de fallos temporales en email/webhook. |
| Alta | Ambiente QA/Staging | Permite validar despliegue antes de producción. |
| Alta | Secrets y HTTPS productivo | Requisito mínimo de seguridad real. |
| Media | Métricas y alertas | Mejora soporte y detección temprana de incidentes. |
| Media | CORS por ambiente | Endurece exposición HTTP fuera de local. |
| Media | Auditoría administrativa | Necesaria cuando exista panel y usuarios reales. |
| Media | Tests automatizados | Necesarios para estabilizar seguridad, CSRF, API pública e integraciones antes de producción. |
| Media | Validación avanzada de campos | Permite reglas como regex, min/max, rangos y validaciones condicionales. |
| Baja | Versionado de formularios | Permite saber con qué versión exacta de formulario fue creada una submission. |
| Baja | Firma de webhooks | Permite que sistemas externos validen autenticidad con HMAC y timestamp. |
| Baja | CSRF stateless con HMAC | Evaluación futura; el modelo stateful actual es suficiente para la base inicial. |
Criterio de avance
Sección titulada «Criterio de avance»Una fase se considera cerrada cuando cumple tres condiciones:
- Está implementada en código.
- Está documentada.
- Tiene validación funcional o evidencia de prueba.
Nota de alcance
Sección titulada «Nota de alcance»El roadmap no reemplaza los documentos de arquitectura, seguridad, despliegue u operación. Su función es mostrar el estado de avance y ordenar las próximas decisiones técnicas del proyecto.