Commencez par l'accueil, le contexte nœud Allemagne (Francfort), puis le guide liste blanche sortante UE et désobfuscation JSONL, loopback et SSH LocalForward et la matrice AWS eu-central-1 OpenClaw. Figez les scripts avant toute bascule production.
- 1. Canaux DM ouverts sans pairing — tout identifiant peut déclencher l'agent.
- 2. Liste blanche et
config validatedans des tickets séparés — une release ouvre des hôtes CDN US. - 3. Les journaux contiennent des codes pairing ou des jetons alors que l'egress est déjà en refus par défaut.
Résidence des données nœud Allemagne et stratégie de sortie
Le Mac mini M4 physique au PoP allemand sert d'ancre de mesure et d'exécution : configuration et journaux JSONL restent sur l'hôte, tandis que la sortie via pare-feu d'entreprise ou proxy forward reste en refus par défaut. La résidence ne remplace pas un DPA — elle simplifie la réponse incident et l'abonnement sécurité.
| Levier | Nœud DE (Francfort) | Portable APAC seul |
|---|---|---|
| EU-API-p95 | Stable, résolveurs UE | Biaisé par routage Pacifique |
| Chemin config / journaux | Un hôte, un snapshot | Dérive entre développeurs |
| OpenClaw-Gates | validate + doctor sur l'hôte cible | « vert local », rouge en UE |
| Récit sous-traitants | Adresse DE en achat | Plusieurs continents |
Politique DM pairing / allowlist — fragments de configuration
Le pairing bloque les expéditeurs inconnus. Figez openclaw comme en CI ; ne touchez que le staging tant que openclaw config validate n'est pas vert.
"channels": { "telegram": { "dmPolicy": "pairing", "allowFrom": ["@approved-bot", "123456789"] } }
"egress": { "mode": "allowlist", "hosts": ["api.openai.com", "registry.npmjs.org", "*.europe-west3.gcr.io"] }
Ajoutez les hôtes depuis les release notes. Après chaque extension : openclaw doctor --non-interactive et smoke test réseau UE.
Désobfuscation des champs de journal (codes pairing, jetons, erreurs egress)
Associez le DM pairing à logging.redactPatterns — détails dans le runbook désobfuscation UE. Masquer au minimum : pairing_code, authorization, api_key, cookie, URL brutes avec jetons query.
| Champ / motif | Action | Note rétention |
|---|---|---|
| pairing_code, otp | Hachage ou [REDACTED] | ≤ 7 jours debug |
| authorization Bearer | Toujours masquer | Pas de texte intégral en JSONL |
| egress_denied host | Conserver l'hôte, retirer le chemin | 30 j audit |
Portes de conformité, config validate et points de repli
Porte merge (CI) : version épinglée → injection de secrets synthétiques → openclaw config validate → openclaw doctor --non-interactive → abandon si code de sortie ≠ 0.
- Checkpoint A: Sauvegarde horodatée de
~/.openclaw/openclaw.jsonavant modification. - Checkpoint B: validate vert en staging sur le Mac DE.
- Checkpoint C: doctor sans migration non planifiée.
- Checkpoint D: 50 lignes JSONL — aucun secret en clair.
- Rollback: Arrêter la passerelle, restaurer le snapshot, épingler la version paquet, relancer doctor en staging.
Loopback et SSH — surface d'exposition minimale
La passerelle écoute sur 127.0.0.1 ; les administrateurs utilisent SSH LocalForward (-L 18789:127.0.0.1:18789), jamais Gateway.Bind=lan sans ticket. Étapes complètes : SSH LocalForward + doctor. Après changement : lsof -iTCP:18789 -sTCP:LISTEN ne doit montrer que le loopback.
Tableau p95 Francfort — API UE depuis le Mac distant Allemagne
Deux cents requêtes HTTPS par hôte, fuseau Europe/Berlin, sans VPN APAC dans le même run. Les seuils sont des signaux ops — pas des SLA.
| Cible (UE) | p95 TTFB (ms) | Signal | Lien OpenClaw |
|---|---|---|---|
| eu-central-1 (AWS) | 18–32 | Vert | STS/S3-Allowlist |
| westeurope (Azure) | 22–38 | Vert | Key Vault-Provider |
| europe-west3 (GCP) | 24–42 | Ambre si >40 | Artifact Registry |
| api.openai.com (EU-Pfad) | 35–55 | Ambre | Egress modèle |
| Unlisted CDN | — | Rouge — liste blanche | doctor egress_warn |
Mac mini M4 16 Go vs 24 Go — repères OpenClaw et sondes CI
| Profil | 16 GB + 1 TB | 24 GB + 2 TB |
|---|---|---|
| validate + doctor parallel | Passerelle unique | Passerelle + canari Playwright |
| JSONL + cache local | Swap si pression >6 Go | Marge pour journaux 7 jours |
| Recommandation | Staging / petites équipes | Prod avec pipeline conformité UE |
Montée en RAM seulement quand les lignes API SEG-B sont vertes et que seuls les artefacts de build swappent — pas l'inverse.
Sept étapes de déploiement (reproductibles)
- Installer Node 22.14+ et
openclawépinglé ; snapshot de la config JSON. dmPolicy: pairingundallowFromen staging.- Liste blanche sortante UE depuis inventaire (modèle, registre, Git, télémétrie).
logging.redactPatternsselon le runbook journaux.openclaw config validate— code de sortie 0 requis.openclaw doctor --non-interactive; redémarrer la passerelle ; échantillonner JSONL.- Vérifier loopback/SSH ; joindre CSV p95 Francfort au CAB ; puis production.
Seuils opérationnels citables (mai 2026)
- Paire de portes :
config validate+doctor --non-interactive— les deux code 0 avant merge. - Egress :
allowlistdocumentée ; non listé = refus. - Bind: Port passerelle uniquement sur
127.0.0.1; SSH-Lsans0.0.0.0. - p95 : n=200 par hôte UE ; ambre dès 42 ms TTFB sur trois jours ouvrés.
FAQ — DM pairing, liste blanche et config validate
validate et doctor verts ? Ancrer OpenClaw sur le nœud Allemagne LeanVPS
Après des portes validate/doctor vertes : Accueil, nœud Allemagne Francfort und désobfuscation journaux UE dans le même train de release.