# Privacy Gateway - Projektübersicht ## Vision Ein Docker-basierter Proxy für KI-Prompts, der automatisch persönliche Daten (PII) anonymisiert, an externe KI-Modelle weiterleitet und die Antworten re-identifiziert. ## Kernfunktionen 1. **Multi-Chat-Interface** - Mehrere parallele Konversationen (wie OpenWebUI) 2. **PII-Erkennung & Anonymisierung** - Lokales LLM für Datenschutz 3. **KI-Proxy** - Weiterleitung an Ollama/OpenWebUI 4. **Re-Identifizierung** - Zurückfüllen der Originaldaten in Antworten 5. **Session-Management** - Persistente Chats mit History ## Technologie-Stack - **Frontend:** React + TypeScript (Chat-UI) - **Backend:** Node.js/Express oder Python/FastAPI - **Anonymisierung:** Ollama mit lokalem Modell (z.B. gemma oder mistral) - **Datenbank:** PostgreSQL (Sessions, Mappings) - **Container:** Docker + Docker Compose - **API-Proxy:** Eigener Ollama-kompatibler Endpoint ## Architektur ``` ┌─────────────┐ ┌──────────────┐ ┌──────────────┐ ┌─────────────┐ │ Client │────▶│ Gateway │────▶│ Anonymizer │────▶│ Ollama │ │ (Chat-UI) │◄────│ (API) │◄────│ (lokales LLM)│◄────│ (KI-Model) │ └─────────────┘ └──────────────┘ └──────────────┘ └─────────────┘ │ ▼ ┌──────────────┐ │ PostgreSQL │ │ (Mapping DB) │ └──────────────┘ ``` ## PII-Kategorien (Phase 1) - Namen (Personen, Firmen) - Adressen - E-Mail-Adressen - Telefonnummern - Geburtsdaten - Kontonummern / IBAN - Personalnummern - Kreditkartennummern ## Projektphasen 1. **Setup** - Grundstruktur, Docker, Datenbank 2. **Anonymisierung** - PII-Erkennung mit lokalem LLM 3. **Backend API** - Proxy-Endpoint, Session-Management 4. **Frontend** - Chat-UI mit Multi-Window 5. **Integration** - Mapping-Speicherung, Re-Identifizierung 6. **Testing & Polish** - E2E-Tests, Feinschliff ## Team - **Peter (ich)** - Projektleitung, Architektur, Integration - **Sub-Agent: Backend-Dev** - API, Datenbank, Ollama-Proxy - **Sub-Agent: Frontend-Dev** - React-UI, Chat-Komponenten - **Sub-Agent: Anonymisierung** - PII-Erkennung, Prompt-Engineering ## Start-Datum 2026-05-09 ## Status 🟡 Planung - Team wird zusammengestellt