Le blog

Gouvernance

Votre agent IA lit votre code. Qui en garde une copie ?

Un agent de code transmet à un modèle distant une partie de ce qu’il lit, parfois des données clients. Contrat de non-conservation, API européenne, modèle hébergé en France : trois niveaux de contrôle. Notre prototype parisien, 24 € par mois au repos : ce qu’il vérifie, ses limites.

Portrait de Raphaël Prasquier

Raphaël Prasquier

Infrastructure & sécurité applicative

Publié
Lecture
8 min
Deux feuilles vierges superposées sur un fond papier, séparées par une feuille de papier carbone indigo dont un coin dépasse.
Illustration conçue avec l’IA

23 h, un bug, un agent

Il est 23 h. L’export des commandes plante, votre développeur est en congé, et un client attend son fichier demain matin. Vous ouvrez votre agent de code, vous décrivez le problème. Quelques minutes plus tard, l’export repart.

Pour y arriver, l’agent a lu le fichier d’export, le schéma de votre base, peut-être votre configuration. Si le bug ne se reproduisait qu’avec de vraies lignes, il a pu lancer une requête sur vos données. Avec un modèle distant, tout ce qu’il joint à sa demande quitte votre poste : selon l’outil et ses réglages, du code confidentiel, un secret de configuration, des données clients.

Exemple illustratif

Ce que votre agent envoie pour corriger un bug

POST https://api.fournisseur-ia.example/v1/chat/completions
{
  "messages": [
    { "role": "system", "content": "Tu es un agent de code… (≈ 20 000 tokens d’instructions et d’outils)" },
    { "role": "user",   "content": "L’export des commandes plante, corrige-le." },
    { "role": "tool",   "content": "app/exports/orders_export.rb — 214 lignes de votre code" },
    { "role": "tool",   "content": "db/schema.rb — la structure de toute votre base" },
    { "role": "tool",   "content": ".env — DATABASE_URL=postgres://admin:•••@…" },
    { "role": "tool",   "content": "SELECT * FROM customers LIMIT 3 → Martin Sophie, s.martin@…, 12 rue…" }
  ]
}
  • votre code
  • un secret de production
  • des données personnelles
Requête simplifiée. Selon l’outil et ses réglages, l’agent joint ce qu’il a lu pour travailler : vos fichiers, parfois votre configuration, parfois le résultat d’une requête sur vos données.

Ce n’est pas une raison d’arrêter. Ces outils font gagner un temps considérable, et nous les utilisons tous les jours. C’est une raison de savoir trois choses : ce qui part, où c’est traité, et ce qu’il en reste.

« Zéro conservation » : lisez la ligne du dessous

Les fournisseurs répondent souvent par trois lettres : ZDR, pour Zero Data Retention, « zéro conservation des données ». Ils s’engagent à ne garder ni vos prompts (ce que l’agent envoie), ni les réponses du modèle[1][2].

Trois réflexes avant de vous en contenter :

  • Vérifiez le périmètre. Le sigle ne dit ni quels services sont couverts, ni les exceptions, ni ce qui est gardé à côté[1][2][3]. Seules les conditions de votre offre, et des fonctions que vous utilisez, font foi.
  • Ne confondez pas « pas d’entraînement » et « pas de conservation ». S’engager à ne pas entraîner un modèle sur vos données ne veut pas dire ne pas les stocker[1].
  • Attendez-vous à des métadonnées[3]. Facturer et sécuriser un service demande de savoir qui a appelé, quand, avec quel volume. C’est normal. Ce qui ne l’est pas, c’est de ne pas vous dire lesquelles, ni pendant combien de temps.

Trois façons de garder la main

Fournisseur d’IA avec engagement de non-conservationAPI européenne de modèles ouvertsVotre propre modèle, sur un serveur en France
QualitéLes modèles les plus avancés, à comparer sur vos tâchesDes modèles ouverts, parfois très gros[4]Un modèle ouvert, à la taille de votre budget
Où c’est traitéChez le fournisseur, souvent hors de l’UE[5]Chez l’hébergeur européen[3]Sur une machine que vous administrez
Sur quoi repose la confianceLe contrat, et le droit qui s’applique au fournisseurLe contrat de l’hébergeurVotre configuration, qui s’inspecte, plus le contrat de l’hébergeur
CoûtÀ l’usage ou par abonnementÀ l’usage[4]À l’heure de serveur allumé, plus un fixe
EffortLire les conditions, configurer les outilsLire les conditions, configurer les outilsInstaller, sécuriser, mettre à jour, exploiter

L’auto-hébergement permet d’inspecter davantage de maillons. Il ne supprime ni la dépendance à l’hébergeur, ni le travail d’exploitation.

