Why naive UTC strings break financial ledgers—and how to build a self-healing timezone architecture using IndexedDB, HTTP Context Tokens, and the Onion Interceptor Pattern.
1. The $48,000 Six-Hour Blind Spot (A Real-World Story)
Imagine it is Monday morning. Your Operations Director in Dhaka (Asia/Dhaka, UTC+06:00) opens the company’s revenue dashboard to reconcile Sunday’s numbers (2026-10-25) against a local telecom carrier’s daily settlement report.
The carrier’s report says $248,200.
Your dashboard says $200,000.
Where did $48,200 go?
Nobody hacked the database. Not a single transaction was dropped. The culprit was a single letter—Z—appended by a well-meaning frontend date picker:
GET /internal/v1/stats/revenue?start_date=2026-10-25T00:00:00Z&end_date=2026-10-25T23:59:59Z
When the user in Dhaka selected October 25, they meant 00:00:00 to 23:59:59 Dhaka Time—which in UTC is actually October 24 at 18:00:00Z through October 25 at 17:59:59Z.…