> ## 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.

# Lokale Konfiguration

> Steuerung von Policy-Scope, Parametern, benutzerdefinierten Dateien und maschinenbezogenen Failproof AI-Einstellungen.

Failproof AI trennt die Policy-Auswahl von Maschinen- und Daemon-Einstellungen. So bleiben Repository-Policy-Entscheidungen überprüfbar, während Anmeldedaten und Daemon-Zustand außerhalb des Repositorys gespeichert werden.

## Einen Policy-Scope wählen

<Tabs>
  <Tab title="Dashboard">
    Führen Sie `failproofai` ohne Argumente aus, um das lokale Policy-Dashboard zu öffnen. Wählen Sie den User-, Project- oder Local-Scope, bevor Sie eine Policy aktivieren, damit die Änderung in die richtige Konfigurationsdatei geschrieben wird.

    * **User** gilt projektübergreifend auf dieser Maschine.
    * **Project** gehört zum Repository und kann committet werden.
    * **Local** überschreibt ein Projekt für einen einzelnen Benutzer und sollte gitignored bleiben.
  </Tab>

  <Tab title="CLI">
    ```bash theme={null}
    failproofai policy add block-rm-rf --scope user
    failproofai policy add block-force-push --scope project
    failproofai policy add warn-large-file-write --scope local
    failproofai policies
    ```

    Nicht jedes Harness unterstützt den Local-Scope. Die CLI lehnt einen Scope ab, den das gewählte Harness nicht abbilden kann.
  </Tab>
</Tabs>

| Scope   | Policy-Konfigurationsdatei                          |
| ------- | --------------------------------------------------- |
| Project | `<project>/.failproofai/policies-config.json`       |
| Local   | `<project>/.failproofai/policies-config.local.json` |
| User    | `~/.failproofai/policies-config.json`               |

Aktivierte Policies werden als Vereinigungsmenge zusammengeführt. Policy-Parameter verwenden den ersten Scope, der Parameter für die jeweilige Policy definiert, in der Reihenfolge Project → Local → User. Explizite benutzerdefinierte Policy-Pfade verwenden den ersten Scope, der sie definiert.

## Policy-Parameter konfigurieren

<Tabs>
  <Tab title="Dashboard">
    Öffnen Sie die Policy im lokalen Dashboard, bearbeiten Sie die unterstützten Parameter und speichern Sie im gewählten Scope. Führen Sie eine passende und eine nicht passende Agent-Aktion aus und überprüfen Sie die Entscheidung unter **Observe → policy**.
  </Tab>

  <Tab title="CLI">
    Bearbeiten Sie die `policies-config.json` des gewählten Scopes und führen Sie anschließend `failproofai policies` aus, um unbekannte Policy-Namen oder Parameter-Keys zu erkennen.

    ```json theme={null}
    {
      "enabledPolicies": ["block-rm-rf", "block-force-push"],
      "policyParams": {
        "block-rm-rf": {
          "allowPaths": ["/tmp/build-output"]
        }
      }
    }
    ```

    ```bash theme={null}
    failproofai policies
    ```
  </Tab>
</Tabs>

## Die Maschinendateien verstehen

`~/.failproofai` enthält separate Dateien für separate Vertrauensgrenzen:

| Pfad                   | Zweck                                                                        |
| ---------------------- | ---------------------------------------------------------------------------- |
| `config.json`          | Nicht-geheime Daemon-, Audit- und Telemetrie-Einstellungen                   |
| `credentials.json`     | Cloud-Anmeldedaten; mit Nur-Eigentümer-Berechtigungen gespeichert            |
| `policies-config.json` | User-Scope-Builtin-Auswahl, Parameter und explizite benutzerdefinierte Pfade |
| `policies/`            | Benutzerkonvention-Policies und Cloud-verwaltete Policy-Artefakte            |
| `hook-activity/`       | Lokales Policy-Entscheidungsprotokoll                                        |
| `state/`               | Daemon-Spool, Health-, Pause- und Laufzeitzustand                            |

Verwenden Sie `FAILPROOFAI_HOME`, um das gesamte Maschinen-Layout für einen Container oder isolierten Test zu verschieben. Verschieben Sie einzelne Zustandsverzeichnisse nicht unabhängig voneinander.

<Warning>
  Committen Sie niemals `credentials.json`. Committen Sie Project-Policy-Konfigurationen und Projektkonvention-Policies nur, nachdem Sie diese als Durchsetzungscode überprüft haben.
</Warning>
