Sécurité, confidentialité et RGPD
Document de conformité client KairoProject — flux des données, sécurité, traitement IA/ML, droits RGPD et règles automatiques appliquées.
Version : avril 2026 — Document client de synthèse, centré sur l'état actuel du service.
Objet du document
Ce document décrit le fonctionnement actuel de KairoProject sous l'angle de la sécurité des données, de la confidentialité et du traitement des données personnelles. Il expose l'état actuel du service et le flux réel des données, sans présenter de feuille de route ni d'historique d'amélioration.
Définitions
| Terme | Définition |
|---|---|
| SaaS B2B | Logiciel accessible en ligne, fourni par abonnement à des entreprises |
| Firebase / Firestore | Services cloud utilisés pour stocker les données de l'application et faire fonctionner certains traitements serveur |
| Portfolio | Espace de regroupement de plusieurs projets |
| Organisation | Espace d'entreprise partagé entre plusieurs utilisateurs |
| Rôle | Niveau de droit d'un utilisateur dans un espace (owner, admin, member) |
| Owner | Responsable principal d'une organisation, avec les droits les plus élevés |
| Scope | Périmètre exact auquel une action ou un modèle s'applique |
| Route serveur | Point d'entrée technique utilisé pour traiter une action côté serveur |
| Admin SDK | Outil serveur donnant un accès technique à la base de données pour les opérations réservées au back-end |
| Job asynchrone | Traitement lancé en arrière-plan, sans bloquer l'utilisateur |
| Bucket de stockage | Espace de fichiers pour stocker temporairement des exports ou imports |
| Lien signé | Lien de téléchargement temporaire, valable pendant une durée limitée |
| DSAR | Demande liée aux droits sur les données personnelles (accès, export ou suppression) |
| OpenAI | Service externe utilisé pour certaines fonctions d'assistance IA |
| ML service | Service interne de KairoProject dédié aux prédictions et à l'entraînement des modèles |
| Modèle global | Modèle partagé, non réservé à un seul client |
| Modèle personnalisé | Modèle entraîné pour un seul espace client ou organisation |
| ETTC | Estimation du travail restant à accomplir sur une tâche |
| Fever | Indicateur visuel de suivi comparant progression et consommation de marge |
Vue d'ensemble
KairoProject est un SaaS B2B de pilotage de projets. Les données applicatives sont traitées dans Firebase / Firestore et via des traitements serveur contrôlés. Les accès sont séparés entre espaces personnels et organisations, avec vérification des droits avant lecture ou écriture côté serveur.
Les opérations sensibles de type export, suppression et journalisation RGPD sont traitées côté serveur et non exposées en accès direct au client web.
Flux principal des données
1. Données de compte et d'accès
- Les comptes utilisateurs sont gérés via Firebase Authentication.
- Les données de profil, d'abonnement, de droits et de préférences sont stockées dans Firestore.
- Chaque utilisateur accède uniquement à son espace personnel ou aux organisations pour lesquelles il dispose d'un droit valide.
- Les rôles sont séparés entre owner, admin et member.
2. Données métier
- Les portfolios, projets, tâches, ressources, historiques et paramètres applicatifs sont stockés dans Firestore.
- Les accès sont contrôlés à deux niveaux : par les règles Firestore et par des vérifications serveur explicites sur les routes utilisant l'Admin SDK.
- Les membres désactivés ou les utilisateurs simplement invités ne peuvent pas accéder aux données actives d'une organisation.
3. Export des données
- Un owner d'organisation peut déclencher un export de ses données sous forme de job asynchrone.
- Le résultat est stocké temporairement dans un bucket de stockage.
- Le lien de téléchargement est généré sous forme de lien signé temporaire.
4. Suppression des données
- La suppression d'une organisation suit une confirmation explicite par l'owner, puis un traitement asynchrone côté serveur.
- La suppression d'un compte utilisateur déclenche automatiquement, sans temporisation volontaire, la purge des données actives associées.
- Les opérations RGPD importantes sont journalisées avec horodatage, identifiant du sujet, identifiant de job et date de rétention.
5. Sauvegarde et restauration
- Les données applicatives sont stockées dans Firestore, service managé de Firebase / Google Cloud.
- Les mécanismes de sauvegarde et de restauration relèvent d'abord des capacités de cette infrastructure managée.
- KairoProject complète ce socle par ses propres mécanismes d'export, de suppression et de journalisation.
Accès administrateur
Les autres clients n'ont pas accès aux données d'une entreprise. L'éditeur conserve un accès administrateur technique encadré à l'infrastructure pour les besoins légitimes de support, maintenance, sécurité et obligations légales. Cet accès reste limité, nominatif et journalisé.
Traitement des données par l'IA et le ML
OpenAI
OpenAI est appelé côté serveur pour certaines fonctions d'assistance, de génération ou d'explication. Selon la fonctionnalité utilisée, les données suivantes peuvent être transmises à OpenAI : un brief saisi par l'utilisateur, des informations de contexte projet, des noms de tâches ou de structures, ou pour certaines analyses un résumé structuré du projet et des indicateurs de prédiction.
Les appels ne sont pas émis directement depuis le navigateur vers OpenAI. Ils transitent par les routes serveur de KairoProject, avec contrôles d'entrée, limitation de débit et filtrage des modèles autorisés.
Ce qui n'est jamais envoyé à OpenAI : l'assistant de base documentaire interne travaille sur la documentation produit indexée par KairoProject et non sur les données métier d'une entreprise. Il est réservé aux utilisateurs authentifiés. L'accès à un scope utilisateur ou organisation est vérifié côté serveur avant tout usage de contexte lié à un espace donné.
Service ML interne
KairoProject utilise également un service interne dédié aux prédictions et à l'entraînement de modèles. Ce service distingue :
- un modèle partagé pour fournir une base commune de prédiction ;
- un modèle personnalisé lorsqu'un espace dispose de son propre modèle dédié.
Un modèle personnalisé reste rattaché à l'espace concerné et n'est pas réutilisé pour un autre client. Lorsque le modèle personnalisé est sélectionné mais n'est pas encore prêt, KairoProject ne bascule pas automatiquement sur le modèle global : aucune prédiction n'est fournie tant que le modèle d'espace n'est pas opérationnel.
Contribution au modèle global
- La contribution au modèle global est contrôlée par une activation explicite de l'administrateur de l'espace concerné (
globalContributionOptIn). - Lorsque cette contribution est activée, les données futures de cet espace peuvent contribuer aux futurs entraînements du modèle global.
- Ce réglage agit pour l'avenir et ne retire pas automatiquement des données déjà utilisées dans des entraînements passés.
Données pouvant alimenter le modèle global (lorsque la contribution est activée) : exports reconstruits depuis les portfolios et projets de l'espace, fichiers d'import d'entraînement encore actifs pour cet espace. Cela peut inclure des identifiants techniques, des noms de portfolios, projets, tâches, ressources, équipes, calendriers, des descriptions, des paramètres de projet, ainsi que des dates, statuts, durées, ETTC, priorités, dépendances, historiques et points Fever.
Données non utilisées dans ce flux : mots de passe ou secrets d'authentification, données de facturation Stripe, journaux RGPD, contenus de base documentaire interne, données de compte de type email ou claims d'authentification.
Recommandation pour les clients souhaitant limiter ce flux
Ne pas activer la contribution au modèle global lorsque cette activation n'est pas souhaitée pour l'espace concerné. Éviter de saisir dans les noms, descriptions ou fichiers d'import des informations inutilement nominatives, confidentielles ou stratégiques si elles ne sont pas nécessaires au pilotage du projet.
Règles automatiques appliquées
| Contrôle automatique | Règle actuelle |
|---|---|
| Suppression utilisateur | Purge déclenchée automatiquement lors de la suppression du compte Firebase Auth |
| Export organisation | Rétention technique de 7 jours |
| Lien de téléchargement export | Valable 24 heures |
| Rétention des jobs de suppression d'organisation | 90 jours |
| Rétention des logs de suppression d'organisation | 12 mois |
| Rétention des logs DSAR | 12 mois |
| Purge automatique des traces expirées | Tâche planifiée tous les jours à 03:00 UTC |
| Protection des routes publiques OAuth | Limite de 20 requêtes par minute |
| Protection des formulaires publics | Limite de 8 requêtes par 10 minutes |
| Protection IA publique légère | Limite de 20 requêtes par minute |
| Protection IA publique plus coûteuse | Limite de 8 requêtes par minute |
| Cookies et traceurs | Aucun traceur non essentiel chargé par défaut |
Ce que cela signifie pour un client
KairoProject peut aujourd'hui être présenté comme un service :
- avec une séparation sérieuse des données entre espaces ;
- avec des accès encadrés par utilisateur, organisation et rôle ;
- avec des mécanismes concrets d'export et d'effacement ;
- avec une traçabilité technique des opérations sensibles ;
- avec un fonctionnement IA et ML passé par le serveur et non librement exposé ;
- avec un cadre RGPD déjà structuré pour une revue client ou un pré-audit.
Documents associés
Documentation RGPD et sécurité plus détaillée communiquée sur demande, selon le contexte client ou contractuel.