Documentation

Principes de sécurité

Les quatre engagements non-négociables de la plateforme.

Principes de sécurité

betool est conçu pour des environnements régulés. La sécurité n'est pas une couche ajoutée tardivement : c'est l'invariant qui structure chaque ligne de code, chaque migration, chaque module.

1. Multi-tenant strict

Chaque organisation possède ses propres données, pipelines, secrets, fichiers et clés LLM. L'isolation est appliquée :

  • À la base de données — toutes les tables métier portent une colonne org_id indexée, et les requêtes côté serveur filtrent toujours par l'org de la session.
  • Au système de fichiers — chaque org a sa racine sous <data_root>/orgs/<org_id>/. Aucun chemin partagé.
  • Aux caches — caches per-org, jamais d'entrée mutualisée sans flag explicite is_shared = TRUE.
  • Aux secrets — chaque org a son coffre, ses clés API, ses tokens. Pas de fallback global.

2. Audit obligatoire des accès cross-tenant

Certains rôles (typiquement les opérateurs de la plateforme côté vendor) peuvent avoir besoin d'accéder à du contenu d'une autre organisation pour le support. Cet accès est :

  • Conditionné à un opt-in côté organisation cible — révocable à tout moment depuis l'admin.
  • Journalisé à chaque accès — table d'audit dédiée, scopée par org cible, exposée aux clients via une route GET /api/admin/me/*-reads.
  • Refusé en cascade si l'audit échoue — pas de lecture sans trace.

Voir Audit RGPD.

3. Refus motivé sur opérations destructives

Toute opération qui détruit ou remplace du contenu d'une autre organisation (REPLACE-IN-PLACE des enfants, DELETE) est refusée si l'org cible n'a pas activé l'opt-in lecture. Raison : sans visibilité, l'opérateur propose à l'aveugle un payload qui écraserait l'existant.

4. Souveraineté des modèles LLM

  • BYOK natif — vos clés OpenAI, Anthropic, Mistral sont gérées par votre organisation. Aucune fuite cross-org.
  • Modèles privés en Enterprise — Ollama, vLLM hébergés chez vous ou dans votre cloud privé. Les prompts et complétions ne sortent jamais de votre périmètre.
  • Pas de pool partagé silencieux — si une org utilise un modèle shared, c'est une décision explicite avec contrôle d'accès.

Posture d'ingénierie

Notre standard est la précision : robustesse maximale, observabilité totale, déterminisme, anti-confabulation, anti-régression, tests à chaque coin.

Concrètement, à chaque arbitrage architecture / code / prompt :

ChoixChoix attenduPourquoi
Latence × 2 vs raisonnement abrégé× 2La précision perdue se paye en confiance utilisateur
Capture observabilité fine vs logs essentielsCapture fineSans visibilité on diagnostique à l'aveugle
Shortcut qui dégrade un comportementRefusLe risque comportemental se mesure en incident client

Mantra : « Si quelqu'un trouve un bug, c'est qu'on n'avait pas mis assez de garde-fous, pas qu'on en avait mis trop. »

Pour aller plus loin