Urgent.News

What's breaking now, across thousands of outlets.

Tech

Reader Comments Shaped Three Releases of supabase-rls-check

On November 10, 2026, I published "Five Supabase RLS Mistakes a Read-Only Query Can Catch" on dev.to. That post introduced supabase-rls-check , my open-source Python CLI and read-only PostgreSQL 15+ catalog query ( check.sql ) that inspects pg_catalog and storage.buckets for Row Level Security mistakes. Readers began posting comments with edge cases from their own schemas. Within about a day, I…

The article published on dev.to on November 10, 2026 introduced supabase-rls-check, an open-source Python CLI and read-only PostgreSQL 15+ catalog query that inspects pg_catalog and storage.buckets for Row Level Security (RLS) mistakes.

Readers of the article began posting comments with edge cases from their own schemas. Within a day, versions 0.4.0 and 0.5.0 were released, adding 4 new rules and introducing run-to-run diffing for CI and local secret scanning for coding agent config files.

One reader pointed out a policy pattern that passes basic RLS enablement checks, leading to the creation of the policy_any_authenticated rule in version 0.4.0. This rule flags policies in the public schema with USING or WITH CHECK clauses that pass basic RLS checks but allow authenticated users to access all rows.

Another reader raised concern about writable USING (true) policies paired with table grants, which can allow anyone with an anon key to change or delete every row in the table. This led to the creation of the policy_true_writable rule in version 0.5.0.

Launchgatecheck contributed two ideas across versions 0.5.0 and 0.6.0. The first was to run supabase-rls-check in CI and diff the output between runs to catch new problems in pull requests while fixing older warnings over time. The second was to add an optional basis column to check.sql and expand the diff identity key to include the basis value.

One of launchgatecheck's suggestions led to the creation of the sensitive_anon_policy rule in version 0.6.0, which checks for policies that allow access to sensitive data tables. The rule also flags SECURITY DEFINER RPC functions that trust a user_id argument from the caller, as these can bypass RLS on underlying tables if not properly secured.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Per-Core Licensing for .NET Server Software: Counting Cores Correctly and Binding the Entitlement

Per-core licensing is how a lot of server software is sold: a price that scales with the CPU capacity the customer runs you on, because a database engine or analytics service on a 64-core box delivers…

  • Per-core licensing scales software price with CPU capacity
  • Environment.ProcessorCount counts logical processors, not actual capacity
  • Measure physical cores on Windows, unique IDs on Linux, container quota value

More from Wednesday 11 November →