SOFRA · Plateforme IA
Architecture

Sécurité & données

Lecture par défaut, contrôle d'accès par entité, gestion des secrets, audit, RGPD et archivage à valeur probante.

Le SI cible touche des données financières et personnelles sur ~40 entités. La sécurité n'est pas une couche ajoutée après coup : c'est une contrainte de conception (principe 4 et principe 8).

Modèle d'accès

flowchart LR
  U[Utilisateur authentifié] --> HUB{Hub MCP}
  HUB -->|rôle + entité OK| READ[Outils lecture]
  HUB -->|autorisation explicite| WRITE[Outils écriture]
  HUB -->|refus| DENY[Refus + journal]
  READ --> AUDIT[(Journal d'audit)]
  WRITE --> AUDIT
  DENY --> AUDIT
  • Lecture par défaut. Un connecteur n'expose que des outils de lecture tant que l'écriture n'est pas explicitement activée et autorisée.
  • Contrôle par rôle et par entité. Le hub injecte le périmètre dans chaque appel : un comptable Hôtellerie ne lit pas l'Immobilier. Aligné sur la ségrégation des tâches déjà recommandée (ex. saisie RIB).
  • Écriture = action explicite. Créer un tiers, émettre une facture, lancer un paiement : outils distincts, confirmés par l'utilisateur, journalisés.

Secrets

  • Centralisés au niveau de la plateforme, jamais côté chat, jamais dans Git ni dans le store Nix.
  • Gérés par sops-nix / agenix, injectés en EnvironmentFile systemd à l'exécution (Déploiement).
  • Une fuite du chat (acheté) ne donne aucune clé système : le chat ne détient que l'accès au hub.

Audit

Chaque appel d'outil produit une entrée : utilisateur, entité, outil, arguments, horodatage, identifiant de corrélation, résultat (succès/refus). Indispensable pour :

  • la traçabilité d'un SI financier (qui a fait quoi),
  • les contrôles (DGFIP, CAC),
  • le débogage des flux automatisés.

RGPD & résidence

  • Données personnelles (clients B2C hôtellerie, salariés via NDF) : minimisation, finalité, durées de conservation.
  • Résidence UE : hébergement NixOS maîtrisé pour la plateforme ; le modèle de chat est choisi avec une résidence de données conforme (Le chat IA).
  • Données sensibles (cas d'usage n°36 — secret professionnel) : exclues des flux IA par défaut, traitées au cas par cas.

Archivage à valeur probante

La RFE et la valeur probante imposent un archivage conforme des flux entrants/sortants (recommandation R8). La plateforme :

  • conserve les artefacts générés (Factur-X, FEC, fichiers e-reporting) de façon horodatée et inaltérable,
  • s'interface avec la solution d'archivage probant retenue (PA / Sage Network / prestataire) plutôt que de la remplacer,
  • comble le manque actuel (archivage à valeur probante absent de Yooz, archivage non conforme côté Hôtellerie).

Surface d'attaque réduite

  • Connecteurs en réseau privé, seul le hub est exposé (HTTPS + auth).
  • Services systemd durcis (DynamicUser, ProtectSystem=strict, NoNewPrivileges).
  • Dépendances épinglées par les flakes (pas de mise à jour silencieuse).