Cette troisième colonne a longtemps semblé réservée aux grands comptes : un serveur capable de faire tourner un modèle correct coûte environ 1 100 € par mois s’il reste allumé jour et nuit[6]. C’est ce chiffre que nous avons voulu faire tomber.

Notre prototype, monté en un week-end

Chez Imagine-App, nous sommes trois associés à coder avec des agents. Un vendredi après-midi, nous avons décidé d’essayer la troisième option pour de vrai. Le lundi matin, chacun avait sa clé :

  • un modèle ouvert, utilisable commercialement (licence Apache 2.0)[7][8], sur un serveur à carte graphique (GPU) chez Scaleway, à Paris ;
  • une clé personnelle par associé, branchée dans nos agents de code (opencode et T3 Code) ;
  • une configuration conçue pour traiter prompts et réponses sans les écrire sur disque ni dans les journaux ; lors du test du 9 novembre 2026, aucun marqueur n’a été retrouvé dans les journaux et fichiers examinés sur nos deux serveurs (nous publions la méthode et ses limites dans cette série) ;
  • un petit serveur « veilleur » qui éteint le GPU après dix minutes sans requête et le rallume à la demande (nous détaillons son architecture dans un autre article).

Ce dernier point change l’équation : éteint, le GPU ne facture plus le calcul[9]. Voici nos frais d’hébergement estimés, aux tarifs publics de Scaleway, hors taxes[6][9][10][11][12].

Coût mensuel, HT

Un GPU qui dort ne coûte presque rien

Au reposGPU éteint, veilleur allumé
24 €
2 h par jour ouvré
~100 €
8 h par jour ouvré
~300 €
Allumé en permanencepour comparer
~1 120 €
Frais d’hébergement estimés aux tarifs publics de Scaleway (Paris), hors installation et administration. GPU ~1,50 €/h facturé à la minute ; 22 jours ouvrés ; un démarrage et 10 min d’attente avant extinction par jour d’usage ; heures de serveur partagé.
Usage du serveur partagéCoût HT
Au repos (GPU éteint, veilleur allumé)~24 € par mois
2 h par jour ouvré~100 € par mois
8 h par jour ouvré~300 € par mois
Allumé en permanence, pour comparer~1 120 € par mois

Ces montants supposent 22 jours ouvrés, un démarrage par jour et dix minutes d’attente avant l’extinction. Ce sont des heures de serveur partagé, pas des heures par personne ; l’installation et l’administration ne sont pas comptées. En dehors du fixe, un message isolé, GPU éteint, revient à environ 0,40 €, et une heure de travail à environ 1,90 €.

On ne paie donc pas au mot, mais au temps où le GPU est allumé. À durée égale, que trois personnes s’en servent ou une seule, la facture est la même. Deux heures par jour, c’est l’ordre de grandeur de quelques abonnements d’IA pour une équipe[13]. À une différence près : le serveur est à Paris, et c’est nous qui l’administrons.

Ce que ce prototype ne fait pas

  • Le modèle n’est pas le meilleur du marché. Nous avons validé le branchement et des tâches simples. Cela ne dit pas s’il peut remplacer le modèle de votre équipe : il faut le comparer sur vos tâches représentatives, en comptant le temps de correction humaine.
  • Le premier message attend. GPU éteint, le démarrage prend trois à cinq minutes ; dans les deux outils que nous utilisons, l’agent patiente et réessaie seul. Le premier message d’une session prend ensuite une trentaine de secondes.
  • Le réveil n’est pas garanti. Chaque extinction rend la machine à Scaleway[9]. Au démarrage suivant, il faut qu’un GPU soit libre. Un lundi matin, il n’y en avait plus de notre modèle cible : nous avons basculé sur deux cartes plus petites, à un tarif voisin[6], environ 30 % plus lentes en génération de code, sans supprimer le risque (nous racontons cette matinée dans la série). Ce fonctionnement convient à une équipe qui peut tolérer une indisponibilité.
  • L’hébergeur garde un accès technique. Comme tout hébergeur, Scaleway peut techniquement accéder à la mémoire de ses machines[14]. Une offre qualifiée SecNumCloud renforce le cadre de sécurité[15], sans rendre à elle seule cette mémoire inaccessible ; une protection matérielle de la mémoire, vérifiable par attestation, répond à une autre exigence[14]. Notre prototype n’a ni l’une ni l’autre.
  • Pas de haute disponibilité. Un serveur, trois utilisateurs.

La vraie question : quelles données envoyer, et où ?

Le choix n’est pas binaire. Il s’agit de trier.

  • Un prototype, une page de présentation, un script jetable : un fournisseur standard fait très bien l’affaire.
  • Le cœur de votre produit : au minimum, des conditions de non-conservation que vous avez lues.
  • Des données clients, ou du code confié sous clause de confidentialité : vérifiez d’abord ce que vos contrats et vos obligations permettent de transmettre. Un hébergement en France répond à une exigence de localisation ; il ne suffit pas à rendre un traitement conforme. Pour la santé et les secteurs régulés, le cadre contractuel et les certifications nécessaires s’examinent avant tout envoi. Notre prototype ne démontre pas cette conformité.

