Work / AskCal / Wiki / Surfaces
unverified
Surfacecanonicalverified 2026-09-23
SURFACE.MOBILE.SCAN.UNVERIFIEDSummary
The screen a paying subscriber should never need.
Raw wireframe
- .context/designs/mobile/scan/unverified.html
Why it is drawn this way
The bug it fixes. The server decides entitlement by asking RevenueCat on every
request. If that call cannot be made or cannot be trusted — key not provisioned,
wrong key type, a 401, a 5xx, an id the dashboard has never seen — the answer
is false. False does not mean "unpaid", it means "unknown", and routing
unknown onto the unpaid path locks out someone who has already paid.
So this screen says the plan could not be checked, rather than saying the user is on the free tier, and it offers Restore.
The free paths stay on screen, exactly as they do on the out-of-scans screen. The user is never stuck.
Related
Sources
- .context/designs/mobile/scan/unverified.html
Every project of mine is written down like this.
Read the résumé