Re-open the app. Your claims are waiting. Face ID → fresh proof in ~3–4 seconds. Zero app switches.
This is the bar: reputation that doesn't make you start over. Tokens live in Keychain behind biometry — silent refresh when needed.
Context view lists minted claims. No empty state after first connect.
Single tap starts re-prove. No “Connect again” wall.
Hack 2 · Keychain + Face IDUnlock refresh token from Keychain (SecAccessControl.biometryCurrentSet).
Backend refreshes GitHub token if expired. Prover mints updated proof. Success — same card, fresh attestation.
0 app switchesClaims are stored on your phone. Timings go to proof-attempts.jsonl for UX measurement — not your secrets.
Full UX today — simulator or iPhone, no backend, no notary, no domain required.
Flip USE_MOCK_* env vars in Xcode. Backend + notary on Fly. AASA on this site.
Strava, StackOverflow, Spotify — same host-shell pattern, Tier-1 templates.
Portable reputation layer — r3p.xyz — folds verified context into the network.
Build on Mac. Feel the opening. Ship proof.