Clerk Authenticated Metadata flowing into Supabase RLS policies
// Identity payload
{
"user_id": "usr_2N9aBc...",
"unsafeMetadata": {
"role": "recruiter"
}
}
// Decoded App Metadata
{
"sub": "usr_2N9aBc...",
"role": "authenticated",
"app_metadata": {
"role": "recruiter"
}
}
CREATE POLICY "Recruiter Access" ON applicant_data FOR SELECT TO authenticated USING ( auth.jwt() -> 'app_metadata' ->> 'role' = 'recruiter' );