Estado: 29.08.2026
Versión: 1.2
Ámbito de aplicación: Art. 32 RGPD, Art. 28 Abs. 3 lit. c RGPD
1. Control de acceso físico
Medidas que impiden que personas no autorizadas accedan a las instalaciones de tratamiento de datos:
- Centro de datos: Los servidores se operan en Hetzner Online GmbH en Falkenstein (Alemania). El centro de datos dispone de un control de acceso físico de varios niveles.
- Control de acceso al centro de datos: Videovigilancia las 24 horas del día, esclusa de personas con control de identificación y biometría, registro de accesos.
- Armario de servidores: Bloqueo físico de los racks de servidores. Acceso solo para personal autorizado de Hetzner.
- Oficinas: Las oficinas de flowgeist están equipadas con un sistema mecánico de cerraduras. Acceso solo para personas autorizadas.
- Gestión de llaves: Gestión estricta de llaves con documentación de la entrega y devolución de llaves.
- Control de visitantes: Los visitantes son registrados y acompañados durante toda su estancia.
2. Control de acceso lógico
Medidas que impiden que personas no autorizadas utilicen sistemas de tratamiento de datos y accedan a datos personales:
- Autenticación: El acceso a sistemas y aplicaciones requiere una autenticación fuerte mediante nombre de usuario y contraseña.
- Políticas de contraseñas: Aplicación de políticas de contraseñas (longitud mínima, complejidad, cambio regular). Las contraseñas se almacenan con hash Argon2id.
- Autenticación multifactor (MFA): Obligatoria para todos los accesos administrativos y administradores de tenant. Implementación mediante TOTP (Time-based One-Time Password).
- Control de acceso basado en roles (RBAC): Control de acceso estrictamente basado en roles. Los usuarios solo reciben los permisos necesarios para su rol (principio de mínimo privilegio).
- Aislamiento multi-tenant: Cada cliente (tenant) obtiene un área de datos aislada. Todas las consultas se filtran por tenant; la asignación de tenant se resuelve en el servidor desde el contexto de autenticación y se aplica mediante una cadena de guards en cada solicitud.
- Registro de accesos: Todos los accesos a sistemas y datos personales se registran (registro de auditoría).
- Gestión de sesiones: Cierre de sesión automático por inactividad. Rotación de refresh-tokens para prevenir el abuso de tokens.
- Bloqueo: Bloqueo automático de cuentas tras varios intentos fallidos de inicio de sesión.
3. Control de transmisión
Medidas que garantizan que los datos personales no puedan ser leídos, copiados, modificados o eliminados de forma no autorizada durante la transmisión electrónica:
- Cifrado de transporte: Todas las transmisiones de datos se realizan cifradas mediante TLS 1.2 o TLS 1.3 (Transport Layer Security). El uso de protocolos obsoletos (SSL, TLS 1.0, TLS 1.1) está desactivado.
- HTTPS: Toda la comunicación web se realiza exclusivamente a través de HTTPS (HSTS activado).
- Cifrado de API: Todos los endpoints de API requieren conexiones cifradas (HTTPS/TLS 1.2/1.3).
- Gestión de certificados: Uso de certificados TLS válidos con renovación automática. Supervisión de la validez de los certificados.
- Conexiones a base de datos: Las conexiones a la base de datos PostgreSQL 16 están cifradas (SSL/TLS).
- Transmisión de copias de seguridad: Las copias de seguridad se transmiten cifradas.
- WAF (Web Application Firewall): Actualmente no se ha implementado un Web Application Firewall dedicado; su despliegue está previsto. La protección se realiza actualmente mediante limitación de peticiones (rate limiting) y cabeceras de seguridad en el proxy inverso.
4. Control de entrada
Medidas que permiten verificar y determinar a posteriori si, por quién y en qué medida se han introducido, modificado o eliminado datos personales en sistemas de tratamiento de datos:
- Registro de auditoría: Registro de todas las acciones relevantes para la seguridad, incluyendo:
- Momentos de inicio y cierre de sesión
- Acciones realizadas (crear, leer, modificar, eliminar)
- Identificador de usuario de la persona que actúa
- Dirección IP del sistema que accede
- Marca de tiempo
- Registro de datos de uso de herramientas: Registro de quién ha prestado y devuelto qué herramienta, con marca de tiempo e identificador de usuario.
- Registro de acciones administrativas: Todas las acciones administrativas (gestión de usuarios, cambios de roles, configuración de tenant) se registran.
- Protección de integridad de los registros: Los registros de auditoría se almacenan separados de los datos operativos y protegidos contra modificaciones posteriores (append-only por convención, sin rutas de actualización en la aplicación). Está prevista una verificación criptográfica adicional (cadena de hash).
- Conservación de los registros: Los registros de auditoría se eliminan automáticamente tras el plazo de conservación configurado (actualmente 12 meses). Los eventos de seguridad (inicio/cierre de sesión, dirección IP) se conservan en un registro de seguridad separado durante 2 años.
- Versionado: Los cambios de datos se documentan con versiones, cuando sea aplicable.
5. Control de encargo
Medidas que garantizan que los datos personales tratados por encargo solo se traten conforme a las instrucciones del responsable del tratamiento:
- Vinculación contractual: Celebración de contratos de encargado del tratamiento (AVV) conforme al Art. 28 RGPD con todos los subencargados del tratamiento.
- Vinculación a instrucciones: Tratamiento de datos personales exclusivamente según las instrucciones documentadas del responsable del tratamiento.
- Control de subencargados del tratamiento: Selección cuidadosa y revisión periódica de los subencargados del tratamiento (Hetzner Online GmbH, Mistral AI SAS, Serper.dev).
- Obligaciones contractuales: Todos los empleados y subencargados del tratamiento están contractualmente obligados a mantener la confidencialidad.
- Documentación: Documentación completa de los procesos de tratamiento e instrucciones.
6. Control de disponibilidad
Medidas que protegen los datos personales contra la destrucción accidental o pérdida:
- Estrategia de copias de seguridad: Copias de seguridad automatizadas periódicas de la base de datos PostgreSQL 16. Las copias de seguridad completas se crean diariamente.
- Conservación de copias de seguridad: Las copias de seguridad se almacenan cifradas y se mantienen según los plazos de conservación definidos.
- Prueba de copias de seguridad: Verificación periódica de la restauración de copias de seguridad (pruebas de restore).
- Redundancia: Uso de componentes del sistema redundantes para evitar puntos únicos de fallo.
- Supervisión: Supervisión continua de la disponibilidad y el rendimiento del sistema. Alerta automática ante incidencias.
- Alta disponibilidad: La infraestructura de Hetzner Online GmbH ofrece alimentación eléctrica, refrigeración y conexiones de red redundantes.
- Plan de emergencia: Plan de emergencia documentado (Disaster Recovery Plan) con Recovery Time Objectives (RTO) y Recovery Point Objectives (RPO) definidos.
- Tolerancia a fallos: Reinicio automático ante fallos del sistema. Supervisión de la integridad del sistema.
7. Control de separación
Medidas que garantizan que los datos personales recogidos para diferentes finalidades de tratamiento puedan tratarse de forma separada:
- Aislamiento multi-tenant: Separación lógica estricta de los datos entre diferentes clientes (tenants). Cada tenant obtiene un área de datos aislada a nivel de aplicación.
- Separación de base de datos: Los datos de diferentes tenants se separan en la base de datos PostgreSQL 16 mediante estrictos tenant-IDs. Los controles de acceso garantizan que las consultas se filtren siempre de forma específica por tenant.
- Separación por roles: Separación funcional mediante RBAC. Los datos para diferentes finalidades de tratamiento (p. ej., registros de auditoría, datos de uso, datos de facturación) se almacenan y gestionan de forma separada.
- Separación de entornos: Separación estricta de entornos de producción, staging y desarrollo. Los datos de producción no se utilizan en entornos que no son de producción.
- Separación de registros: Los registros de auditoría se almacenan separados de los datos operativos para garantizar una conservación protegida contra manipulaciones.
8. Cifrado
Medidas para garantizar la confidencialidad e integridad de los datos personales mediante cifrado:
- Cifrado de transporte: TLS 1.2 y 1.3 para todas las transmisiones de datos (HTTPS, API, conexiones a base de datos, transmisión de copias de seguridad).
- Cifrado en reposo: Cifrado AES-256 para datos almacenados (base de datos, copias de seguridad, sistemas de archivos).
- Hashing de contraseñas: Las contraseñas se almacenan con Argon2id, un procedimiento de hashing moderno y seguro. No se almacenan contraseñas en texto plano.
- Secretos MFA: Los secretos TOTP para la autenticación multifactor se almacenan en la base de datos del lado del servidor; está previsto el cifrado a nivel de campo. Los códigos de recuperación se almacenan como hash Argon2.
- Gestión de claves: Gestión segura de las claves de cifrado. Las claves se almacenan separadas de los datos cifrados.
- Sin datos de pago: flowgeist TOOL actualmente no procesa datos de pago y no almacena datos de tarjetas de crédito.
9. Seudonimización
Medidas de seudonimización de datos personales:
- Identificadores seudónimos: Las referencias internas (IDs de tenant, IDs de usuario) se gestionan como UUIDs y no contienen atributos personales.
- Eliminación de datos de auditoría: Las direcciones IP en los registros de seguridad se eliminan automáticamente tras el vencimiento del plazo de conservación.
- Tenant-IDs: La asignación de datos a un cliente determinado se realiza a través de tenant-IDs seudónimos, que no permiten una inferencia directa sobre la identidad del cliente sin acceso a la tabla de asignación.
10. Revisión periódica
Medidas para la revisión y evaluación periódica de la eficacia de las medidas técnicas y organizativas:
- Revisión de los TOMs: Revisión y actualización periódica de las medidas técnicas y organizativas, al menos anualmente.
- Auditorías de seguridad: Revisión periódica de las configuraciones de seguridad y los derechos de acceso.
- Pruebas de penetración: Realización periódica de pruebas de penetración y revisiones de seguridad de la plataforma.
- Gestión de vulnerabilidades: Supervisión continua y resolución de vulnerabilidades conocidas (Vulnerability Management). Actualizaciones y patch-management periódicos.
- Plan de respuesta a incidentes: Proceso documentado para la respuesta a incidentes de seguridad. Definición de responsabilidades y vías de escalado.
- Sensibilización de empleados: Formación y sensibilización periódica de los empleados en materia de protección de datos y seguridad de la información.
- Supervisión: Supervisión continua de sistemas y redes para la detección de anomalías y posibles incidentes de seguridad.
- Evaluación de registros: Evaluación periódica de registros de auditoría y registros de acceso para la detección de abusos.
11. Subencargados del tratamiento
Los siguientes subencargados del tratamiento se emplean en el marco del tratamiento de datos personales para flowgeist TOOL:
| Subencargado del tratamiento | Ubicación | Finalidad | Relación con terceros países | AVV | TOMs |
|---|
| Hetzner Online GmbH | Alemania (Falkenstein) | Hosting, base de datos (PostgreSQL 16), copia de seguridad | Sin terceros países | Sí (Art. 28 Abs. 4 RGPD) | Sí |
| Mistral AI SAS | Francia (FR) | Generación de texto por IA y análisis de imágenes (Mistral Vision API) | Ninguna (solo UE) | Sí (Art. 28 Abs. 4 RGPD) | Sí |
| Serper.dev | EE. UU. (US) | Búsqueda web para funciones con soporte de IA | EU-US Data Privacy Framework + SCC | Sí (Art. 28 Abs. 4 RGPD) | Sí |
Hetzner Online GmbH: Como proveedor de hosting, Hetzner Online GmbH trata datos personales en Alemania (Falkenstein). No se produce ninguna transferencia a terceros países. Con Hetzner se ha celebrado un contrato de encargado del tratamiento conforme al Art. 28 Abs. 4 RGPD. Hetzner dispone de TOMs propios conforme al Art. 32 RGPD que garantizan el nivel de protección para el tratamiento en Alemania.
Mistral AI SAS: La plataforma utiliza la Mistral Vision API para análisis de imágenes y generación de texto con soporte de IA. Mistral AI tiene su sede en Francia (Estado miembro de la UE), sin transferencia a terceros países. El RGPD es directamente aplicable. Con Mistral AI se ha celebrado un AVV conforme al Art. 28 Abs. 4 RGPD. Los datos transmitidos (solicitudes de imágenes y texto) se eliminan tras el procesamiento.
Serper.dev: La plataforma utiliza la API de Serper.dev para búsqueda web en el marco de funciones con soporte de IA. Serper.dev tiene su sede en EE. UU. (tercer país). La transferencia de datos se realiza sobre la base del EU-US Data Privacy Framework y cláusulas contractuales tipo adicionales (SCC). Con Serper.dev se ha celebrado un AVV conforme al Art. 28 Abs. 4 RGPD. Solo se transmiten consultas de búsqueda (sin datos maestros).
12. Historial de cambios
| Versión | Fecha | Cambios principales |
|---|
| 1.0 | 08.08.2026 | Versión inicial de los TOMs para flowgeist TOOL |
| 1.1 | 29.08.2026 | Corrección de la lista de subencargados: inclusión de Mistral AI SAS y Serper.dev como subencargados; eliminación de la afirmación “sin servicios de IA externos” (contradecía la implementación en el código) |
| 1.2 | 22.09.2026 | Revisión de código (matriz de afirmaciones): Stripe eliminado como subencargado (procesamiento de pagos actualmente no implementado); TLS unificado a 1.2/1.3; WAF marcado como previsto; retención de auditoría corregida a los plazos implementados (12 meses auditoría / 2 años registro de seguridad); cifrado de secretos TOTP marcado como previsto; afirmación multi-tenant precisada a filtrado a nivel de aplicación; seudonimización de IP sustituida por eliminación |