Document de transparence technique

Sécurité & confidentialité

Secretary manipule des données sensibles : emails professionnels, enregistrements de réunions, données d'agenda. Cette page détaille précisément les mesures techniques et organisationnelles en place.

Version en vigueur au 18/04/2026 · Document ouvert pour l'évaluation RSSI / DSI.

Architecture et hébergement

Hébergement souverain en Union européenne

Infrastructure dédiée en France, opérée directement par Meoxa. Aucun sous-traitant d'hébergement aux États-Unis. Les serveurs applicatifs, les bases de données et les sauvegardes sont tous localisés dans l'UE.

Multi-tenant avec isolation stricte au niveau SQL

PostgreSQL Row-Level Security est activé sur toutes les tables contenant des données métier (emails, réunions, intégrations, settings). Chaque requête applicative est scopée par `app.tenant_id` — il est techniquement impossible qu'un tenant accède aux données d'un autre, même en cas de bug applicatif ou d'injection SQL réussie.

Chiffrement en transit

TLS 1.2 minimum (TLS 1.3 par défaut) sur toutes les communications externes. Certificats Let's Encrypt renouvelés automatiquement. HSTS activé avec preload. Aucun fallback HTTP.

Chiffrement au repos

Les secrets applicatifs (clés API tierces, tokens OAuth Microsoft, clés Stripe, secrets TOTP, codes de secours MFA) sont chiffrés via Fernet (AES-128-CBC + HMAC-SHA256) avant persistance. La clé maîtresse est stockée en variable d'environnement et n'apparaît jamais en base. Les sauvegardes sont chiffrées avant transfert off-site.

Authentification et accès

Authentification à 2 facteurs (MFA TOTP)

Second facteur TOTP conforme à la RFC 6238 disponible pour tous les utilisateurs, obligatoire pour les super-administrateurs de la plateforme. 10 codes de secours générés à l'enrôlement, utilisables une seule fois, stockés chiffrés.

Sessions courtes avec refresh rotatif

Access token JWT de 30 minutes, refresh token de 14 jours. Algorithme HS256 avec secret de 256 bits. Aucun refresh token n'est stocké en base — seul le JWT signé fait foi.

Rate limiting anti-bruteforce

Routes d'authentification protégées par slowapi avec storage Redis partagé entre workers : 10 tentatives/minute sur /auth/login, 5/heure sur /auth/signup.

Rôles granulaires par tenant

Hiérarchie OWNER > ADMIN > MEMBER avec contrôle fin des actions (invitations, modification des paramètres, accès à la facturation). Contrainte au niveau base : il doit toujours rester au moins un OWNER par tenant actif.

Traitement des données

Secretary est un logiciel — aucun humain ne lit vos données

Tout le traitement (lecture d'emails, génération de brouillons, transcription de réunions, création de CR) est automatisé. Les collaborateurs de Meoxa n'ont accès aux données des clients que dans des cas exceptionnels d'intervention support explicitement autorisés.

Pas d'entraînement IA sur vos données

Les données transmises à Anthropic (modèle Claude) ne sont pas utilisées pour entraîner de modèles, conformément au DPA Anthropic Enterprise. Les données Voyage AI (embeddings) non plus. Vos données restent vos données.

Mémoire contextuelle privée par tenant

L'indexation RAG (Voyage AI + pgvector) produit des embeddings stockés dans votre tenant uniquement. Aucun embedding n'est partagé entre tenants. Lorsque vous exercez votre droit à l'oubli, les embeddings sont supprimés en cascade.

Journalisation et auditabilité

Journal d'audit immuable

Toutes les actions sensibles sont tracées dans une table `audit_logs` append-only : login/logout, changement de mot de passe, activation/désactivation de la MFA, modifications des paramètres plateforme et tenant, invitations, changements de rôles, export RGPD, demandes de suppression.

Monitoring d'erreurs self-hosted (GlitchTip)

Capture des erreurs applicatives avec scrubbing automatique des données sensibles avant envoi (headers d'auth, cookies, champs password/token). Déployé sur la même infrastructure, jamais envoyé à des tiers.

Suivi de consommation LLM

Chaque appel aux modèles Claude est tracé dans `llm_usage_events` (tokens entrée/sortie, coût estimé, tâche, modèle) — transparence complète sur la consommation du tenant.

Conformité RGPD

Export en un clic

Export ZIP complet des données du tenant (users, memberships, emails, meetings, transcripts, intégrations sans tokens, paramètres, audit log) accessible depuis /app/organization.

Droit à l'oubli avec délai de grâce

Sur demande, suppression différée 30 jours (permet la réversibilité), puis purge hard avec révocation des souscriptions Graph côté Microsoft.

Rétention configurable

Chaque tenant choisit combien de jours Secretary conserve ses transcriptions de réunions et leurs embeddings (de 1 à 3 650 jours, ou 0 = rétention illimitée). Purge automatique quotidienne par Celery beat.

DPA (contrat de sous-traitance) téléchargeable

Template conforme à l'article 28 RGPD, pré-rempli avec les sous-traitants ultérieurs (Anthropic, Microsoft, Voyage, Stripe, hébergeur), générable depuis l'interface. À faire signer lors de la souscription.

Sauvegardes et continuité

Backup PostgreSQL quotidien

Dump chiffré quotidien à 03h00 UTC, rétention locale 14 jours, copie off-site via rclone vers Backblaze B2 ou S3-compatible.

Plan de reprise d'activité

Les sauvegardes sont testées régulièrement en restauration sur un environnement isolé. Objectif RPO (perte de données acceptable) : 24 heures. Objectif RTO (reprise) : 4 heures.

Disponibilité cible

99 % sur 12 mois glissants. Statut public en temps réel sur notre page Status.

Sous-traitants ultérieurs

Sous-traitantPaysFinalité
Anthropic PBCÉtats-UnisModèle Claude pour génération de texte (emails, CR)
Microsoft IrelandIrlandeGraph API (Outlook, Teams, Calendar, OneDrive)
Voyage AI, Inc.États-UnisEmbeddings pour la mémoire contextuelle RAG
Stripe Payments EuropeIrlandeTraitement des paiements par carte bancaire
Hébergeur VPSFrance / UEHébergement des serveurs applicatifs et bases

Les transferts vers les États-Unis (Anthropic, Voyage) sont encadrés par des Clauses Contractuelles Types adoptées par la Commission européenne (décision 2021/914) et par des DPA spécifiques. Aucune donnée sensible ne transite vers un pays ne bénéficiant pas de garanties appropriées.

Contact & signalement

Pour toute question relative à la sécurité de Secretary, ou pour signaler une vulnérabilité potentielle :

Disclosure responsable : si tu identifies une vulnérabilité, écris à security@meoxa.app avant toute publication. Nous nous engageons à te répondre sous 48 h et à publier un correctif sous 30 jours maximum.