799c828548
- scheduler.go: BUG-1 fix — preserve stored uid_validity when server returns 0 - scheduler.go: BUG-2 fix — replace inline switch with DecideResync() call - scheduler.go: SetAuditLogger wired; imap_uidvalidity_reset audit event - cmd_reindex.go: read existing attachment_text before IndexSync to prevent Manticore REPLACE INTO from wiping OCR text written by the OCR worker Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3.0 KiB
3.0 KiB
Product Requirements Document
Vision
Ein selbst gehostetes, unternehmenstaugliches Mail-Archiv-System, das E-Mails aus verschiedenen Quellen (IMAP, SMTP, EML/MBOX) importiert, volltext-indexiert und DSGVO-konform langzeitarchiviert. Admins verwalten Nutzer und Postfächer; alle Mitarbeiter können gezielt im Archiv suchen.
Target Users
Primär: Unternehmen (5–500 Mitarbeiter)
- Endnutzer: Mitarbeiter, die E-Mails im Archiv suchen und lesen wollen
- Admins: IT-Verantwortliche, die Nutzer, Postfächer und Import-Quellen verwalten
- Compliance-Verantwortliche: Prüfen Audit-Logs, exportieren E-Mails für Anfragen
Pain Points:
- E-Mail-Clients bieten keine revisionssichere Langzeitarchivierung
- Suche über mehrere Konten und Postfächer ist unzuverlässig
- Datenschutzbedenken bei Cloud-basierten Archivlösungen
- Nachweis der Unverändertheit von E-Mails für Compliance erforderlich
Core Features (Roadmap)
| Priority | Feature | Status |
|---|---|---|
| P0 (MVP) | Nutzer-Authentifizierung & Rollen (User/Admin) | Planned |
| P0 (MVP) | E-Mail-Import: SMTP-Eingang via BCC (primärer Eingangsweg) | Planned |
| P1 | E-Mail-Import: IMAP-Verbindung (sekundär, Altbestände) | Planned |
| P1 | E-Mail-Import: POP3-Verbindung (sekundär, Altbestände) | Planned |
| P1 | E-Mail-Import: EML/MBOX Upload (sekundär, Migration) | Planned |
| P0 (MVP) | E-Mail-Speicherung & Volltext-Indexierung | Planned |
| P0 (MVP) | Volltext-Suche & Filterung | Planned |
| P0 (MVP) | E-Mail-Ansicht (Lesen & Anhänge) | Planned |
| P1 | Automatischer IMAP-Sync (Cron-Job) | Planned |
| P1 | Ordner- & Label-Verwaltung | Planned |
| P1 | Admin-Bereich: Nutzer- & Postfachverwaltung | Planned |
| P2 | Audit-Log & Compliance-Berichte | Planned |
| P2 | E-Mail-Export (EML/PDF) | Planned |
| P2 | REST API für externe CRM-Anbindung | Planned |
| P1 | IMAP Per-Folder UID-Tracking + UIDVALIDITY-Check (Reliability-Fix) | Planned |
Success Metrics
- Import und Indexierung von 100.000+ E-Mails ohne Performanceprobleme
- Volltext-Suchanfragen liefern Ergebnisse in < 2 Sekunden
- SMTP-Journaling empfängt E-Mails in Echtzeit (< 5 Sekunden Verzögerung)
- Automatischer IMAP-Sync läuft stabil über Monate ohne manuelle Eingriffe
- Audit-Log erfasst alle Zugriffe lückenlos
Constraints
- Self-hosted: Kein Zwang zu externen Cloud-Diensten – läuft on-premise oder auf eigenem Server
- DSGVO-konform: E-Mails verlassen nie den eigenen Server; Löschkonzept vorhanden
- Großes Volumen: Architektur skaliert auf > 100.000 E-Mails
- Einfache Architektur: Go-Backend REST API + Next.js-Frontend, kleines Team (1–2 Devs)
- Tech Stack: Go (Backend, SMTP-Daemon, Storage, Xapian) + Next.js/TypeScript (Web-GUI) + PostgreSQL
Non-Goals
- Kein vollständiger E-Mail-Client (kein eigenständiges Senden von E-Mails durch Nutzer)
- Keine Ende-zu-Ende-Verschlüsselung im MVP
- Kein Enterprise-LDAP/SSO im MVP (nur lokale Accounts)
- Keine mobile App (nur Web-Interface)
- Keine automatische GoBD/SOX-Zertifizierung im MVP