Cloud & on-prem
Vos systèmes IA déployés là où vos contraintes l'exigent, jusque dans votre infrastructure. L'agent agit sur vos outils, et quand le modèle et le serveur MCP tournent dans votre périmètre, aucune donnée n'en sort.
La souveraineté n'est pas une option pour tout le monde. Je déploie sur votre cloud quand la vitesse prime, et directement dans votre infrastructure quand vos données ne doivent jamais sortir. Modèles open-source privés, hébergement UE: c'est votre périmètre qui décide.
Repères
on-prem
modèles et serveur MCP dans votre infra
UE
hébergement souverain, hors Cloud Act US
0
donnée hors de votre périmètre, par conception
Cloud & on-prem
Ce que je construis
Serveur MCP souverain
Vos CRM, e-mails, bases et outils branchés à l'agent via un serveur MCP qui tourne chez vous ou sur un cloud UE. Couplé à un modèle privé ou hébergé en UE, l'agent lit, décide et exécute sur place : ni vos documents ni vos requêtes ne partent chez un tiers. Je cadre avec vous où doit tourner le modèle pour que la promesse tienne vraiment.
MCP · On-prem · Souveraineté · Cloud UE
On-prem & modèles privés
Des modèles open-source déployés dans votre infrastructure : vos données ne quittent jamais votre périmètre, ni pour répondre, ni pour agir, ni pour entraîner quoi que ce soit.
On-prem · Open-source · Modèles privés · Sécurité
Déploiement UE & industrialisation
Mise en production scalable et monitorée sur un cloud UE ou votre cloud (AWS, GCP, Azure, Vercel), avec CI/CD, versioning et mises à jour sans coupure. Je vérifie où tournent vraiment vos modèles, pas seulement le logo sur la facture.
Cloud UE · CI/CD · MLOps · Zero-downtime
La promesse
Vos données restent chez vous, même quand l'agent agit.
Démonstration
Aiguillage local d'une demande contenant une donnée patient
Un groupe hospitalier privé veut un assistant qui retrouve ses procédures internes depuis les postes de soins. Une partie des demandes cite des données de patients, et celles-là ne doivent jamais quitter le réseau de l'établissement.
Cas inventéCe cas n'est pas une mission. Il est inventé de bout en bout, et le code plus bas est le vrai code qui le ferait tourner.
HumainDemande depuis le service
Le patient IPP 4417832, entré hier en cardiologie, prend un anticoagulant. Quelle est la procédure interne avant une endoscopie digestive ?
L'agentClassement de la demande
Je lis la demande avant de choisir un modèle. Le motif IPP suivi de sept chiffres déclenche la règle identifiant_patient. Destination : local, aucune sortie réseau. Sans ce motif, la règle procedure_generique aurait envoyé la demande dehors : c'est la seule qui autorise la sortie, et elle exige l'absence de tout motif patient. Une demande qu'aucune règle ne classe reste locale par défaut.
Aucune demande ne part dehors parce que personne n'a pensé à écrire le motif qui la retient.
Appel d'outilAppel du modèle local
{ "outil": "assistant_procedures.repondre", "regle_appliquee": "identifiant_patient", "motif_declencheur": "IPP 4417832", "destination": "local", "hote": "gpu-01.intra.etablissement", "sortie_reseau": false, "requete": { "texte": "Le patient IPP 4417832, entré hier en cardiologie, prend un anticoagulant. Quelle est la procédure interne avant une endoscopie digestive ?", "service_demandeur": "cardiologie", "profil": "infirmier" }, "corpus": [ "procedures_soins", "protocoles_endoscopie" ], "seuil_similarite": 0.62 }Retour de l'outilPassages retrouvés sur site
{ "statut": "ok", "calcul": { "lieu": "salle serveur de l'etablissement", "hote": "gpu-01.intra.etablissement", "sortie_reseau": false }, "passages": [ { "document": "PROC-END-014", "version": "4.2", "section": "Arret des anticoagulants", "similarite": 0.81 }, { "document": "PROC-END-014", "version": "4.2", "section": "Delai avant geste", "similarite": 0.74 } ], "sections_absentes": [ "Relais par heparine" ], "sous_le_seuil": [ { "document": "PROC-CARD-007", "section": "Fonction renale", "similarite": 0.41 } ], "document_a_revalider": { "reference": "PROC-END-014", "revision_depassee": true } }Le champ sections_absentes existe pour que la réponse puisse dire ce qu'elle ne trouve pas.
Appel d'outilÉcriture de la trace
{ "outil": "audit.consigner", "evenement": "requete_assistant", "consigne": { "horodatage": "2026-09-03T08:41:12+02:00", "regle_appliquee": "identifiant_patient", "destination": "local", "sortie_reseau": false, "service_demandeur": "cardiologie", "empreinte_requete": "sha256:9c2d41ab7e0f5b83", "documents_consultes": [ "PROC-END-014" ] }, "jamais_consigne": { "champs": [ "texte_requete", "identifiant_patient", "date_naissance", "reponse_generee" ], "raison": "le journal prouve l'aiguillage, il ne rejoue pas le dossier" }, "conservation_jours": 365 }La trace prouve qu'une demande n'est pas sortie. Elle ne permet pas de reconstituer qui était le patient.
Réponse rendueRéponse rendue au service
La procédure PROC-END-014, version 4.2, demande l'arrêt de l'anticoagulant avant le geste, avec un délai qui dépend de la molécule. Le relais par héparine n'est pas couvert par ce document : je ne l'invente pas, appelez le cardiologue de garde. Une section sur la fonction rénale existe dans un autre document, sous le seuil de similarité : je ne la reprends pas. Le calcul a eu lieu sur le serveur de l'établissement, la demande n'est pas sortie du réseau. Le document a dépassé sa date de révision, faites confirmer la version avant le geste.
La politique d'aiguillage que lit la passerelle
version: 3
politique: assistant-procedures-internes
destinations:
local:
moteur: modele-sur-site
hote: gpu-01.intra.etablissement
sortie_reseau: false
externe:
moteur: modele-heberge
hote: api.fournisseur.tiers
sortie_reseau: true
# les règles locales passent en premier pour qu'un motif patient gagne toujours
ordre_evaluation: [identifiant_patient, donnee_nominative, procedure_generique]
regles:
identifiant_patient:
motifs:
- '\bIPP\s?\d{6,9}\b'
- '\bNDA\s?\d{6,10}\b'
- '\b[12]\d{2}(?:0[1-9]|1[0-2])\d{8}\b'
destination: local
journaliser_texte: false
donnee_nominative:
motifs:
- '\bchambre\s?\d{1,3}\b'
- '\bn[ée]e? le \d{2}/\d{2}/\d{4}\b'
destination: local
journaliser_texte: false
procedure_generique:
motifs:
- '(?i)\b(proc[ée]dure|protocole|checklist|conduite [àa] tenir)\b'
destination: externe
journaliser_texte: true
exige_absence_de: [identifiant_patient, donnee_nominative]
# la garde : une demande non classée est traitée comme si elle contenait un patient
defaut:
destination: local
journaliser_texte: false
audit:
champs_consignes: [horodatage, regle_appliquee, destination, sortie_reseau, service_demandeur, empreinte_requete, documents_consultes]
champs_interdits: [texte_requete, identifiant_patient, date_naissance, reponse_generee]
conservation_jours: 365
# le service refuse de démarrer plutôt que de tourner avec une politique permissive
controles_demarrage:
refuser_si_defaut_externe: true
refuser_si_regle_sans_destination: true
refuser_si_motif_invalide: trueUne donnée patient qui sort du réseau n'est presque jamais un problème de modèle : c'est un fichier de politique dont la règle par défaut autorise la sortie.
Cloud & on-prem
Avant, après
Une IA qui doit envoyer vos données à un tiers pour agir
Un serveur MCP chez vous et un modèle dans votre périmètre : l'agent agit, rien ne sort
Des données qui doivent transiter par un cloud tiers
Des modèles privés dans votre infrastructure
Un POC qui tourne sur un laptop
Un système déployé, scalable et monitoré
Cloud & on-prem
La stack
Docker
AWS
GCP
Azure
Ollama
vLLM
Terraform
Vercel
Cloud & on-prem
Questions franches
Mes données peuvent-elles rester entièrement en interne ?
Oui. Je déploie des modèles open-source directement dans votre infrastructure: rien ne sort de votre périmètre, ni les documents, ni les questions posées. On arbitre ensemble coût, performance et souveraineté.
Un modèle privé vaut-il GPT ou Claude ?
Pour beaucoup de tâches ciblées, oui: classification, extraction, RAG sur un domaine précis. Pour le raisonnement complexe, les grands modèles gardent l'avantage. C'est un arbitrage qu'on mesure sur vos données, pas une croyance.
L'IA est-elle compatible avec le RGPD ?
Oui, à condition de choisir la bonne architecture: hébergement UE, modèles privés, accords de traitement des données. Chez moi, c'est un critère de conception dès le premier jour, pas une contrainte qu'on découvre à la fin.
Un modèle européen suffit-il pour être souverain ?
Pas toujours. Beaucoup de modèles, y compris européens, tournent sur des clouds américains type Azure et retombent alors sous le Cloud Act US : en théorie, une autorité américaine peut y demander l'accès. La vraie souveraineté se joue sur l'endroit où tournent le modèle ET le serveur MCP qui agit sur vos outils. Je vérifie ce point avant de vous conseiller, et je bascule sur du cloud UE ou de l'on-prem quand vos données l'exigent.
À lire sur ce sujet
Contact
Prêt à passer de la démo à la production ?
Réponse sous 24 h · premier échange gratuit et sans engagement.