Centre de confiance
Les raisons techniques de confier vos données à Brain.
NitroxBrain détient des accès OAuth à la messagerie, aux fichiers, aux agendas et au CRM — les équipes IT et juridiques ont donc raison de l'examiner de près. Cette page leur est destinée : l'architecture, la cryptographie, la carte de résidence des données, les sous-traitants et les certifications, sans vernis marketing. Pour la version en langage clair, voir la page Sécurité.
NitroxBrain a réussi l'évaluation CASA Niveau 2 de l'App Defense Alliance (testée et vérifiée en laboratoire), réalisée par DEKRA, un laboratoire de sécurité tiers indépendant agréé, selon le standard OWASP ASVS — authentification, contrôle d'accès, protection des données, cryptographie, communications et sécurité des API notamment — et a validé toutes les catégories. Identifiant de certification 276ad600, valide du 23 juin 2026 au 24 juin 2027.
L'attestation complète de validation est disponible sous NDA sur demande. La conformité SOC 2 Type II / ISO 27001 est visée pour le 2ᵉ semestre 2027 — pas une revendication actuelle. Nous visons 99,5 % de disponibilité mensuelle sur l'interface de discussion ; pas de SLA contractuel en V1 (SLA entreprise sur demande).
Architecture
Quatre couches d'isolation indépendantes
Aucun stockage multi-tenant partagé pour vos messages, fichiers ou mémoire. Chaque abonné tourne dans son propre service Cloud Run, avec son propre bucket, sa propre base et ses propres secrets. Pour passer des données d'un utilisateur à celles d'un autre, un attaquant devrait casser l'IAM et le cloisonnement OAuth en même temps — chacune des couches ci-dessous suffit à elle seule.
Jetons au repos — buckets cloisonnés par IAM
Les jetons OAuth de chaque utilisateur vivent dans gs://nitroxbrain-vault-<slug>/.credentials/. L'IAM du bucket n'accorde l'accès qu'au compte de service de cet utilisateur. Aucun autre container ne détient un identifiant capable de le lire.
Système de fichiers — un seul montage
Le container Cloud Run de l'utilisateur ne monte que son propre bucket (via gcsfuse) sur /app/Memory. Il n'y a aucun bucket d'un autre utilisateur à parcourir sur le système de fichiers.
Scope OAuth — borné par Google
Chaque jeton de rafraîchissement est lié à l'émission à l'utilisateur qui l'a accordé. Le point de terminaison de Google ne renvoie que des jetons pour les ressources de cet utilisateur — la frontière est imposée côté fournisseur, pas seulement par nous.
Routage par identité — dispatcher
Les messages entrants sont routés par sender_id → user_routes → target_url. Un message ne peut physiquement pas être livré au container d'un autre utilisateur ; la table de routage est le seul chemin d'entrée.
Délibérément partagés (et sûrs car la frontière est imposée ailleurs) : l'ID client OAuth (Google cloisonne par utilisateur au niveau du jeton) et le compte de service d'annuaire (utilisé seulement pour la livraison Chat et les recherches d'annuaire, avec un sujet d'impersonation strictement contrôlé).
Cryptographie
Le chiffrement, précisément
Les primitives exactes, pas « de niveau bancaire ».
Au repos — AES-256 (clés gérées Google)
Tous les buckets GCS et le stockage de blocs Lightsail sont chiffrés au repos en AES-256 (clés gérées Google). La séparation par utilisateur est assurée par l'IAM, pas par des clés par utilisateur (pas de CMEK aujourd'hui — une option si un client l'exige).
Chiffrement applicatif des jetons
Les jetons des bots Slack et Teams sont en plus chiffrés au niveau applicatif avec Fernet (AES-128-CBC + HMAC-SHA256) ; les clés vivent dans Google Secret Manager, séparées de la base.
En transit — TLS 1.2+ (1.3 privilégié)
Le trafic public se termine sur Caddy avec des certificats Let's Encrypt ; le lien Postgres impose sslmode=require avec un vrai certificat d'AC ; l'entrée Cloud Run est en mTLS.
Jetons OAuth — par utilisateur, cloisonnés IAM
Les jetons OAuth de chaque utilisateur résident dans son propre bucket, lisible seulement par le compte de service de son container. Un jeton n'est jamais copié dans le runtime d'un autre utilisateur.
Résidence des données
Cœur 100 % UE, par conception
Calcul + mémoire : europe-west1 (Belgique)
Votre container et votre coffre (mémoire de conversations + fichiers que Brain crée) tournent dans Google Cloud europe-west1.
Routage + dispatcher : eu-west-3 (Paris)
La base de routage et le dispatcher de messages tournent sur AWS à Paris. L'entrée Teams (transitoire) est sur Azure westeurope (Pays-Bas).
Aucun hébergement cœur aux US
Aucune infrastructure cœur n'est aux US. L'exposition US se limite aux API des sous-traitants (LLM, paiements, recherche web) appelées au tour par tour sous DPF / CCT — listées intégralement ci-dessous. La transcription des notes vocales est hébergée dans l'UE par défaut (AssemblyAI, Dublin).
Le contenu tiers reste à la source
Les mails, fichiers et événements que Brain lit depuis Gmail / Drive / OneDrive / HubSpot vivent là où ces fournisseurs les hébergent. Nous relayons ces données au tour par tour ; nous ne les déplaçons pas. Les offres entreprise de Google Workspace / Microsoft 365 peuvent les épingler à l'UE.
Article 28
Registre des sous-traitants
Chaque tiers susceptible de traiter vos données, ce qu'il fait, où, et la base de transfert.
| Sous-traitant | Fonction | Localisation | Base de transfert |
|---|---|---|---|
| Google Cloud (Gemini) | Hébergement — calcul, coffre par utilisateur, Secret Manager ; LLM/STT optionnel | UE — europe-west1 (Belgique) | UE — aucun transfert |
| AWS | Dispatcher, base de routage, site statique, mail du formulaire (SES) | UE — eu-west-3 (Paris) | UE — aucun transfert |
| Microsoft Azure | Entrée Microsoft Teams (routage transitoire — aucun stockage de contenu) | UE — westeurope (PB) | UE — aucun transfert |
| Mistral | Inférence LLM (moteur alternatif, opt-in) | UE — France | UE — aucun transfert |
| OVH | Relais du mail de support | UE — France | UE — aucun transfert |
| AssemblyAI | Transcription des notes vocales (backend par défaut) | UE — eu-west-1 (Dublin) · par défaut | UE — aucun transfert · US via configuration : DPF / CCT |
| Anthropic (Claude) | Inférence LLM (moteur par défaut) | US | DPF / CCT · sans entraînement |
| OpenAI | Inférence LLM (moteur alternatif) | US | DPF / CCT · sans entraînement |
| Tavily | Recherche web (uniquement quand une recherche est lancée) | US | CCT |
| Stripe | Paiements / facturation | US | DPF / CCT |
| Google Analytics 4 | Analytics du site (uniquement avec consentement) | US | DPF / CCT · consentement |
Ne sont pas des sous-traitants — responsables de traitement indépendants, à votre initiative : HubSpot, Trello, Oura, et vos propres comptes Google / Microsoft. Vous les connectez directement via leurs écrans OAuth ; ils traitent vos données sous leurs propres conditions, sur votre instruction, pas la nôtre.
Accord de traitement des données (DPA) : notre DPA standard (RGPD Art. 28, intégrant ce registre des sous-traitants et les CCT de l'UE pour les transferts US ci-dessus) est disponible sur demande — écrivez-nous via /fr/contact et nous vous l'envoyons pour signature.
Rétention, suppression & audit
Ce que nous gardons, combien de temps, et pourquoi c'est infalsifiable
Une suppression vérifiable, des registres que personne n'altère en silence
L'intérêt d'une chaîne de hachage : personne — nous compris — ne peut modifier l'historique sans que ça se voie.Rétention par paliers
Audit d'accès opérateur (live) : 18 mois. Logs d'erreurs opérationnelles : 90 jours. Données de compte + OAuth : supprimées sous 30 jours après résiliation. Audit hors-site : 7 ans (WORM).
Effacement RGPD Art. 17
À la résiliation, nous détruisons votre container, vidons votre bucket, révoquons les jetons OAuth de notre côté, et supprimons en dur vos lignes de base de données — email de confirmation à la fin, cible ferme à 30 jours. La rétention d'audit de 7 ans est la seule exemption légale (Art. 17(3)).
Audit opérateur infalsifiable
Chaque accès opérateur à une ressource utilisateur est écrit dans une table chaînée par hachage SHA-256 (chaque ligne hache la précédente), avec un rôle d'écriture INSERT-only et un rôle de purge séparé que la RLS restreint aux lignes de plus de 18 mois — les opérateurs ne peuvent ni réécrire ni supprimer les entrées récentes.
WORM hors-site 7 ans
La chaîne d'audit est copiée toutes les heures vers un bucket Cloud Storage avec un verrou de rétention objet de 7 ans — immuable, donc même des identifiants opérateur ne peuvent ni la réécrire ni la supprimer. Un script vérifie l'intégrité de la chaîne au travers des frontières de rétention.
Vos données ne servent pas à entraîner de modèles
Nous n'entraînons aucun modèle sur vos données, et nous ne les vendons pas. Les LLM tiers que Brain appelle (Anthropic Claude, OpenAI GPT, Mistral, Google Gemini) tournent sur des offres API avec des accords de non-entraînement, que chaque fournisseur publie pour son API. Le contenu tiers est transitoire — il vit le temps d'un tour et n'est pas conservé pour l'entraînement.
Vous transmettez ça à votre équipe IT ou juridique ?
Avec plaisir pour parcourir l'architecture, le rapport CASA, un DPA ou la liste des sous-traitants lors d'un appel. Le Livre blanc de sécurité entreprise (PDF) est disponible sur demande via /fr/contact.


