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

# Drive Storage (BYOK)

> Eigenen R2-/S3-Bucket für Drive verbinden — pro Workspace oder als globaler Fallback.

Drive speichert Dateien in einem Cloudflare-R2-Bucket (oder jedem S3-kompatiblen Speicher). Du bringst deinen eigenen Bucket mit — *Bring Your Own Key*.

## Zwei Wege

<CardGroup cols={2}>
  <Card title="Pro Workspace (BYOK)" icon="user">
    Jeder Workspace verbindet seinen eigenen Bucket über **Einstellungen → Drive Storage**.
  </Card>

  <Card title="Globaler Fallback" icon="server">
    Ein gemeinsamer Bucket für alle Workspaces über die `R2_*` Env-Vars — ideal für Single-Tenant-Setups.
  </Card>
</CardGroup>

Setzt du keinen globalen Bucket, läuft Drive ausschließlich über BYOK pro Workspace. Ohne konfigurierten Speicher startet die App zwar — Drive funktioniert dann aber erst, sobald ein Bucket hinterlegt ist.

## BYOK einrichten

<Steps>
  <Step title="Bucket anlegen">
    Erstelle einen R2- (oder S3-kompatiblen) Bucket bei deinem Provider und generiere Zugangsdaten.
  </Step>

  <Step title="In den Einstellungen verbinden">
    Gehe im Workspace zu **Einstellungen → Drive Storage** und trage Account-ID, Access Key, Secret und Bucket-Namen ein.
  </Step>

  <Step title="Fertig">
    Die Credentials werden mit AES-256-GCM verschlüsselt (über deinen `ENCRYPTION_KEY`) in Supabase gespeichert.
  </Step>
</Steps>

## Globaler Fallback per Env-Vars

```bash theme={null}
R2_ACCOUNT_ID=...
R2_ACCESS_KEY_ID=...
R2_SECRET_ACCESS_KEY=...
R2_BUCKET_NAME=...
R2_PUBLIC_BASE_URL=https://...
```

<Note>
  Die per-Workspace-BYOK-Credentials werden mit dem `ENCRYPTION_KEY` aus deiner Environment verschlüsselt. Behalte diesen Key sicher und unverändert.
</Note>
