# Regel: Geheimnisse > Stand: 07.10.2026 · gilt für: alle Agenten, alle Projekte 1. **Nie** Passwörter, Shared Secrets, private Schlüssel oder Tokens in Dateien der Basis, ins Git, in Chats oder Logs – auch nicht in Beispielen mit echten Werten. 2. **Quelle Nr. 1: Secret-Store** (Platzhalter: HashiCorp Vault ``, KV v2, Mount `secret`, Pfad `//…`). Konkrete Werte in `ai/context/environment.md`. 3. **Fallback: Ansible Vault.** Passwortdatei **außerhalb** des Repos (`~/.ans-secret-`), Variablennamen beginnen mit `vault_`. 4. `.env`-Dateien: nie im Git, nur `.env.example` mit gleichen Schlüsseln und Platzhaltern. Secrets in `.env` nur, wenn das Werkzeug es erzwingt (z. B. Docker-Stack). 5. **Ansible:** Tasks mit Geheimnissen `no_log: true`, Templates mit Geheimnissen `diff: false` – sonst landen Werte in Terminal und `ansible.log`. 6. **Bash:** Geheimnisse nie als Kommandozeilenargument (sichtbar in `ps`), nie mit `becho`/`bdebug` ausgeben; per Datei-Deskriptor, stdin oder Umgebungsvariable übergeben. 7. Geheimnisse **erzeugen**, nicht ausdenken: `openssl rand -hex 24` direkt im Schreibbefehl (`vault kv put … key="$(openssl rand -hex 24)"`). Bei KV v2 `patch` statt `put`, wenn nur ein Schlüssel geändert wird. 8. **Agenten** lesen keine `.env`/Vault-Inhalte aus und geben keine Geheimnis-Werte aus – nur Schlüsselnamen. Benötigt ein Test ein Geheimnis, fragt der Agent den Bediener, ihn selbst auszuführen.