Versión 1.1 · 1 de noviembre de 2026
1. Funciones
El cliente es el responsable del tratamiento de los datos personales de sus usuarios. El operador es el encargado del tratamiento, y actúa únicamente siguiendo las instrucciones documentadas del cliente, que son: prestar el servicio Calcutab tal como se describe en las Condiciones.
2. Qué se trata
| Categoría | Datos | Origen |
|---|---|---|
| Identidad | nombre, dirección de correo, URL de la foto de perfil | el inicio de sesión del usuario con Google o Atlassian; para una persona sin usuario, solo el nombre, introducido por un responsable |
| Tiempo de trabajo | días, horas y minutos registrados, por día natural, por producto, marcados como desarrollo o mantenimiento y por fase del ciclo de vida | introducido por el usuario, o por un responsable en su nombre |
| Organización | rol, nivel, equipo, departamento, tarifas diarias asociadas | introducido por los responsables del cliente |
| Actividad de Jira | claves y resúmenes de las incidencias que el usuario tocó, y el día; nunca el cuerpo de los comentarios | extraído del Jira del cliente cuando el cliente lo conecta |
| Slack | el identificador de Slack del usuario, buscado una vez por correo | cuando el cliente conecta Slack |
| Registro | quién cambió qué y cuándo | generado por el servicio |
Los interesados son los empleados y contratistas del cliente que el cliente registra en Calcutab: aquellos a quienes se asigna una plaza, que inician sesión, y aquellos que un responsable registra por su nombre sin usuario, que nunca inician sesión ni ocupan una plaza. De una persona sin usuario guardamos su nombre, el tiempo registrado para ella, los datos de organización anteriores y el registro; nunca una dirección de correo, una foto, actividad de Jira ni un identificador de Slack.
3. Duración
Durante la vigencia del acuerdo, y después el borrado según lo establecido en la declaración de conservación.
4. Obligaciones del encargado (art. 28.3)
- Instrucciones. Solo tratamos según lo instruido; le avisaremos si una instrucción parece infringir la normativa de protección de datos.
- Confidencialidad. Toda persona con acceso a los datos está sujeta a confidencialidad.
- Seguridad (art. 32). Se expone en la sección 6.
- Subencargados. Solo los de la sección 7; avisaremos de cualquier cambio con 30 días de antelación, y usted podrá oponerse.
- Derechos de los interesados. Le ayudaremos a responder: los datos de un usuario pueden exportarse y borrarse siguiendo su instrucción.
- Personas sin usuario. No pueden iniciar sesión, así que no pueden descargar ni borrar sus propios datos. Su solicitud le llega a usted; un responsable exporta o borra sus datos desde su perfil, y le ayudaremos como con cualquier interesado.
- Notificación de brechas. Le notificaremos sin dilación indebida tras tener conocimiento de una violación de la seguridad de los datos personales, con lo que sepamos en ese momento y con actualizaciones a medida que averigüemos más. Nuestro procedimiento interno está escrito y ensayado (
docs/incident-response.md). Su plazo de 72 horas ante la autoridad de control empieza cuando se lo comunicamos, y lo sabemos. - Borrado y devolución. Al terminar, usted exporta; nosotros borramos según la declaración de conservación, y lo confirmamos por escrito si lo pide.
- Auditoría. Pondremos a disposición la información necesaria para demostrar el cumplimiento y permitiremos auditorías por su parte o por un auditor que usted designe, con un preaviso razonable.
5. Dónde están los datos
En la UE. La aplicación se ejecuta en Google Cloud Run en europe-west1 (Bélgica) y la base de datos en Neon sobre AWS eu-central-1 (Fráncfort). Las copias de seguridad permanecen en la UE. El servicio en sí no realiza ninguna transferencia fuera de la UE/EEE; consulte la lista de subencargados para ver a qué se compromete cada uno.
Para un cliente en Canadá esto es una transferencia fuera de Canadá. La PIPEDA permite una transferencia para su tratamiento cuando el cliente sigue siendo responsable de los datos y asegura por medios contractuales una protección comparable; este acuerdo es ese medio. La Ley 25 de Quebec exige además al cliente realizar una evaluación de impacto sobre la privacidad antes de comunicar información personal fuera de Quebec, y contar con un acuerdo escrito: este acuerdo, junto con las secciones 6 y 7, está redactado para que esa evaluación pueda completarse a partir del documento.
6. Medidas de seguridad (art. 32)
- Los datos de cada cliente están aislados por identificador de inquilino en cada consulta, y la propia base de datos lo impone: las referencias cruzadas entre inquilinos se rechazan mediante claves externas compuestas.
- Las credenciales que el cliente nos confía (tokens de API de Jira, tokens de Slack) se cifran en reposo con AES-256-GCM; la clave se guarda fuera de la base de datos, en Google Secret Manager, y nunca en el repositorio.
- Todo el tráfico va por TLS. Las cookies de sesión son Secure, HttpOnly, SameSite. En cada página se envía una Content-Security-Policy por petición.
- Los niveles de acceso se imponen en el servidor; las cifras de dinero nunca se envían a un navegador cuyo usuario no pueda verlas.
- Un registro que solo admite añadidos recoge los cambios de tarifa, de pertenencia, de ajustes y los registros hechos en nombre de otros.
- Las copias de seguridad se toman con el procedimiento de restauración ensayado, no supuesto.
- Una alerta avisa al operador si el servicio o su base de datos dejan de ser alcanzables.
- Las contraseñas, donde un espacio de trabajo las usa en lugar de Google o Atlassian, se guardan como hashes scrypt con sal y nunca de forma legible. Los tokens de invitación y de restablecimiento se guardan solo como su SHA-256, de modo que una base de datos filtrada no completa ninguno.
- Antes de cada publicación se ejecutan quince comprobaciones automáticas contra un despliegue, que cubren el aislamiento entre inquilinos, los niveles de acceso, la falsificación de sesiones y la divulgación de información.
Lo que no está implantado, dicho aquí para que no se descubra: ninguna prueba de intrusión independiente, ninguna guardia localizable, ninguna certificación SOC 2 ni ISO 27001. Véase /security para la lista completa.
7. Subencargados
| Subencargado | Finalidad | Ubicación |
|---|---|---|
| Google Cloud (Cloud Run, Secret Manager, Cloud Monitoring, Cloud Scheduler) | ejecutar la aplicación, guardar secretos, alertar, las dos tareas programadas | europe-west1 (Bélgica); se aplica el DPA de Google |
| Neon | la base de datos PostgreSQL | AWS eu-central-1 (Fráncfort) |
| Resend | invitaciones, restablecimientos de contraseña, recordatorios y el resumen semanal | región de la UE; se aplica su DPA |
| Google (inicio de sesión) | solo autenticación; recibimos nombre, dirección de correo y foto | según sus condiciones |
| Atlassian (inicio de sesión) | solo autenticación, si se usa: nombre, dirección de correo e identificador de cuenta | según sus condiciones |
| Atlassian Jira | solo si usted lo conecta, y solo leyendo lo que enumera la sección 2 | su propia instancia |
| Slack | solo si usted lo conecta, para entregar recordatorios | su propio espacio de trabajo |
No se utiliza ningún otro subencargado. Esta lista es la completa; cambiarla es cambiar este documento, y la sección 4 dice cómo se le informa.
8. Ley aplicable
Este acuerdo se rige por el derecho de la República Federal de Alemania y forma parte de las Condiciones del servicio. Cuando el RGPD y ese derecho difieran, prevalece el RGPD.
Este acuerdo pretende satisfacer, y no limitar, los derechos que un interesado tiene conforme a la PIPEDA de Canadá o a la Ley sobre la protección de la información personal en el sector privado de Quebec, modificada por la Ley 25.
9. Contacto
Consultas sobre protección de datos, solicitudes de los interesados y notificaciones de brechas: support@calcutab.com.
Acusamos recibo de una solicitud de un interesado en 72 horas y la respondemos dentro del plazo que permite el RGPD. Una violación de datos personales que afecte a sus datos se le notifica sin dilación indebida y, en todo caso, dentro de las 72 horas siguientes a que tengamos conocimiento de ella.