Louis
ArchitectureDécisions (ADR)

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 :

  1. 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.
  2. 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.
  3. 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)

On this page