Seguridad
Versión 2.0 · 15 de agosto de 2026
Documento sin terminar. Faltan por rellenar estos datos del titular: nombre, nif, domicilio, email. Se completan en src/lib/legal.ts.
Cómo se protegen los datos que Tornia guarda por cuenta de cada negocio. Está escrito para que un cliente, o la gestoría de un cliente, pueda comprobar qué hay detrás sin tener que fiarse de una promesa genérica.
Dónde están los datos
Todos los datos se alojan en la Unión Europea: la base de datos en Irlanda y la aplicación en el centro de datos de Dublín. No hay copias en Estados Unidos ni en ningún otro país fuera del Espacio Económico Europeo.
| Proveedor | Servicio | Ubicación |
|---|---|---|
| Supabase Inc. | Base de datos, autenticación y copias de seguridad | Irlanda (AWS eu-west-1), Unión Europea |
| Vercel Inc. | Alojamiento y entrega de la aplicación web | Irlanda (dub1), Unión Europea |
| Resend (Plus Five Five, Inc.) | Envío de avisos por correo electrónico | Estados Unidos, con cláusulas contractuales tipo de la UE |
La única excepción es el envío de correos de aviso, que trata en Estados Unidos la dirección de destino y el texto del mensaje al amparo de las cláusulas contractuales tipo de la Comisión Europea. Por ahí no viaja ningún fichaje ni ningún dato salarial.
Separación entre negocios
Es la medida más importante y conviene entenderla: la separación entre los datos de un negocio y los de otro no depende de que la aplicación se acuerde de filtrar. Está en la propia base de datos, con seguridad a nivel de fila (Row Level Security) activada en las 34 tablas y 71 políticas que deciden, para cada fila, quién puede leerla o escribirla.
En la práctica: aunque alguien lograra saltarse la interfaz y hablar directamente con la API, seguiría sin poder leer los datos de otro negocio, porque quien lo impide es la base de datos y no el programa que la consulta.
Qué no puede leer nadie, ni el proveedor
- Las contraseñas. Se guardan con funciones de resumen (hash) del sistema de autenticación; no existen en texto legible en ningún sitio.
- Los PIN de fichaje. Se guardan también como resumen, en una tabla sin ninguna política de lectura: es inaccesible desde la API por diseño. Si alguien lo olvida, se restablece y elige uno nuevo; nadie se lo puede decir.
- El token de cada tablet del quiosco, guardado igualmente como resumen, con bloqueo automático tras cinco intentos fallidos de vinculación en un minuto.
Quién ve qué dentro de un negocio
- Los salarios viven en una tabla aparte que solo lee el Jefe. El Administrador únicamente los ve si el Jefe activa el interruptor de costes, y un disparador en la base de datos impide que se lo active él mismo.
- El DNI vive también en su propia tabla: lo ven el Jefe, el Administrador y la persona interesada, nadie más de la plantilla.
- Un empleado ve el cuadrante del local —como el que se cuelga en la pared— pero no las horas de contrato, ni los fichajes, ni el motivo de las ausencias de sus compañeros.
- Las correcciones de fichajes quedan trazadas con los valores originales, su autor, la fecha y el motivo, y no se pueden borrar: solo anular dejando rastro.
Cifrado y transporte
- Todo el tráfico va cifrado con HTTPS/TLS, sin excepciones.
- La base de datos está cifrada en reposo por el proveedor.
- Las claves de servicio nunca llegan al navegador: las operaciones que las necesitan ocurren en el servidor.
Copias de seguridad
Con claridad, porque es lo que más se maquilla en este tipo de páginas: el plan contratado hoy con el proveedor de base de datos no incluye copias automáticas, así que cada negocio debe descargarse periódicamente sus datos desde la propia aplicación (recomendamos guardar el registro de jornada de cada mes).
Cada negocio puede sacar en cualquier momento sus propias copias desde la aplicación: el registro mensual de jornada en hoja de cálculo y los cuadrantes en PDF. Recomendamos guardar el registro de jornada de cada mes, porque es el documento que la ley obliga a conservar cuatro años.
Si algo va mal
Si se produjera una brecha de seguridad, el proveedor la comunica al negocio afectado en un máximo de 24 horas desde que tiene conocimiento, con la información necesaria para que este pueda cumplir su propio deber de notificar a la Agencia Española de Protección de Datos en 72 horas. Los detalles están en el contrato de encargado del tratamiento.
Si detectas un fallo de seguridad, escribe a [PENDIENTE: correo de contacto]. Se agradece el aviso y se responde: no se toman represalias contra quien informa de buena fe.
Lo que todavía no hacemos
Por honestidad, y porque un cliente exigente lo va a preguntar: no hay verificación en dos pasos, ni certificación ISO 27001, ni auditoría de seguridad externa. Son cosas razonables de pedir a un proveedor grande y están en la lista de mejoras, pero hoy no existen y preferimos decirlo a dejarlo caer.