Insert-only policy for the anon role, no select policy at all:
create policy "anyone can join waitlist" on public.waitlist
for insert to anon
with check (true);With RLS on and no select policy, reads return an empty array. One gotcha: don't chain .select() after the insert in your client code, because returning the row needs select permission and you'll get the RLS error again.