ADR 0001 — Bring Your Own Key (BYOK)
Une plateforme IA juridique manipule des documents et conversations sous secret professionnel. La législation française (article 226-13 du Code pénal, RGP…
- Statut : adopté
- Date : 2026 (initiale, ré-affirmé pour l'open-source)
- Décideur : association DataRing
Contexte
Une plateforme IA juridique manipule des documents et conversations sous secret professionnel. La législation française (article 226-13 du Code pénal, RGPD) impose la maîtrise stricte de qui traite la donnée.
Les options pour faire tourner un LLM :
- SaaS hébergé par l'éditeur (ex. ChatGPT, plateformes IA juridiques commerciales) → toute requête passe par l'éditeur, qui détient la clé API du provider et orchestre les appels. Risque : transit obligatoire chez un tiers, dépendance contractuelle.
- Proxy avec clés mutualisées → l'éditeur héberge des clés partagées entre clients et factor le coût. Risque : impossible de tracer qui a généré quoi côté provider, mélange de juridictions.
- BYOK → chaque cabinet branche ses propres clés provider. L'éditeur ne voit aucune clé, ne stocke aucun secret hors de l'instance du cabinet. Risque : friction d'onboarding (le cabinet doit créer ses comptes Mistral / OpenAI / etc.).
Décision
Louis fonctionne exclusivement en BYOK. Chaque utilisateur configure
ses propres clés via l'UI. Les clés sont chiffrées AES-256-GCM avec
ENCRYPTION_KEY (clé maîtresse choisie par l'admin de l'instance) avant
stockage Postgres.
Aucune clé n'est mutualisée. Aucun appel n'est relayé par un serveur Louis tiers (il n'y a pas de "Louis tiers"). L'instance déployée chez le cabinet appelle directement les APIs provider.
Conséquences
Positives
- Le cabinet garde la traçabilité provider (chaque appel apparaît dans son compte Mistral / OpenAI)
- Le cabinet maîtrise ses quotas et budgets
- Pas de dépendance commerciale envers DataRing
- Pas d'incident "DataRing a vu nos données"
- Conformité RGPD / secret professionnel par construction
Négatives
- Friction d'onboarding : un nouveau cabinet doit créer ses comptes provider (typiquement 15-30 min)
- Pas d'effet de masse sur les coûts (chaque cabinet paye au tarif retail)
- Si l'admin perd
ENCRYPTION_KEY, toutes les clés stockées deviennent illisibles → re-saisie obligatoire
Implications produit
- L'UI doit accompagner la création des comptes provider (liens directs, badges souveraineté FR/UE/US)
- La page Settings → Coûts & usage affiche le coût agrégé estimé, basé sur les tarifs publics au moment de l'appel
- Le RAG dépend d'une clé Mistral active (le seul provider qui fournit les embeddings en v0.1)