> ## Documentation Index
> Fetch the complete documentation index at: https://docs.genie-app.de/llms.txt
> Use this file to discover all available pages before exploring further.

# API-Schlüssel und Secrets in deinem Projekt speichern

> Projekt-Secrets speichern API-Schlüssel und andere sensible Werte sicher. Deine laufende App liest sie automatisch — sie sind nie in deinem Code oder Chat sichtbar.

Viele Apps müssen externe Dienste aufrufen — Zahlungsanbieter, Karten-APIs, E-Mail-Anbieter und andere — und diese Dienste benötigen einen API-Schlüssel zur Authentifizierung deiner Anfragen. Einen Schlüssel direkt in deine App zu schreiben ist riskant, weil jeder, der den Quellcode sieht, ihn lesen kann. Die **Secrets**-Funktion von Genie bietet einen sicheren Ort, um diese Schlüssel zu speichern: Sie werden verschlüsselt abgelegt, niemals in deinem Chat-Verlauf oder generierten Code angezeigt und beim Ausführen deiner App als Umgebungsvariablen eingespeist.

<Note>
  Secrets erfordern, dass **Genie Cloud** mit deinem Projekt verbunden ist. Wenn Genie Cloud nicht verbunden ist, zeigt der Secrets-Tab eine Meldung mit der Bitte, Genie Cloud zuerst einzurichten. Siehe [Genie Cloud](/de/cloud/overview), um loszulegen.
</Note>

## Wie Secrets funktionieren

Ein Secret besteht aus zwei Teilen:

* **Name** — der Schlüssel, mit dem deine App den Wert liest (zum Beispiel `STRIPE_SECRET_KEY`). Verwende Großbuchstaben und Unterstriche und folge den üblichen Konventionen für Umgebungsvariablen.
* **Wert** — die eigentliche sensible Zeichenkette (der API-Schlüssel, das Token oder das Passwort).

Nach dem Speichern wird der Wert verschlüsselt abgelegt und nie vollständig in der Genie-Oberfläche angezeigt. Die Secrets-Liste zeigt den Namen, einen maskierten Wert (`••••••••`) und das Datum der letzten Aktualisierung.

Wenn Genie deine App ausführt, sind alle Secrets deines Projekts automatisch als Umgebungsvariablen verfügbar. Dein generierter App-Code kann sie mit der passenden Methode für die jeweilige Sprache oder das Framework lesen.

## Den Secrets-Tab öffnen

<Steps>
  <Step title="Öffne dein Projekt">
    Navigiere zu dem Projekt, das du konfigurieren möchtest.
  </Step>

  <Step title="Klicke auf Einstellungen">
    Klicke in der Projektansicht auf den Button **Einstellungen** (Zahnradsymbol).
  </Step>

  <Step title="Wähle Secrets">
    Klicke in der Einstellungs-Seitenleiste auf **Secrets**. Der Tab lädt deine vorhandenen Secrets in einer Tabelle mit den Spalten **Name**, **Wert**, **Aktualisiert** und **Aktionen**.
  </Step>
</Steps>

## Ein Secret hinzufügen

<Steps>
  <Step title="Klicke auf den Hinzufügen-Button">
    Klicke im Tab **Secrets** auf den **+ Hinzufügen**-Button oben rechts. Ein Dialog öffnet sich.
  </Step>

  <Step title="Den Namen eingeben">
    Tippe den Namen des Secrets in das Feld **Name**. Das ist der Schlüssel der Umgebungsvariable, den deine App verwendet — zum Beispiel `OPENAI_API_KEY`.
  </Step>

  <Step title="Den Wert eingeben">
    Tippe oder füge den Wert des Secrets in das Feld **Wert** ein. Das ist der eigentliche API-Schlüssel oder das Passwort.
  </Step>

  <Step title="Speichern">
    Klicke im Dialog auf den Speichern-Button. Das Secret wird verschlüsselt und sofort zur Secrets-Liste deines Projekts hinzugefügt.
  </Step>
