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

# Anmelden

> Melden Sie sich von der CLI bei Failproof AI an, um Erinnerungen und personalisierte Funktionen zu aktivieren

```bash theme={null}
failproofai auth login    # E-Mail + Einmalcode
failproofai auth logout   # Diese Sitzung widerrufen
failproofai auth whoami   # Angemeldete Identität ausgeben
```

Die ältere Form `--login` / `--logout` / `--whoami` als Flag wird aus Rückwärtskompatibilitätsgründen weiterhin als Alias akzeptiert.

Die Authentifizierung ist optional. Richtlinien, das Dashboard, die `/audit`-Seite und alle anderen lokalen Funktionen arbeiten unabhängig davon, ob Sie angemeldet sind oder nicht, auf genau dieselbe Weise. Die Anmeldefunktion existiert, damit Funktionen, die eine **stabile Identität benötigen** (heute erneute Audit-Erinnerungen, in Zukunft mehr), einen Ankerpunkt haben.

## Anmeldevorgang

```bash theme={null}
failproofai auth login
```

Fordert zur Eingabe Ihrer E-Mail-Adresse auf, sendet einen 6-stelligen Einmalcode an diese Adresse, fragt nach dem Code und schreibt bei Erfolg `~/.failproofai/auth.json` (Modus `0600`). Die gleiche Sitzung ist dann im In-App-Dashboard sichtbar — ein Klick auf `[ set a reminder ]` in `/audit` erkennt Sie als angemeldet.

Das Dashboard bietet denselben Ablauf als modalen Dialog auf `/audit` für Nutzer, die die CLI nie verwenden.

## Abmelden

```bash theme={null}
failproofai auth logout
```

Widerruft die aktuelle Sitzung auf dem Server und löscht `~/.failproofai/auth.json`. Wenn der API-Server nicht erreichbar ist, wird die lokale Datei trotzdem entfernt — die lokale Absicht zum Abmelden hat immer Vorrang.

## Identitätsprüfung

```bash theme={null}
failproofai auth whoami
```

Gibt `<email> (<user uuid>)` aus und beendet sich mit Code 0, wenn eine gültige Sitzung vorhanden ist, oder gibt `not signed in` aus und beendet sich mit Code 1. Erneuert das Zugriffstoken im Hintergrund automatisch, wenn es weniger als eine Minute bis zum Ablauf hat.

## Wiederkehrende Audit-Erinnerung

Wenn Sie auf der `/audit`-Seite auf **`[ set a reminder ]`** klicken (oder sich über den modalen Dialog anmelden, den die Schaltfläche einblendet), schreibt das Dashboard eine kleine Begleitdatei unter `~/.failproofai/next-audit.json`:

```json theme={null}
{
  "next_audit_at": 1780765200,
  "user_email": "you@example.com",
  "set_at": 1780160574
}
```

Diese Datei ist auf die E-Mail-Adresse beschränkt, für die sie erstellt wurde — wenn die CLI-Sitzung auf ein anderes Konto umgestellt wird, werden alle Erinnerungen des vorherigen Nutzers ausgeblendet. Der Standardabstand beträgt **7 Tage** und kann später konfiguriert werden, sobald der Scheduler verfügbar ist. Erstellt mit `0600`-Berechtigungen wie `auth.json`.

Der `/api/auth/reminder`-Endpunkt des Dashboards stellt `GET` (lesen), `POST` (setzen / neu planen) und `DELETE` (löschen) bereit und erfordert eine aktive Sitzung.

## Inhalt von `~/.failproofai/auth.json`

```json theme={null}
{
  "access_token": "eyJhbGc…",
  "refresh_token": "9ede3e…",
  "access_expires_at": 1780160574,
  "refresh_expires_at": 1782748974,
  "user": { "id": "<uuid>", "email": "you@example.com" }
}
```

Erstellt mit `0600`-Berechtigungen (nur Eigentümer kann lesen/schreiben). Das Zugriffstoken ist ein 1-stündiges HS256-JWT; das Refresh-Token ist ein opaker 256-Bit-Zufallsstring, den der Server als `SHA-256(token)` speichert. Missbrauch von Refresh-Tokens wird serverseitig erkannt und widerruft alle Sitzungen des Nutzers.

## Umgebungsvariablen

| Variable               | Standard                     | Zweck                                                                                                                  |
| ---------------------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `FAILPROOF_API_URL`    | `https://api.befailproof.ai` | Basis-URL des API-Servers überschreiben. Nützlich für die lokale Entwicklung gegen einen selbst gehosteten API-Server. |
| `FAILPROOFAI_AUTH_DIR` | `~/.failproofai`             | Speicherort von `auth.json` überschreiben. Hauptsächlich für Tests.                                                    |

Die vollständige Liste finden Sie unter [Umgebungsvariablen](/de/cli/environment-variables).

## Fehlerbehebung

**„Could not reach the api-server"** — die CLI kann keine TCP-Verbindung zu `FAILPROOF_API_URL` herstellen. Überprüfen Sie Ihr Netzwerk oder setzen Sie `FAILPROOF_API_URL`, wenn Sie einen selbst gehosteten API-Server betreiben.

**„Rate limited"** — zu viele Anmeldeversuche innerhalb eines 15-Minuten-Fensters für diese E-Mail-Adresse (5/E-Mail) oder IP (20/IP), oder eine 30-Sekunden-Wartezeit nach der vorherigen Anfrage für dieselbe E-Mail-Adresse. Die Fehlermeldung enthält die Wiederholungswartezeit in Sekunden.

**Code abgelehnt** — das Einmalpasswort war falsch, abgelaufen oder der Eintrag hat seine Sperrgrenze von 5 Fehlversuchen erreicht. Führen Sie `failproofai auth login` erneut aus, um einen neuen Code anzufordern.
