Objectif de la politique
Godia.ai est un éditeur SaaS d'agents IA conversationnels. La plateforme fournit un portail client web sécurisé, des agents IA accessibles via widget web embarqué et envoi d'emails sortants, un module Copilot connecté aux boîtes email Gmail et Microsoft 365 (lecture des emails entrants pour proposer des brouillons de réponse, envoi conditionné à validation humaine explicite), ainsi qu'un système d'automatisation (règles de déclenchement, emails transactionnels, fiches prospects).
Ce document décrit les mesures de sécurité techniques et organisationnelles (TOMs) appliquées à notre plateforme, garantissant la confidentialité, l'intégrité et la disponibilité des données de nos clients et de leurs utilisateurs.
100 % des données sont hébergées en Union Européenne.
Hébergement & Infrastructure
Tous les composants de la plateforme sont hébergés en Union Européenne :
- Application : Railway (région europe-west4, Amsterdam, Pays-Bas), certifié SOC 2
- Base de données : PostgreSQL 16 managé par Neon (région europe-west4, UE), certifié SOC 2 Type II + ISO 27001 + ISO 27701, réplication multi-zone
- Moteur IA : Mistral AI SAS (France, UE). Les données ne sont pas utilisées pour l'entraînement des modèles.
- Emails transactionnels : Mailjet/Sinch (France, UE), certifié ISO 27001
- Authentification OAuth + APIs Copilot : Google LLC (États-Unis, SCCs RGPD) et Microsoft Corporation (UE/États-Unis, SCCs RGPD), flux Authorization Code PKCE pour le SSO ; APIs Gmail (scope
gmail.modify) et Microsoft Graph (scopesMail.Read,Mail.Send) pour le module Copilot, exclusivement sur connexion explicite du client.
Gouvernance et Organisation
- Contact RGPD : legal@godia.ai (pas de DPO formellement désigné à ce stade, seuil réglementaire Art. 37 RGPD non atteint)
- Contact sécurité : legal@godia.ai (SLA de réponse : 4h pour les incidents critiques)
- Responsabilité sécurité : portée par la direction technique
- Sensibilisation : bonnes pratiques de sécurité et RGPD diffusées en interne
Contrôle des Accès (IAM)
- Authentification multi-facteurs (MFA / TOTP)
MFA TOTP (Time-based One-Time Password) obligatoire pour les comptes administrateurs Godia, recommandé et activable pour tous les comptes du portail client (activation via Profil → Sécurité). Vérification d'un code à 6 chiffres requise à chaque connexion. Compatible Google Authenticator, Authy, Microsoft Authenticator. 10 codes de récupération générés à l'activation. Pour les utilisateurs SSO (Google / Microsoft), le MFA est délégué au provider d'identité de l'organisation.
- SSO (Single Sign-On)
OAuth2/OIDC via Google et Microsoft, flux Authorization Code PKCE.
- Gestion des rôles (RBAC)
Trois rôles natifs : Owner (propriétaire de l'organisation, accès complet), Admin (administration et configuration), Member (opérationnel). Chaque membre dispose en complément de 8 permissions granulaires configurables (canViewAnalytics, canManageAgents, canViewConversations, canViewProspects, canManageTeam, canManageBilling, canExportData, canViewCopilot) permettant de définir des profils de type lecture seule ou personnalisés. La permission
canExportDataest requise pour l'export SIEM, vérifiée côté serveur (HTTP 403 si absente). - Désactivation automatique des comptes inactifs
Job quotidien automatique : avertissement à 60 jours d'inactivité (événement
INACTIVITY_WARNINGdans le SIEM). Révocation automatique de toutes les sessions à 90 jours (RGPD Art. 32 / DORA Art. 9). Chaque événement est horodaté dans l'audit trail.
Chiffrement des Données
- En transit
TLS 1.2 / 1.3 enforced sur toutes les connexions. HTTPS obligatoire, HSTS activé (
max-age=31536000; includeSubDomains; preload). HTTP redirigé automatiquement vers HTTPS. - Au repos
Données sensibles (credentials CRM, tokens OAuth, fichiers prospects) : chiffrement applicatif AES-256-GCM avant persistance. Mots de passe utilisateurs : hash bcrypt 12 rounds. Base de données PostgreSQL : chiffrement au repos niveau infrastructure (Neon). Backups : AES-256.
- Clés de session JWT
RS256, rotation automatique toutes les 7 jours. Clé primaire + clé backup maintenues pour haute disponibilité multi-instances. Révocation immédiate via cache LRU des tokens invalidés. Jamais transmises en clair.
- Clé maître MASTER_KEY
Clé maître AES-256-GCM (32 octets, dérivée scrypt) gérée comme secret d'environnement de la plateforme Railway (SOC 2 Type II). Rotation annuelle planifiée (Q4) ; immédiate sur événement déclencheur (compromission suspectée, fuite, audit forensique). Procédure interne documentée couvrant préparation, backup, re-chiffrement applicatif, mise à jour Railway, vérification, destruction et audit trail.
- Clés API développeur
Format
godia_live_<base64url-32bytes>(ougodia_test_pour l'environnement de test) : seul le hash SHA-256 est persisté en base. La clé en clair n'est affichée qu'une seule fois à la création, jamais stockée ni récupérable.
Isolation Multi-tenant
Trois niveaux cumulatifs garantissent l'isolation stricte des données entre organisations :
- Colonne
clientIdsur toutes les tables : filtreWHERE client_id = $clientIdobligatoire sur chaque requête SQL. Architecturalement impossible d'accéder aux données sans ce filtre. - Middleware d'authentification : injecte et vérifie le
clientIdà chaque appel API, avant tout accès aux données. - Vérification de propriété sur chaque endpoint : HTTP 403 immédiat si tentative d'accès cross-tenant, même si l'identifiant est connu.
Alertes automatiques en temps réel sur toute tentative de violation d'isolation (TENANT_VIOLATIONS), journalisées dans le SIEM.
Sécurité Réseau & API
- Rate limiting
Global : 3 000 req / 15 min par IP (fenêtre glissante). Login : 5 tentatives / 15 min, blocage temporaire automatique de 30 minutes. API v1 : 1 000 req / heure par clé. Export SIEM : 10 exports / heure par organisation. Mutations Copilot (POST / PATCH / DELETE) : 60 req / min / IP.
- En-têtes de sécurité HTTP
HSTS (
max-age=31536000; includeSubDomains; preload),X-Content-Type-Options: nosniff,Referrer-Policy: strict-origin-when-cross-origin, Content-Security-Policy actif avecdefault-src 'self',object-src 'none',base-uri 'self'etframe-ancestorsrestrictif ('self'sur portail,*sur widgets pour intégration cross-domain volontaire).unsafe-inlineest actuellement toléré pour la stack Vite/React du portail ; migration vers CSP nonce-based prévue dans la roadmap de maturité.X-Frame-Options: DENYsur l'ensemble du portail et de l'API. Le header n'est pas envoyé sur les routes widgets, l'embedding cross-domain étant encadré uniquement par CSPframe-ancestors.Permissions-Policyrestrictif (camera=(), geolocation=(), payment=(), usb=();microphone=(self)autorisé uniquement pour la fonctionnalité optionnelle Voice Agent). - Protection CSRF
Token synchronisé + validation côté serveur sur toutes les routes mutantes. Régénération de session systématique au login (anti-fixation). Les requêtes GET sont exemptées.
- CORS
Liste blanche stricte des origines autorisées. Seules les APIs du widget de chat sont ouvertes volontairement pour permettre l'intégration sur les sites clients.
Journalisation & Monitoring (SIEM)
- Tables de logs (append-only)
4 tables non modifiables via l'interface : auth_events (connexions, MFA, révocations), rétention 90 jours. access_logs (accès aux données sensibles, actions admins), rétention 90 jours. client_activity_logs (actions dans le portail), rétention 30 jours. alert_history (alertes sécurité), rétention 90 jours.
- Export SIEM natif
Format JSON et CSV depuis le portail client, compatible Elastic, Splunk, QRadar, Microsoft Sentinel. Filtres par période et type d'événement. Isolé par organisation côté serveur. Permission
canExportDatarequise. Rate limit anti-exfiltration : 10 exports / heure. - Alertes automatiques (5 règles + détection inactivité)
5 règles d'alerte actives dans le moteur SIEM : tentatives de brute force login, violations CSRF, violations d'isolation tenant, tentatives de tokens invalides, activité suspecte. À cela s'ajoute un job quotidien dédié de détection d'inactivité prolongée (60j / 90j). Notification email immédiate via Mailjet dès déclenchement.
Gestion des Vulnérabilités
- Analyse des dépendances
npm auditexécuté automatiquement à chaque push et pull request via GitHub Actions (workflowsecurity-audit.yml), et de manière hebdomadaire planifiée (cron lundi 6h UTC). Le pipeline échoue si une vulnérabilité de sévérité Haute ou Critique est détectée. Rapport JSON archivé 30 jours. - SLA de correction
Critique : 48h / Haute : 7 jours / Moyenne : 30 jours / Faible : prochaine release.
- Audit OWASP
Audit interne OWASP Top 10:2025 + OWASP LLM Top 10 réalisé (février 2026, mise à jour avril 2026). Score 100/100, conformité complète. Rapport disponible sur demande sous engagement de confidentialité.
- Tests de pénétration
Tests de sécurité internes réalisés à chaque release majeure. Pentest externe par un tiers certifié non programmé à ce stade ; pourra être envisagé selon l'évolution de la roadmap de maturité sécurité.
- Divulgation responsable
Programme officiel disponible sur notre page dédiée. Signalement via legal@godia.ai (SLA de réponse : 48h pour toute vulnérabilité signalée).
Développement Sécurisé
- Validation des entrées
Zod (schémas stricts TypeScript) sur 100 % des routes backend. Rejet systématique des données non conformes au schéma attendu.
- Prévention des injections SQL
Drizzle ORM, requêtes paramétrées uniquement. Aucune concaténation de chaînes SQL dans la base de code.
- Revues de code
Revue de code systématique sur chaque pull request avant merge en production. Validation par les outils automatisés intégrés au pipeline CI (ESLint sécurité, npm audit, tests d'intégration). Pour les changements critiques (authentification, isolation multi-tenant, cryptographie), validation complémentaire par un tiers technique avant déploiement.
- Gestion des secrets
Variables d'environnement Railway, jamais dans le code source ni le dépôt Git. Credentials OAuth et CRM chiffrés AES-256-GCM avant persistance. Rotation MASTER_KEY annuelle (Q4) et immédiate sur événement de sécurité.
- Segmentation des environnements
Environnements production et développement séparés, base de données et variables d'environnement distinctes. Aucun accès croisé prod/dev. La mise en place d'un environnement de staging dédié est inscrite dans la roadmap de maturité.
Résilience Opérationnelle
- RTO / RPO
RTO (Recovery Time Objective) contractuel : 4 heures (pire cas, restauration complète depuis artefacts). Redémarrage applicatif automatique typique observé via Railway : < 15 minutes (incidents applicatifs courants, sans intervention humaine). RPO (Recovery Point Objective) : 24 heures, aligné sur la fréquence des sauvegardes Neon (restauration point-in-time sub-heure en pratique pour les incidents applicatifs). Plan de tests de basculement complets avec RTO/RPO mesurés en cours de formalisation pour H2 2026.
- SLA de disponibilité
99,5 % mensuel garanti, 99,9 % contractualisable. Voir notre SLA complet. Statut en temps réel : status.godia.ai.
- Sauvegardes
Backups quotidiens chiffrés AES-256, managés par Neon. Rétention conforme au plan Neon souscrit. Réplication multi-zone UE.
- Mode dégradé
En cas d'incompatibilité ou d'erreur sur un modèle Mistral, fallback automatique entre modèles (small / medium / large). En cas d'indisponibilité totale de l'API Mistral, les données existantes (conversations, prospects, analytics) restent accessibles ; messages d'erreur explicites retournés, aucun fallback silencieux vers un autre fournisseur. La couche d'abstraction LLM intégrée au code permet un basculement ultérieur vers un fournisseur alternatif sur décision opérationnelle.
Gestion des Incidents
- Processus de traitement
Détection via alertes SIEM, qualification interne, notification client (SLA 4h pour incidents critiques), remédiation, rapport post-incident (REX).
- Rapports post-incident (REX)
Disponibles dans le portail client : création, suivi et clôture depuis l'interface. Chaque incident documenté avec chronologie, impact et mesures correctives.
- Notification réglementaire
Procédure documentée : notification des autorités de contrôle compétentes (CNIL France, CNPD Luxembourg) dans les 72 heures en cas de violation de données à caractère personnel (RGPD Art. 33). Notification email aux organisations affectées via Mailjet, déclenchée depuis le portail d'administration.
- Support opérationnel
L1 : ticket in-app depuis le portail. L2 : support@godia.ai. L3 : direction technique. L4 : urgence sécurité legal@godia.ai (SLA 4h pour incidents critiques).
Conformité RGPD & DORA
- DPIA (Art. 35 RGPD)
Analyse d'impact formalisée (DPIA-GODIA-2026-001 v1.1, avril 2026), 5 traitements documentés : (1) Conversations IA, (2) Données de prospects, (3) Authentification & journalisation SIEM, (4) Clés API développeurs, (5) Lecture et envoi d'emails via Copilot (Gmail / Microsoft 365). Précision Art. 22 RGPD : aucune décision automatisée à effet juridique, tout envoi d'email est conditionné à une validation humaine explicite. Disponible sur demande à legal@godia.ai. Prochaine révision : avril 2027.
- Registre ICT (DORA)
Registre formel et opérationnel couvrant 6 prestataires ICT au titre de l'Art. 28 DORA : Railway (infrastructure applicative), Neon (base de données), Mistral AI SAS (moteur IA, France), Mailjet/Sinch (emails transactionnels, France), Google LLC (OAuth + Gmail API pour Copilot), Microsoft Corporation (OAuth + Microsoft Graph API pour Copilot). Disponible sur demande. Prochaine revue : octobre 2026.
- Module REX (DORA)
Rapports post-incident accessibles depuis le portail client, signalement d'incident intégré, suivi et clôture depuis l'interface. Conforme à l'Art. 11 DORA (gestion des incidents).
- Export SIEM (DORA)
JSON/CSV depuis le portail, compatible avec les outils SIEM du marché (Elastic, Splunk, QRadar, Microsoft Sentinel).
- DPA Art. 28 RGPD
Convention de traitement disponible à la signature avant tout démarrage de relation contractuelle. Contact : legal@godia.ai.
- Stratégie de sortie
Engagement contractuel : export complet des données fourni sur demande sous 30 jours en cas de résiliation. Suppression définitive des données sous 60 jours après la fin du contrat (sauf obligation légale de conservation). Aucun lock-in propriétaire : PostgreSQL standard, données exportables en JSON/CSV via le portail. Détails par prestataire ICT documentés dans le registre DORA.
Contacts
- Signalement de vulnérabilité : legal@godia.ai (SLA 48h). Voir aussi notre programme de divulgation responsable.
- Incidents critiques : legal@godia.ai (SLA 4h)
- Questions RGPD / Conformité / DPA : legal@godia.ai
- Support technique L2 : support@godia.ai
- Support portail client L1 : ticket in-app depuis le portail