WebProof: Demo
Secure Info Sharing
JWT-based time-limited personal data sharing with QR codes and revocation.
The Challenge
Sharing personal information (phone, address, ID) via static links or messaging is risky -- no expiry, no revocation.
Constraints
- Links must expire automatically after a set time
- Must support immediate revocation
- QR codes for in-person sharing scenarios
Technical Decisions
- JWT with embedded expiry for self-contained time-limiting without server-side session checks
- Server-side revocation list for immediate invalidation when needed
- QR code generation for easy in-person sharing without typing URLs
Highlights
- Time-limited JWT tokens with configurable expiry (15min, 1h, 24h)
- Instant revocation via admin dashboard
- QR code generation for in-person sharing
- Dual storage: file-based (dev) and Vercel KV (production)
- Subdomain isolation for security
Results
- Personal data shared only when needed with automatic cleanup
- Zero exposure risk from forgotten or leaked links
Tech
Next.jsTypeScriptjoseQR codesVercel KV
Want something like this?
Describe your workflow, what you track today, and what breaks most often. I'll propose a fixed-scope audit or sprint.