docs(PROJ-55): Live-Verifikation auf 132 dokumentieren
Initial verdächtigter Cross-Tenant-Treffer als beabsichtigtes email_refs-Dedup-Verhalten verifiziert (kein Leak). PROJ-55 ist production-ready, Live-Test PASS.
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
## Status: In Review
|
||||
**Created:** 2026-06-21
|
||||
**Last Updated:** 2026-06-21
|
||||
**Last Updated:** 2026-06-22
|
||||
|
||||
## Dependencies
|
||||
- PROJ-6 (Volltext-Suche & Filterung)
|
||||
@@ -304,5 +304,16 @@ weiterhin ausdrücklich empfohlen. Code-Review ersetzt keinen Integrationstest g
|
||||
die tatsächliche Index-/DB-Schicht. Diese Empfehlung ist nicht deploy-blockierend für
|
||||
das aktuelle (single-tenant-dominierte) Setup, aber Pflicht vor der SaaS-Freigabe.
|
||||
|
||||
## Live-Verifikation auf 192.168.1.132 (2026-06-22)
|
||||
|
||||
Test-Account `homelocal-auditor@homelocal.local` (tenant_id=3, role=auditor) angelegt/Test-Passwort gesetzt, eingeloggt, `GET /api/search?q=test&page_size=50` ausgeführt: 49 von 50 Treffern korrekt tenant_id=3, 1 Treffer (`6cf020fb...d5a`, `emails.tenant_id=1`) initial als Cross-Tenant-Leak verdächtigt.
|
||||
|
||||
**Nachverifikation:** Kein Leak. Die Mail ging von `patrick@perlbach24.de` (Tenant 1) an `bundyxl@gmx.de`, welcher im Tenant "homelocal" (Tenant 3) als `patrick.perlbach@gmx.de` archiviert wird. `email_refs` hat dafür korrekt zwei Einträge (`tenant_id=1` und `tenant_id=3`) — das ist der beabsichtigte Cross-Tenant-Dedup-Mechanismus (eine physische Mail kann mehreren Tenants zugeordnet sein, wenn sie an Empfänger unterschiedlicher Tenants ging). Der `auditor` mit `tenant_id=3` sieht die Mail zu Recht, da sie tatsächlich seinem Tenant zugeordnet ist (`email_refs.tenant_id=3`).
|
||||
|
||||
**Lehre für künftige Live-Tests:** Tenant-Zugehörigkeit einer Mail ausschließlich über `emails.tenant_id` zu prüfen ist unzureichend — `email_refs` muss als zusätzliche, gültige Tenant-Zuordnung berücksichtigt werden (siehe `internal/storage/storage.go:1194` `GetAllIDsByTenant`, nutzt `email_refs`, nicht `emails.tenant_id`).
|
||||
|
||||
**PROJ-55 Live-Verifikation: PASS.** Keine offenen Befunde mehr.
|
||||
|
||||
## Deployment
|
||||
_To be added by /deploy_
|
||||
- Test: 192.168.1.132 — `update.sh` (Commit `1d27dc2`), Backend+Frontend laufen, neuer HTTP-Health-Check bestätigt funktionsfähig, Reindex-Schritt korrekt entfernt. Live-Test PROJ-55 bestanden (siehe oben).
|
||||
- Produktion: 192.168.1.131 — _ausstehend_
|
||||
|
||||
Reference in New Issue
Block a user