🎯 Ziel
Bilder von Events sollen nicht direkt öffentlich zugänglich sein.
Zugriff nur:
für eingeloggte Owner
für eingeloggte Gäste mit gültiger Session (nur wenn Event nicht abgeschlossen)
für alle über einen geheimen Link (pool id), wenn das Event abgeschlossen ist
Zugriff auf die R2-Bilder erfolgt ausschließlich über signierte URLs
✅ Akzeptanzkriterien
Signed URL Loading
Bilder werden nicht als direkte Public-Links ausgeliefert.
Stattdessen:
Server prüft Berechtigung
Gibt temporäre signed URLs (Gültigkeit 5–10 min) zurück
Zugriffskontrolle nach Event-Status
event.status === active: nur Owner oder eingeloggte Gäste mit gültiger Session (guest_session_token)
event.status === completed: erlaubt für alle mit gültiger pool_id (public view)
Public Gallery via Pool ID
Nach Abschluss ist GET /gallery/:poolId für alle mit dem Link erlaubt
Bilder werden per signed URL geladen
Kein Login oder Session erforderlich
Security / Privacy
Signierte URLs haben ein kurzes Ablaufdatum (max 5–10 Min)
Keine public R2-URLs in der DB oder im Frontend
Kein Leaking der originalen Keys
Seiten mit completed === true enthalten robots: noindex
Please authenticate to join the conversation.
Completed
Feature requests
8 months ago

Daniel Wagner
Get notified by email when there are changes.
Completed
Feature requests
8 months ago

Daniel Wagner
Get notified by email when there are changes.