Le client récupère le JWT depuis la session Supabase (supabase.auth.getSession()) et l'envoie en Authorization: Bearer <jwt>. Validation offline HS256, pas de round-trip Supabase. Le workspace est résolu via X-Workspace-Id ou app_metadata.active_workspace_id.
curl https://api.freelance-os.fr/v1/me \
-H "Authorization: Bearer $JWT"