Une configuration hybride convient souvent : un modèle de pointe pour les tâches non sensibles, un modèle privé lorsque vos obligations permettent d’y envoyer les données concernées, et une règle écrite qui précise aussi ce qui ne doit partir nulle part.

Nos propres réponses à la première question : nous gardons des métadonnées (identifiant associé à la clé utilisée, heure, chemin appelé, statut, nombre de tokens, durée). Elles sont effacées au plus tard 14 jours après leur écriture, sans copie syslog. C’est exactement le genre de réponse précise qu’il faut obtenir de n’importe quel fournisseur.

Sources

  1. OpenAI — Data controls in the OpenAI platform

    developers.openai.com · non daté · consulté le · Documentation vivante, non datée : données de l’API non utilisées pour l’entraînement par défaut, journaux de surveillance des abus gardés jusqu’à 30 jours, Zero Data Retention sur approbation, points d’accès non éligibles et exceptions.

  2. Anthropic — API and data retention

    platform.claude.com · non daté · consulté le · Documentation vivante, non datée : périmètre du ZDR, produits et fonctions non couverts, conservation des contenus signalés ou soumis à une obligation légale.

  3. Scaleway — Understand the Generative APIs Privacy Policy

    scaleway.com · non daté · consulté le · Documentation vivante, revue le 3 octobre 2025 : non-conservation par défaut, métadonnées de requête et nombre de tokens collectés, contenu d’une requête en erreur gardé jusqu’à deux semaines, données stockées à Paris.

  4. Scaleway — Model-as-a-service Solutions Pricing

    scaleway.com · non daté · consulté le · Page vivante : modèles ouverts servis par Generative APIs à Paris, jusqu’à plusieurs centaines de milliards de paramètres, facturés au million de tokens.

  5. Anthropic — Data residency

    platform.claude.com · non daté · consulté le · Documentation vivante, non datée : inférence « global » par défaut ou limitée aux États-Unis ; stockage au repos aux États-Unis, seule zone disponible.

  6. Scaleway — GPU Instances Pricing

    scaleway.com · non daté · consulté le · Page vivante, prix hors taxes : L40S-1-48G environ 1,47 € par heure en zone PAR-2 (0,0245 € par minute), L4-2-24G 1,58 € par heure.

  7. Qwen, sur Hugging Face — Qwen3.8-27B-FP8

    huggingface.co · non daté · consulté le · Fiche du modèle : licence apache-2.0.

  8. Apache Software Foundation — Apache License, Version 2.0

    apache.org · non daté · consulté le · Texte de janvier 2004 : droits d’utilisation, de reproduction et de distribution, licence de brevet qui couvre la vente.

  9. Scaleway Documentation — Instances FAQ

    scaleway.com · non daté · consulté le · Documentation vivante, revue le 19 décembre 2025 : instances GPU facturées à la minute de fonctionnement, IP et volumes facturés même machine éteinte, machine physique rendue au parc à l’extinction.

  10. Scaleway — Virtual Instances Pricing

    scaleway.com · non daté · consulté le · Page vivante : DEV1-S à 0,00898 € par heure hors taxes.

  11. Scaleway — Storage Pricing

    scaleway.com · non daté · consulté le · Page vivante : Block Storage 5K à 0,000130 € par Go et par heure hors taxes.

  12. Scaleway — Network Pricing

    scaleway.com · non daté · consulté le · Page vivante : adresse IPv4 d’une instance à 0,005 € par heure hors taxes.

  13. Anthropic — Plans & pricing

    claude.com · non daté · consulté le · Page vivante : offre Team de 2 à 150 sièges, siège standard à 20 $ par mois en paiement annuel, 25 $ en mensuel.

  14. Confidential Computing Consortium — A Technical Analysis of Confidential Computing

    confidentialcomputing.io · publié le · consulté le · Version 1.3, sections 2 et 3 : protection des données en cours de traitement dans un environnement d’exécution matériel attesté, y compris vis-à-vis de l’hyperviseur et du fournisseur.

  15. ANSSI — FAQ avant de se lancer dans la qualification SecNumCloud

    cyber.gouv.fr · non daté · consulté le · Page vivante, non datée : objectifs de sécurité de la qualification et menaces couvertes.

Le scan gratuit

Et chez vous,
qu’est-ce qui est exposé ?

Nous examinons ce que vos équipes et prestataires livrent avec l’IA : code, infrastructure et accès aux données. Un humain relit chaque constat.

Demander le scan gratuit

Scan gratuit. Des failles détectées ? Le rapport détaillé est payant.