A user fills in a form, presses Save, and nothing happens. The console or logs show "new row violates row-level security policy for table", followed by the table name. A public example: new row violates row-level security policy for table "players_secure" ( supabase/postgres #1708 ).
Row-level security (RLS) is a set of rules on each table about who may read or write which rows. Supabase says that once RLS is enabled, "no data is accessible through the API when using a publishable key, until you create policies." PostgreSQL says inserted rows that do not pass the policy "will result in a policy violation error, and the entire INSERT command will be aborted."
So the database is protecting the table as designed. The fix is a policy that lets the right person write the right row, not switching RLS off. You can add policies in the Supabase SQL editor; replace the table and column names with yours.
1.…