v0.5.0: Add RBAC auth, LLM router, audit logging, output sanitization

- New: auth.py – Role-based access (operator/approver/viewer)
- New: llm_router.py – Configurable primary/fallback provider chain
- New: audit_log.py + audit_query.py – DSGVO-compliant audit trail
- New: sanitize_output() – masks secrets in bot responses
- Updated: bot.py – Integrated auth guards, router, audit logging
- Updated: ollama_client.py – Router-compatible interface
- Updated: CLOWNFISCHSERVER.md – Documentation updated
- Updated: README.md – Documentation updated
This commit is contained in:
root
2026-06-26 20:41:35 +02:00
commit f2fdf95897
25 changed files with 5472 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
# Contributing to Clownfischserver 🐠
Danke dass du mitmachen willst! Hier sind die Regeln:
## Grundprinzipien
- **Open Source bleibt Open Source** – GPL-3.0, keine Ausnahmen
- **Lokal first** – keine Cloud-Dependencies, keine externen APIs
- **Einfach bleiben** – ein Nutzer, ein Bot, ein Server
- **Sicherheit** – Safety-Check vor jeder Aktion
## Pull Requests
1. Fork das Repo
2. Branch erstellen: `git checkout -b feature/dein-feature`
3. Änderungen committen
4. PR öffnen mit Beschreibung was und warum
## Code Style
- Python: PEP8, async/await
- Bash: shellcheck-kompatibel
- Kommentare auf Deutsch oder Englisch
- Header in jeder Datei (siehe bestehende Dateien)
## Code-Hygiene (wichtig!)
- **Kein toter Code** – keine Funktionen/Module die definiert aber nie aufgerufen werden
- **Keine versteckten Cloud-Calls** – jeder externe Request muss klar ersichtlich und opt-in sein
- **Niemals `verify=False`** bei HTTPS-Requests
- **Keine User-Eingaben an Dritte** ohne explizites Opt-in (DSGVO by design)
- **Klare Conditions** – verschachtelte Ternaries (`A if B else C` innerhalb von `and`-Ketten) vermeiden
- Selbst-Review vor jedem Release: macht jede Zeile noch das was sie soll?
## Issues
- Bug? → Issue mit Log-Output
- Feature-Idee? → Issue mit Use-Case Beschreibung
- Frage? → Issue oder Discussions
## Was wir suchen
- Distro-Support (getestete Fedora/Arch Fixes)
- Neue Bot-Commands
- Bessere Safety-Prompts
- Dokumentation
- Tests
## Was wir NICHT wollen
- Cloud-Dependencies
- Closed-Source Komponenten
- Komplexität die Einsteiger abschreckt