Version 1.1 · 1er novembre 2026
1. Rôles
Le client est le responsable du traitement des données personnelles de ses utilisateurs. L’exploitant est le sous-traitant, agissant uniquement sur les instructions documentées du client, à savoir : fournir le service Calcutab tel que décrit dans les Conditions.
2. Ce qui est traité
| Catégorie | Données | Source |
|---|---|---|
| Identité | nom, adresse e-mail, URL de la photo de profil | la connexion Google ou Atlassian de l’utilisateur ; pour une personne sans identifiant, le nom seul, saisi par un responsable |
| Temps de travail | journées, heures et minutes saisies, par jour civil, par produit, marquées comme développement ou maintenance et par phase du cycle de vie | saisi par l’utilisateur, ou par un responsable pour son compte |
| Organisation | rôle, niveau, équipe, département, taux journaliers qui s’y rattachent | saisi par les responsables du client |
| Activité Jira | clés et résumés des tickets touchés par l’utilisateur, et le jour ; jamais le corps des commentaires | récupéré depuis le Jira du client lorsque celui-ci le connecte |
| Slack | l’identifiant Slack de l’utilisateur, recherché une fois par e-mail | lorsque le client connecte Slack |
| Journal | qui a changé quoi et quand | généré par le service |
Les personnes concernées sont les salariés et prestataires du client que le client enregistre dans Calcutab : ceux à qui un poste est attribué, qui se connectent, et ceux qu’un responsable enregistre par leur nom sans identifiant, qui ne se connectent jamais et n’occupent aucun poste. Pour une personne sans identifiant, nous conservons son nom, le temps saisi pour elle, les données d’organisation ci-dessus et le journal ; jamais d’adresse e-mail, de photo, d’activité Jira ni d’identifiant Slack.
3. Durée
Pendant la durée de l’accord, puis suppression comme indiqué dans la déclaration de conservation.
4. Obligations du sous-traitant (art. 28, § 3)
- Instructions. Nous ne traitons que sur instruction ; nous vous informerons si une instruction paraît enfreindre le droit de la protection des données.
- Confidentialité. Toute personne ayant accès aux données est tenue à la confidentialité.
- Sécurité (art. 32). Exposée à la section 6.
- Sous-traitants ultérieurs. Uniquement ceux de la section 7 ; nous donnerons un préavis de 30 jours pour tout changement, et vous pourrez vous y opposer.
- Droits des personnes concernées. Nous vous aiderons à répondre : les données d’un utilisateur peuvent être exportées et supprimées sur votre instruction.
- Personnes sans identifiant. Elles ne peuvent pas se connecter, ni donc télécharger ou supprimer elles-mêmes leurs données. Leur demande vous parvient ; un responsable exporte ou supprime leurs données depuis leur profil, et nous vous aiderons comme pour toute personne concernée.
- Notification de violation. Nous vous notifierons sans retard injustifié après avoir eu connaissance d’une violation de données à caractère personnel, avec ce que nous savons alors et des mises à jour au fil de nos découvertes. Notre procédure interne est écrite et répétée (
docs/incident-response.md). Votre délai de 72 heures vis-à-vis de l’autorité de contrôle court à compter de notre information, et nous le savons. - Suppression et restitution. À la résiliation, vous exportez ; nous supprimons selon la déclaration de conservation, et le confirmons par écrit sur demande.
- Audit. Nous mettrons à disposition les informations nécessaires pour démontrer la conformité et permettrons des audits par vous ou par un auditeur que vous mandatez, moyennant un préavis raisonnable.
5. Où se trouvent les données
Dans l’UE. L’application tourne sur Google Cloud Run en europe-west1 (Belgique) et la base de données chez Neon sur AWS eu-central-1 (Francfort). Les sauvegardes restent dans l’UE. Aucun transfert hors UE/EEE n’est effectué par le service lui-même ; voir la liste des sous-traitants pour ce que chacun s’engage à faire.
Pour un client au Canada, il s'agit d'une communication hors du Canada. La LPRPDE autorise une communication aux fins de traitement lorsque le client demeure responsable des données et garantit par voie contractuelle une protection comparable ; le présent accord est ce moyen. La Loi 25 du Québec exige en outre du client qu'il réalise une évaluation des facteurs relatifs à la vie privée avant de communiquer des renseignements personnels à l'extérieur du Québec, et qu'une entente écrite soit en place ; le présent accord, avec les articles 6 et 7, est rédigé pour que cette évaluation puisse être menée à partir du document.
6. Mesures de sécurité (art. 32)
- Les données de chaque client sont isolées par identifiant de locataire sur chaque requête, et la base de données elle-même l’impose : les références croisées entre locataires sont rejetées par des clés étrangères composites.
- Les identifiants que le client nous confie (jetons d’API Jira, jetons Slack) sont chiffrés au repos en AES-256-GCM ; la clé est conservée hors de la base, dans Google Secret Manager, et jamais dans le dépôt.
- Tout le trafic est en TLS. Les cookies de session sont Secure, HttpOnly, SameSite. Une Content-Security-Policy par requête est envoyée sur chaque page.
- Les niveaux d’accès sont imposés côté serveur ; les montants ne sont jamais envoyés à un navigateur dont l’utilisateur n’a pas le droit de les voir.
- Un journal en ajout seul enregistre les changements de taux, d’appartenance, de paramètres et les saisies pour le compte d’autrui.
- Les sauvegardes sont prises avec une procédure de restauration répétée, et non supposée.
- Une alerte prévient l’exploitant si le service ou sa base devient injoignable.
- Les mots de passe, là où un espace de travail en utilise plutôt que Google ou Atlassian, sont conservés sous forme d’empreintes scrypt salées et jamais sous une forme lisible. Les jetons d’invitation et de réinitialisation ne sont conservés que sous leur SHA-256, de sorte qu’une base dérobée n’en complète aucun.
- Quinze contrôles automatisés s’exécutent contre un déploiement avant chaque mise en production, couvrant l’isolement des locataires, les niveaux d’accès, la falsification de session et la divulgation d’informations.
Ce qui n’est pas en place, dit ici pour ne pas être découvert : aucun test d’intrusion indépendant, aucune astreinte, aucune certification SOC 2 ni ISO 27001. Voir /security pour la liste complète.
7. Sous-traitants ultérieurs
| Sous-traitant | Finalité | Localisation |
|---|---|---|
| Google Cloud (Cloud Run, Secret Manager, Cloud Monitoring, Cloud Scheduler) | exécution de l’application, conservation des secrets, alertes, les deux tâches planifiées | europe-west1 (Belgique) ; le DPA de Google s’applique |
| Neon | la base de données PostgreSQL | AWS eu-central-1 (Francfort) |
| Resend | invitations, réinitialisations de mot de passe, rappels et la synthèse hebdomadaire | région UE ; leur DPA s’applique |
| Google (connexion) | authentification uniquement ; nous recevons nom, adresse e-mail et photo | selon leurs conditions |
| Atlassian (connexion) | authentification uniquement, si utilisée : nom, adresse e-mail et identifiant de compte | selon leurs conditions |
| Atlassian Jira | uniquement si vous le connectez, et en lecture seule de ce que liste la section 2 | votre propre instance |
| Slack | uniquement si vous le connectez, pour délivrer les rappels | votre propre espace de travail |
Aucun autre sous-traitant n’est utilisé. Cette liste est complète ; la modifier revient à modifier ce document, et la section 4 dit comment vous en êtes informé.
8. Droit applicable
Le présent accord est régi par le droit de la République fédérale d’Allemagne et fait partie des Conditions générales d’utilisation. Lorsque le RGPD et ce droit divergent, le RGPD prévaut.
Le présent accord vise à satisfaire, et non à limiter, les droits qu'une personne concernée tient de la LPRPDE du Canada ou de la Loi sur la protection des renseignements personnels dans le secteur privé du Québec, telle que modifiée par la Loi 25.
9. Contact
Demandes relatives à la protection des données, demandes des personnes concernées et notifications de violation : support@calcutab.com.
Nous accusons réception d’une demande d’une personne concernée sous 72 heures et y répondons dans le délai que prévoit le RGPD. Une violation de données personnelles touchant vos données vous est notifiée sans retard injustifié et en tout état de cause dans les 72 heures suivant notre prise de connaissance.