1. Visión general de la seguridad
Complair es un espacio de cumplimiento que trata datos regulatorios sensibles. La seguridad no es un añadido — es un requisito central del producto. Aplicamos defensa en profundidad: múltiples capas de protección para que ningún punto único de fallo pueda comprometer los datos del cliente.
2. Infraestructura y alojamiento
- Proveedor: Hetzner Online GmbH — empresa alemana de hosting con centros de datos certificados ISO 27001.
- Ubicación: Fráncfort, Alemania (Unión Europea). Todos los datos de la aplicación — base de datos, copias de seguridad, almacenamiento de archivos — permanecen en la UE.
- Base de datos: PostgreSQL, ejecutada en instancias dedicadas con volúmenes de almacenamiento cifrados.
- Red: reglas de cortafuegos que imponen acceso de mínimo privilegio. Acceso SSH solo por clave; sin acceso por contraseña a los servidores. Todo el tráfico de administración está cifrado.
- Parcheo: las actualizaciones del sistema operativo y de dependencias se aplican con regularidad. Los parches críticos de seguridad se aplican en un plazo de 24 horas tras su divulgación.
3. Cifrado
| Capa | Estándar | Detalles |
|---|---|---|
| En tránsito | TLS 1.2+ | Todo el tráfico HTTP se sirve por HTTPS. HSTS está habilitado. TLS 1.0 y 1.1 están deshabilitados. |
| En reposo | AES-256 | Los volúmenes de la base de datos, las copias de seguridad y los archivos subidos están cifrados en reposo. |
| Contraseñas | bcrypt | Las contraseñas de los usuarios se hashean con bcrypt (factor de coste 12). Nunca almacenamos contraseñas en texto claro. |
| Copias de seguridad | AES-256 | Copias diarias cifradas con procedimientos de restauración probados. Rotación fuera del almacenamiento frío en 35 días. |
4. Autenticación y control de acceso
- Autenticación: gestión de sesiones con Devise con cookies seguras HTTP-only y SameSite. Las sesiones están limitadas al espacio de trabajo.
- Política de contraseñas: se exige longitud mínima; detección de contraseñas comprometidas mediante las comprobaciones integradas de Devise.
- Acceso basado en roles: tres roles (member, admin, owner) aplicados mediante políticas Pundit en cada acción de controlador.
- Espacios solo por invitación: los nuevos usuarios solo pueden incorporarse a un espacio mediante una invitación explícita de un admin o un owner.
- Gestión de sesiones: las sesiones expiran tras inactividad. Los usuarios pueden cerrar sesión en todos los dispositivos.
5. Aislamiento de inquilinos
Complair es una aplicación multi-tenant. Cada registro pertenece a una sola empresa. El aislamiento se aplica mediante alcance en la aplicación, autorización y algunos controles de modelo:
- Alcance de aplicación: los controladores autenticados resuelven la empresa actual y cargan los datos del tenant a través de esa empresa. Algunos modelos de mayor riesgo también usan
acts_as_tenant. - Capa de autorización: las políticas Pundit proporcionan una segunda comprobación — incluso si un registro se cargase por error, se denegaría el acceso salvo que el usuario pertenezca a la empresa correcta.
- Probado: el aislamiento multi-tenant está cubierto por pruebas automatizadas que verifican que se bloquea el acceso entre tenants.
6. Seguridad de la aplicación
- Protecciones del framework: Rails ofrece defensas integradas frente a CSRF, XSS, inyección SQL, mass assignment y clickjacking. Todas están habilitadas.
- Content Security Policy: se aplica una cabecera CSP para reducir el riesgo de cross-site scripting e inyección de datos.
- Escaneo de dependencias: escaneo automatizado de vulnerabilidades conocidas en gemas Ruby y paquetes JavaScript. Las alertas se triangulan en 24 horas.
- Análisis estático: Brakeman (escáner de seguridad para Rails) se ejecuta como parte del pipeline CI. Los nuevos hallazgos bloquean el despliegue.
- Limitación de tasa: Rack::Attack limita intentos de autenticación, llamadas a la API y otros vectores de abuso.
- Filtrado de parámetros: los campos sensibles (contraseñas, tokens, claves API) se filtran de los registros.
7. Tratamiento de datos
- Minimización de datos: solo recopilamos lo necesario para prestar el Servicio. Los registros se limpian de campos sensibles.
- Procesamiento con IA: cuando se utilizan funciones de IA, los prompts se envían a Anthropic (API Claude) al amparo de sus condiciones comerciales de API. Anthropic no utiliza los datos de los prompts para entrenar modelos. No utilizamos los Datos del Cliente para entrenar nuestros propios modelos.
- Conservación: los Datos del Cliente se conservan durante la vigencia de la suscripción + 30 días para exportación. Las copias de seguridad se rotan en 35 días. Las facturas se conservan 10 años conforme a la ley contable rumana (Ley 82/1991).
- Supresión: al terminar la cuenta, todos los Datos del Cliente se eliminan permanentemente de producción en un plazo de 30 días. Los clientes pueden solicitar una supresión anticipada.
- Portabilidad: los clientes pueden exportar sus datos en cualquier momento en formatos PDF, Excel y estructurados.
8. Monitorización y registro
- Registro de aplicación: registros estructurados para eventos de autenticación, decisiones de autorización, accesos a datos y acciones administrativas.
- Rastro de auditoría: todas las acciones significativas de los usuarios quedan registradas en un registro de auditoría inmutable accesible para los administradores del espacio.
- Monitorización de errores: Sentry (alojado en la UE) captura los errores de la aplicación con datos personales depurados de las trazas.
- Alertas: detección de anomalías ante picos de inicios de sesión fallidos, patrones inusuales de uso de la API y salud de la infraestructura.
- Retención de registros: registros de aplicación durante 30 días. Registros de auditoría durante 2 años.
9. Respuesta a incidentes
Mantenemos un plan documentado de respuesta a incidentes que cubre identificación, contención, erradicación, recuperación y análisis post-mortem.
- Detección: la monitorización y las alertas automatizadas detectan anomalías en tiempo real.
- Notificación: si se confirma una violación de datos personales que afecta a Datos del Cliente, notificamos al Cliente afectado en un plazo de 48 horas y, cuando lo exige el RGPD, a la autoridad de control competente en un plazo de 72 horas.
- Comunicación: los clientes afectados reciben información clara y accionable sobre la naturaleza, el alcance y las medidas de mitigación recomendadas.
- Post-mortem: todo incidente de seguridad va seguido de un post-mortem sin atribución de culpa. Las lecciones aprendidas se incorporan a nuestros controles de seguridad.
10. Seguridad del personal
- Todo el personal con acceso a Datos del Cliente firma un acuerdo de confidencialidad.
- El acceso a los sistemas de producción sigue el principio de mínimo privilegio y se revisa trimestralmente.
- La formación en concienciación de seguridad se imparte anualmente.
- Los procedimientos de desvinculación garantizan la revocación inmediata de todos los accesos al finalizar la relación.
11. Certificaciones y cumplimiento
| Estándar | Estado |
|---|---|
| RGPD | Controles alineados |
| Reglamento de IA de la UE | Herramientas de preparación |
| SOC 2 Type II | En curso |
| ISO 27001 | Planificado |
Trabajamos activamente en la certificación SOC 2 Type II. Si necesita un cuestionario de seguridad actualizado o un paquete de evidencias, contacte con security@complair.eu.
12. Divulgación responsable
Valoramos la investigación responsable en materia de seguridad. Si descubre una vulnerabilidad en Complair, comuníquela a security@complair.eu.
- Proporcione una descripción clara de la vulnerabilidad y los pasos para reproducirla.
- Concédanos un tiempo razonable para investigar y solucionar el problema antes de su divulgación pública.
- No acceda, modifique ni elimine datos pertenecientes a otros clientes.
- Confirmaremos la recepción en un plazo de 2 días hábiles y pretendemos resolver los problemas confirmados en un plazo de 30 días.
13. Contacto
Preguntas de seguridad, solicitudes de cuestionarios de proveedores o notificaciones de incidentes: