⚠ DEVELOPMENT BUILD — NOT A COMPLIANCE RECORD — every capture is tagged environment: "development" · extinguarddev tenant only
— captures
0 labeled
Camera not started. Tap Start camera below.

On a laptop use the webcam; on a tablet the rear camera is preferred. Everything stays on this device — nothing is uploaded.
pass marginal reject · quality gates run live; capture is enabled once the frame is usable (override allowed).

Frame quality

Sharpness–
Exposure–
Glare (lower is better)–
Collect on real units in the field, not lab desks. Deliberately include the ugly cases — dark back rooms, LED glare on the glass, dusty lenses, off‑axis angles.

Sample metadata

Coverage matrix · zone × lighting

Aim for balanced coverage. Real fleets cluster in the green band, so low/high and glare/dim buckets are where models fail — fill those first.

Site & unit binding

EG-044's picker, reading GET /portal/fire-safety/sites (tenant-scoped by the Operator login below). Sites/slots come from fire_safety_sites/fire_safety_site_slots (EG-052) — authoring them is EG-053/054's site config UI, still not built, so an empty list here means the tenant has none yet, not that the picker is broken. "Other" falls back to typing a site id by hand, same as before this landed. Site/unit persist between captures — set once per site visit. The gateway requires site_id and a subject_ref for every FIELD_CAPTURE; a capture taken with either blank still saves locally but is quarantined by Sync until fixed.

Operator

This is the operator's platform login (ADR §9) — separate from, and never required by, the install token below. If this session lapses mid-route, queued captures are unaffected: Sync authenticates with the install token alone.

Sync

Nothing queued yet.