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
|
## Status: In Review
|
||||||
**Created:** 2026-06-21
|
**Created:** 2026-06-21
|
||||||
**Last Updated:** 2026-06-21
|
**Last Updated:** 2026-06-22
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
- PROJ-6 (Volltext-Suche & Filterung)
|
- 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
|
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.
|
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
|
## 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