</Steps>

<Warning>
  Sowohl **Name** als auch **Wert** sind erforderlich. Wenn eines der beiden Felder leer ist, lässt der Dialog dich nicht speichern.
</Warning>

## Ein Secret ansehen

Die Spalte **Wert** zeigt immer `••••••••`, um den gespeicherten Wert zu schützen. Um den tatsächlichen Wert zu sehen, klicke auf das **Augensymbol** (Ansicht-Aktion) neben dem Secret. Ein schreibgeschützter Dialog öffnet sich und zeigt Name und Wert im Klartext.

## Ein Secret bearbeiten

<Steps>
  <Step title="Klicke auf das Bearbeiten-Symbol">
    Klicke in der Secrets-Tabelle auf das **Stift-Symbol** neben dem Secret, das du ändern möchtest.
  </Step>

  <Step title="Aktualisiere Name oder Wert">
    Der Bearbeiten-Dialog öffnet sich mit aktuellem Namen und Wert vorausgefüllt. Du kannst eines oder beide Felder ändern.
  </Step>

  <Step title="Speichern">
    Klicke auf den Bestätigen-Button. Das Secret wird sofort aktualisiert. Die Spalte **Aktualisiert** in der Tabelle zeigt den neuen Zeitstempel.
  </Step>
</Steps>

<Tip>
  Wenn du einen API-Schlüssel beim externen Dienst rotierst, komm hierher zurück, um den Wert zu aktualisieren. Deine App übernimmt den neuen Wert beim nächsten Lauf — ohne erneutes Deployment.
</Tip>

## Ein Secret löschen

<Steps>
  <Step title="Klicke auf das Löschen-Symbol">
    Klicke auf das **Mülleimer-Symbol** neben dem Secret, das du entfernen möchtest.
  </Step>

  <Step title="Löschung bestätigen">
    Ein Bestätigungsdialog erscheint mit dem Namen des Secrets. Klicke auf **Löschen**, um zu bestätigen.
  </Step>
</Steps>

<Warning>
  Das Löschen eines Secrets ist endgültig. Wenn deine App diese Umgebungsvariable zur Laufzeit liest und das Secret weg ist, erhält die App einen leeren oder undefinierten Wert und funktioniert möglicherweise nicht mehr korrekt. Stelle sicher, dass du den Code deiner App aktualisierst, bevor du ein Secret entfernst, von dem sie abhängt.
</Warning>

## Secrets durchsuchen und paginieren

Wenn du viele Secrets hast, nutze die **Suchleiste** oben im Tab, um nach Name zu filtern. Die Ergebnisse aktualisieren sich beim Tippen. Die Tabelle zeigt bis zu 10 Secrets pro Seite; nutze die Buttons **Zurück** und **Weiter** unten, um zwischen Seiten zu wechseln.

## Secrets vs. allgemeine Einstellungen

Es lohnt sich, den Unterschied zwischen Secrets und den anderen Feldern unter **Einstellungen > Allgemein** zu kennen:

|                                        | Secrets                           | Allgemeine Einstellungen                |
| -------------------------------------- | --------------------------------- | --------------------------------------- |
| **Verschlüsselt gespeichert**          | Ja                                | Nein                                    |
| **Nach dem Speichern sichtbar**        | Maskiert (`••••••••`)             | Vollständig sichtbar                    |
| **Zur Laufzeit für die App verfügbar** | Ja, als Umgebungsvariablen        | Nein                                    |
| **Benötigt Genie Cloud**               | Ja                                | Nein                                    |
| **Beispielnutzung**                    | API-Schlüssel, Passwörter, Tokens | Projektname, Beschreibung, Sichtbarkeit |

Lege niemals sensible Werte — API-Schlüssel, Passwörter oder Tokens — in den Feldern **Name** oder **Beschreibung** der allgemeinen Einstellungen ab. Diese Werte werden im Klartext gespeichert und können für jeden sichtbar sein, der deine Projektdetails einsehen kann.
