export interface AccessTokenClaims { sub: string; email: string; role: string; exp: number; } export function decodeAccessToken(token: string): AccessTokenClaims | null { try { const payload = token.split('.')[1]; const base64 = payload.replace(/-/g, '+').replace(/_/g, '/'); const json = atob(base64); return JSON.parse(json) as AccessTokenClaims; } catch { return null; } }