- docs/PHOTO-DATAFLOW-THREAT-MODEL.md: browser, API ingress, model worker,
transient buffers, training opt-in store, logs, exports, and deletion,
with trust boundaries and a numbered threat register
- every named abuse case (replay, oversized input, metadata leakage,
poisoning, unauthorized training, operator access) carries a mitigation,
an owner, a tracked follow-up ticket, and the artifact that will prove it
- tests/threat-model.test.js enforces diagram coverage, owner/follow-up
presence against ROADMAP ticket numbers, and the non-diagnostic boundary
with synthetic-only fixtures
- link the model from the accepted product decision record