← RETOUR À L'INDEX
/tutoriels/ infrastructure / openrouter-sans-collecte-ni-entraînement-sur-ses-prompts.md

OpenRouter sans collecte ni entraînement sur ses prompts

Désactiver l'entraînement sur tes données et restreindre les providers OpenRouter à la stack souveraine française.

CAT · INFRA LECTURE · 4 min PUBLIÉ · 2026-04-12

Temps estimé : 20 min

Résultat final : OpenRouter configuré pour ne jamais envoyer tes tokens à des providers CN, avec un preset dédié et une validation curl.

Prérequis : Compte OpenRouter créé, clé API générée


Objectif

Ce tuto guide la configuration d’OpenRouter en mode souverain : ne jamais envoyer de données à des providers hors UE/US avec des politiques de rétention opaques.


Étape 1 : Privacy Settings — les 4 toggles critiques

  1. Connecte-toi sur openrouter.ai
  2. Navigue vers Settings → Privacy & Guardrails
  3. Configure les toggles suivants :
ToggleValeurRisque si activé
Enable paid endpoints that may trainOFFTes prompts payants utilisés pour entraîner des modèles tiers
Enable free endpoints that may trainOFFIdem — activé par défaut, piège classique
Enable free endpoints that may publish promptsOFFTes prompts publiés dans des datasets publics
ZDR Endpoints OnlyOFF (pour l’instant)Réduit trop les modèles disponibles en phase de setup
⚠️ Sécurité

“Enable free endpoints that may train” est activé par défaut. GPT-OSS-120B et autres modèles gratuits sont concernés. Si tu l’as déjà utilisé sans le désactiver, considère que tes prompts ont pu être collectés. Désactive-le maintenant.

Checklist étape 1 :

  • Les 3 premiers toggles sont OFF
  • Screenshot de la page sauvegardé localement comme preuve d’audit

Étape 2 : Provider Restrictions — blacklist CN

  1. Toujours dans Settings → Privacy & Guardrails → Provider Restrictions
  2. Clique sur Ignored Providers → + Add
  3. Ajoute les providers suivants un par un :
MiniMax → CN, Bytedance-backed
DeepSeek → CN, politique de rétention opaque
Moonshot → CN (éditeur de Kimi)
Bytedance → CN (TikTok / Doubao)
⚠️ Sécurité

blacklister un provider n’est pas rétroactif. Les requêtes déjà envoyées via ces providers ne peuvent pas être effacées. Cette config protège les requêtes futures uniquement.

Checklist étape 2 :

  • 4 providers CN dans la liste Ignored Providers
  • Vérification : aucun modèle CN n’apparaît dans l’Eligibility Preview

Étape 3 : Créer le preset homeserver-ia

  1. Navigue vers Settings → Presets → New Preset
  2. Crée les 3 presets suivants :

Preset ha-commands (domotique HA, requêtes simples)

{
  "model": "mistralai/mistral-small-2603",
  "provider": {
    "allow": ["Mistral"],
    "order": ["Mistral"]
  }
}

Preset agent-telegram (contexte long, mémoire)

{
  "model": "mistralai/mistral-small-2603",
  "provider": {
    "allow": ["Mistral"],
    "order": ["Mistral"]
  }
}

Preset devbot (coding, GitHub)

{
  "model": "mistralai/devstral-2",
  "provider": {
    "allow": ["Mistral"],
    "order": ["Mistral"]
  }
}
⚠️ Sécurité

un preset sans provider.allow explicite laisse OpenRouter choisir n’importe quel provider disponible, y compris hors EU. Toujours spécifier allow même pour un seul provider.


Étape 4 : Validation curl — vérifier que le routage est effectif

C’est l’étape que 90% des gens sautent. Sans elle, tu ne sais pas si ta config est réellement appliquée.

Test 1 : vérifier quel provider répond pour ha-commands

curl -s -D - https://eu.openrouter.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $OPENROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mistralai/mistral-small-2603",
    "provider": {"allow": ["Mistral"]},
    "messages": [{"role":"user","content":"ping"}],
    "max_tokens": 5
  }' | grep -i "x-provider\|x-ratelimit\|HTTP/"
  • ✅ Attendu : header x-provider: Mistral
  • ❌ Si absent ou autre valeur → preset non appliqué ou provider indisponible

Test 2 : vérifier que les providers CN sont bien bloqués

curl -s https://eu.openrouter.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $OPENROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "moonshotai/kimi-k2.5",
    "provider": {"allow": ["Moonshot"]},
    "messages": [{"role":"user","content":"ping"}],
    "max_tokens": 5
  }' | jq '.error'
  • ✅ Attendu : erreur “No provider available” ou équivalent
  • ❌ Si une réponse arrive → Moonshot n’est pas dans ta blacklist
⚠️ Sécurité

noter la date de ces tests dans un fichier ~/.openclaw-security-audit.md (chmod 600). Ce fichier servira de journal d’audit pour les tutos suivants.

Checklist finale :

  • x-provider: Mistral confirmé dans la réponse
  • Moonshot bloqué confirmé
  • ~/.openclaw-security-audit.md créé avec date et résultats

Dépannage

“No models available with current provider restrictions”

Vérifier que Mistral n’est pas dans Ignored Providers par erreur.

Header x-provider absent

Utiliser -v au lieu de -D - pour voir tous les headers.

Clé OpenRouter refusée

Vérifier que $OPENROUTER_KEY est bien exportée :

echo $OPENROUTER_KEY | cut -c1-8
# Affiche les 8 premiers chars

Références

VR · 2026-04-12 · vraffin.dev FIN DU DOCUMENT