Profiles are readable without signing in.
A logged-out visitor received three synthetic profile rows. This example treats profiles as private data.
REQUEST GET /rest/v1/profiles?select=id,email&limit=3 SESSION logged out · public anon key RESPONSE HTTP 200 · 3 rows EMAIL SAMPLE a***@example.test SECRET VALUES omitted
Recommended fix
Review every SELECT policy that applies to anon. Allow private profile reads only when the authenticated user owns the row.