Commit Graph

8 Commits

Author SHA1 Message Date
43ce4514c4 location-first scan: geolocation prompt decides the scan (8s fallback to plain scan, never blocks); server 'location upgrade' rule re-alerts with map link when coords arrive after a no-loc alert 2026-08-10 19:17:58 +10:00
97cf0974a3 tag-lifecycle: owner close (status closed, gating + page) + move (copy details to new tag, close source) + legacy ?productid= redirect — verified with real tags 6 & 17 2026-08-10 11:36:11 +10:00
9d43403f6f renewal-unlock: orders.renews_at lazy expiry + owner unlock notices (ntfy/sms channels, exempt from metering) — verified 2026-08-10 10:10:50 +10:00
e1044f8c32 admin-insights-pages: dashboard customers+revenue (orders.amount), users->tags relation, pause customer (gates alerts), About/What-is-this/Contact pages 2026-08-10 09:19:14 +10:00
5487cee966 sms-metering-location-link: per-tag SMS credits (allocated/used, admin top-up), short URLs + owner location page (map embed + finder details) — 13/13 scenarios 2026-08-08 14:38:32 +10:00
3d242fdcaa scan-limits-gating: paid-order gating + per-tag daily cap + per-IP hourly rate (6/6 scenarios) — no gateway 2026-08-08 09:25:06 +10:00
61737825ea scan-alert-hardening: different-finder re-alert within 250m window + fingerprint 24h block (12/12 scenarios pass) 2026-08-07 17:29:47 +10:00
c2fa04afd0 scan-flow: geolocation scan, location-aware SMS throttle (log sender), finder contact, sms_enabled toggle, branding — 19/19 phase-2 scenarios pass 2026-08-05 18:23:34 +10:00