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 enEnvironmentFilesystemd à 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).