Files
pwap/shared/lib
Claude b4fa23321e Add session timeout and route guards
Route Guards (web/src/components/RouteGuards.tsx):
- CitizenRoute: KYC approval required
- ValidatorRoute: Validator pool membership required
- EducatorRoute: Educator Tiki role required
- ModeratorRoute: Moderator Tiki role required
- AdminRoute: Supabase admin role required
- Beautiful error screens with icons and clear messages

Guards Library (shared/lib/guards.ts):
- checkCitizenStatus(): KYC approval check
- checkValidatorStatus(): Validator pool check
- checkTikiRole(): Specific Tiki role check
- checkEducatorRole(): Educator roles check
- checkModeratorRole(): Moderator roles check
- getUserPermissions(): Get all permissions at once
- 44 Tiki roles mapped from blockchain

Session Timeout (AuthContext.tsx):
- 30 minute inactivity timeout
- Track user activity (mouse, keyboard, scroll, touch)
- Check every 1 minute for timeout
- Auto-logout on inactivity
- Clear activity timestamp on logout

Security enhancement for production readiness.
2025-11-16 21:51:34 +00:00
..
2025-11-16 21:51:34 +00:00