Aktualisiert

Wie du .env-Dateien teilst, ohne sie in Git zu committen

Von

Die sicherste Methode, .env-Dateien zu teilen, sind verschlüsselte, selbstlöschende Links — nicht Slack-DMs, E-Mails oder Git-Commits. Tools wie Vaulted verschlüsseln deine Umgebungsvariablen im Browser mit AES-256-GCM, bevor irgendetwas gesendet wird, und der Link löscht sich nach dem Aufrufen automatisch.

Laut dem State of Secrets Sprawl Report 2025 von GitGuardian wurden 2024 in öffentlichen GitHub-Repositories 23,8 Millionen Geheimnisse geleakt — ein Anstieg von 25 % gegenüber dem Vorjahr. Und GitHubs eigene Daten zeigen 39 Millionen entdeckte Geheimnisse auf der Plattform im Jahr 2024. Viele davon stammen aus versehentlich committetem .env-Dateiinhalt.

Das Problem beim Teilen von .env-Dateien

Environment-Dateien sind besonders gefährlich, weil sie alle Geheimnisse, die deine App benötigt, an einem Ort bündeln: Datenbank-URLs, API-Keys, Signing-Secrets und Tokens von Drittanbietern. Ein einziger .env-Leak kann jeden externen Dienst kompromittieren, mit dem deine Anwendung verbunden ist.

Gängige Methoden, mit denen Teams .env-Dateien teilen — und warum sie scheitern:

  • Slack/Discord-DMs — Durchsuchbar, werden gesichert und bleiben nach dem Ausscheiden von Mitarbeitenden erhalten
  • E-Mail — Im Klartext auf Mailservern gespeichert, oft unbeabsichtigt weitergeleitet
  • Git-Commits — Auch in privaten Repos sind Geheimnisse im Verlauf kaum vollständig zu entfernen
  • Geteilte Laufwerke — Kein Ablaufdatum, keine Zugriffskontrolle, kein Audit-Trail
  • 1Password/Bitwarden-Notizen — Erfordert, dass beide Parteien Konten im selben Tresor haben

Ein besserer Ansatz: verschlüsselte, selbstlöschende Links

Statt den Dateiinhalt direkt zu senden, verschlüssele ihn zuerst und teile einen Link, der sich nach dem Aufrufen selbst löscht.

Über den Browser

  1. Geh zu vaulted.fyi
  2. Füge den Inhalt deiner .env-Datei ein
  3. Setze ein Aufruflimit (1 Aufruf für einen einzelnen Empfänger) und eine Ablaufzeit
  4. Sende den generierten Link an dein Teammitglied

Der Inhalt wird mit AES-256-GCM in deinem Browser verschlüsselt, bevor irgendetwas gesendet wird. Der Verschlüsselungsschlüssel lebt ausschließlich im URL-Fragment — der Server sieht niemals deinen Klartext.

Über das Terminal

Wenn du die Kommandozeile bevorzugst, erledigt die Vaulted CLI dasselbe:

# Pipe directly from the file
cat .env.production | npx vaulted-cli --views 1

# Or pass the file path
npx vaulted-cli --file .env.local --views 1 --expires 1h

# Add a passphrase for extra security
cat .env | npx vaulted-cli -v 1 -e 24h -p "ask-me-on-call"

Die CLI verwendet dieselbe Verschlüsselung wie die Web-App — denselben Algorithmus, dieselbe Zero-Knowledge-Architektur, dieselben selbstlöschenden Links. Das Ergebnis ist eine einzige URL, die du in Slack oder anderswo einfügen kannst — sie läuft ab, sobald der Empfänger sie aufgerufen hat.

Was ist mit Secrets Managern?

Tools wie Doppler, Infisical und AWS Secrets Manager sind ideal für Produktionsumgebungen, in denen Geheimnisse von Anwendungen programmatisch abgerufen werden. Aber sie lösen ein anderes Problem — sie verwalten Geheimnisse, die Dienste automatisiert lesen.

Beim .env-Teilen geht es um die Übergabe von Mensch zu Mensch: beim Onboarding eines neuen Entwicklers, beim Weitergeben einer Staging-Konfiguration an einen Auftragnehmer oder beim Verteilen aktualisierter Zugangsdaten nach einer Rotation. Diese Übergabe muss schnell, sicher und ohne jegliches Setup auf Empfängerseite funktionieren.

Best Practices für die .env-Hygiene

  1. Committe niemals .env-Dateien in Git — Füge .env* von Anfang an zur .gitignore hinzu
  2. Rotiere Zugangsdaten nach dem Teilen — Betrachte jedes Teilen als mögliche Offenlegung
  3. Nutze Links mit Aufruflimit — Ein Aufruf pro Empfänger, kurze Ablaufzeit
  4. Füge eine Passphrase für Produktionskonfigurationen hinzu — Teile die Passphrase über einen separaten Kanal
  5. Dokumentiere, welche Variablen benötigt werden — Halte eine .env.example mit leeren Werten in deinem Repo

Hör auf, Umgebungsvariablen in Slack einzufügen. Teile sie sicher mit Vaulted — vom Browser oder vom Terminal aus.


Verwandtes