The app caches a lot locally for speed — estimate lists, contacts, projects, team members, notes, presets. Browser storage is per domain, and all accounts share one domain, so a boundary is enforced: on any change of viewed account, everything is purged except the sign-in provider's own keys and one marker. The cost is a single re-fetch from the account-scoped source of truth.
Also called: account switching · data bleed · wrong company's data showing · multi company
- 1A synchronous account hint is derived from the URL alone — no async call needed
- 2It runs before any view reads local storage, from the root provider's initialiser
- 3On a change, purge everything except the auth provider's keys and the marker
- 4Deliberately deny-all rather than an allowlist of keys to wipe
Software keeps a copy of what you were just looking at on your own device so screens paint instantly. That is fine until the same browser is used to look at a second company, and then one builder's cached estimates, contacts and jobs can paint inside another's screen — not a glitch, a disclosure. Switching the account being viewed now wipes everything cached on that device, deny-all rather than a list of things to remove, so nothing can be missed. The cost is one re-fetch and a slightly slower first paint, which is the right trade for a boundary that cannot leak.
- Locally cached data outlives the account it belongs to
- An allowlist of keys to clear inevitably misses a new one
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →