Política de Seguridad
Última actualización: febrero de 2025
1. Introducción
PrestaSAV otorga la máxima importancia a la seguridad de los datos de sus usuarios y de los clientes de sus tiendas PrestaShop. La presente política describe las medidas técnicas y organizativas implementadas para proteger la integridad, confidencialidad y disponibilidad de los datos.
2. Cifrado de datos
2.1 Credenciales sensibles
Todas las credenciales sensibles están cifradas con el algoritmo AES-256-GCM (Advanced Encryption Standard, 256 bits, modo Galois/Counter Mode):
- Claves API PrestaShop
- Contraseñas IMAP y SMTP
- Tokens de acceso a servicios externos
Cada tenant (tienda) dispone de una clave de cifrado derivada propia, lo que garantiza que el compromiso de una clave no afecta a los demás tenants.
2.2 Contraseñas de usuario
Las contraseñas de los usuarios se almacenan mediante hash bcrypt con salt aleatorio. La contraseña original nunca se almacena en claro ni de forma reversible.
2.3 Comunicaciones en tránsito
Todas las comunicaciones están protegidas por SSL/TLS:
- HTTPS para todas las conexiones web (TLS 1.2 mínimo)
- Conexiones IMAP y SMTP cifradas (STARTTLS o SSL/TLS)
- Conexiones a la API PrestaShop a través de HTTPS
- Conexiones a la API Anthropic (Claude) a través de HTTPS
3. Arquitectura segura
3.1 Aislamiento multi-tenant
PrestaSAV implementa un aislamiento estricto de los datos entre tenants mediante Row-Level Security (RLS) de PostgreSQL. Esta tecnología garantiza que cada tienda solo pueda acceder a sus propios datos, directamente a nivel de la base de datos, incluso en caso de vulnerabilidad en el código de la aplicación.
3.2 Contenedores Docker
La aplicación se ejecuta en contenedores Docker aislados, con separación de los servicios (aplicación, base de datos, caché, colas de trabajos). Cada contenedor opera con los privilegios mínimos necesarios.
3.3 Red interna aislada
Los servicios internos (PostgreSQL, Redis, BullMQ) funcionan en una red interna aislada, no accesible desde Internet. Solo la capa de aplicación (API REST) está expuesta tras un proxy inverso.
4. Control de acceso
4.1 Autenticación
- JWT (JSON Web Tokens) con expiración configurada (24 horas por defecto).
- Renovación automática de los tokens antes de su expiración.
- Invalidación de los tokens al cerrar la sesión o cambiar la contraseña.
4.2 Control por roles
PrestaSAV implementa un control de acceso basado en roles (RBAC):
- Administrador: acceso completo a la configuración, gestión de usuarios, configuración de la tienda y prompts IA.
- Agente: acceso a los tickets, respuestas y estadísticas. Sin acceso a la configuración sensible.
4.3 API REST protegida
Todos los endpoints de la API REST están protegidos por autenticación JWT y verificación de permisos. Protecciones activas contra ataques comunes:
- Limitación de tasa (rate limiting)
- Protección CORS
- Validación y saneamiento de las entradas
- Protección contra inyecciones SQL (consultas parametrizadas)
5. Integración con PrestaShop
- La conexión con PrestaShop se realiza a través de la API Webservices en modo solo lectura por defecto.
- PrestaSAV no modifica los datos de la tienda PrestaShop (productos, pedidos, clientes).
- La clave API PrestaShop está cifrada con AES-256-GCM y nunca se almacena en claro.
- Una opción facultativa de actualización del estado del pedido está disponible, pero requiere una activación explícita por parte del usuario y el permiso PUT en
/api/orders. - Adaptadores específicos por versión (1.6, 1.7, 8.x, 9.x) para gestionar las diferencias de API.
6. Inteligencia artificial
- PrestaSAV utiliza el modelo Claude Sonnet 4 de Anthropic para la clasificación de tickets y la generación de respuestas.
- Solo se transmiten los datos mínimos necesarios para el procesamiento (contenido del ticket, contexto del pedido).
- Anthropic no almacena los datos enviados a través de la API (según su política de tratamiento de datos API).
- Ninguna respuesta IA se envía automáticamente a un cliente. Toda respuesta requiere la validación humana obligatoria del comerciante.
- Los prompts de IA son personalizables y auditables por el usuario.
7. Copias de seguridad
- Copias de seguridad diarias automatizadas de la base de datos y de los ficheros de configuración.
- Retención de 30 días para las copias de seguridad.
- Copias de seguridad cifradas en reposo.
- Procedimiento de restauración probado y documentado.
8. Supervisión y registro
- Logs estructurados (JSON) mediante pino/winston para todos los componentes de la aplicación.
- Monitorización continua de la disponibilidad, el rendimiento y los errores.
- Alertas automáticas en caso de anomalía (tiempo de respuesta degradado, tasa de errores elevada, intento de intrusión).
- Registros de auditoría para las acciones sensibles (conexiones, modificaciones de configuración, envío de respuestas).
9. Gestión de incidentes
- Procedimiento de respuesta documentado con niveles de gravedad (bajo, medio, alto, crítico).
- Notificación a los usuarios afectados en un plazo de 72 horas en caso de violación de datos personales, conforme al RGPD (artículo 33).
- Notificación a la autoridad de protección de datos (CNIL) cuando proceda.
- Post-mortem sistemático tras cada incidente significativo, con identificación de las causas raíz y las medidas correctivas.
10. Actualizaciones de seguridad
- Auditorías de seguridad regulares del código y de la infraestructura.
- Seguimiento continuo de las vulnerabilidades conocidas (CVE) en las dependencias.
- Aplicación de parches críticos de seguridad en un plazo de 48 horas tras su publicación.
- Actualización regular de las dependencias y de las imágenes Docker.
11. Reporte de vulnerabilidades
Si descubre una vulnerabilidad de seguridad en PrestaSAV, le invitamos a contactarnos de manera responsable:
- Email: [email protected]
- Divulgación responsable: le rogamos que nos conceda un plazo razonable para corregir la vulnerabilidad antes de cualquier publicación.
- Nos comprometemos a acusar recibo de su reporte en un plazo de 48 horas y a mantenerle informado del proceso de corrección.
Agradecemos a las personas que contribuyen de manera responsable a mejorar la seguridad de nuestro servicio.
12. Revisión de la política
La presente política de seguridad se revisa como mínimo una vez al año o tras cualquier incidente significativo.
La fecha de la última actualización se indica en la parte superior de esta página.
