# Sicherheit

## Design-Entscheidungen

- Local-First PDF-Verarbeitung: Standardtools laufen im Browser.
- Keine anonyme PDF-Upload-API.
- PHP-Dateiuploads sind per `.user.ini` deaktiviert, soweit vom Host unterstützt.
- `api.php` akzeptiert nur GET und löscht versehentliche Upload-Tempfiles direkt.
- `config/` und `data/` sind per `.htaccess` geschützt.
- Admin- und Accountformulare nutzen CSRF-Token.
- Sessions sind `HttpOnly`, `SameSite=Strict` und bei HTTPS `Secure`.
- Security-Header sind in `.htaccess` und PHP gesetzt.

## Restrisiken

- Der reale Webserver kann trotzdem Zugriffslogs schreiben.
- Öffentliche CDNs erzeugen Drittanbieter-Requests für JavaScript-Bibliotheken. Für strikten Betrieb müssen die Bibliotheken lokal gehostet werden.
- Custom CSS/JS und Anzeigen-Slots im Admin können externe Skripte einbinden. Nur vertrauenswürdigen Code nutzen.
- Diese Version ist keine ISO-/NIS2-Zertifizierung.

## Empfohlene Produktionsmaßnahmen

- HTTPS erzwingen.
- HSTS am Server aktivieren.
- Adminbereich zusätzlich schützen.
- Backup und Restore testen.
- Patch-Prozess für JavaScript-Bibliotheken definieren.
- CSP nach lokaler Vendor-Umstellung auf `self` reduzieren.


## AI Workbench

`ai-workbench.html` verarbeitet Prompt, Text-Extraktion und Suchen/Ersetzen lokal im Browser. Es ist kein serverseitiger AI-Proxy enthalten. Für spätere echte LLM-Funktionen sollte der Betreiber eine ausdrückliche Nutzerfreigabe, Datenflussanzeige, AVV/DPA, Logging-Minimierung und Löschkonzept ergänzen.
