Area: Files, photos, gallery, ansi (audit p5) · Surface: Photo upload + lightbox metadata strip (/photos) · Dimension: competitor-gap · Severity: minor
Stripping raw EXIF on serve is the right privacy default, but discarding it entirely means the gallery can never offer capture-date sorting, a "taken on" label, or a location map — features users expect from Google Photos, Flickr, and SmugMug, and which power timeline views and travel albums. The platform throws away the metadata at the one moment it has it.
Evidence
PhotoStorage strips EXIF on ingest (PhotoStorage.php:6 "EXIF stripping", line 118 "EXIF strip happens implicitly") and the schema stores only width/height/duration/caption (photo_album_items migration — no taken_at/lat/lng/camera columns; grep for exif|gps|lat|lng|taken_at returns nothing). The lightbox metadata strip only shows dimensions (album.php:382-387, pgLbDimensions).
Suggested fix. Read EXIF before stripping the served derivative; persist taken_at, camera make/model, and (opt-in) GPS lat/lng on photo_album_items. Show "Taken <date>" and an optional mini-map in the lightbox metadata strip, with a per-album toggle to suppress location for privacy.
Filed by the automated tenant-app audit and adversarially evidence-verified. Status: verified. Open — not yet actioned.
Patrick Bass
@mobieus