Independent deployed-app check

Check public Supabase signals without mislabelling normal client keys

Check a deployed Supabase app for public client signals, secret or service-role leakage, broad browser patterns, and sensitive-looking storage URLs.

Public keys
Not automatically a leak
Secret keys
Server only
RLS
Not proven externally

The focused result and highest-priority matching evidence stay in the free preview. The complete cross-category report is a one-time paid unlock.

siteguardrail ~ /new

passive

Public beta scans are passive and origin-limited. Verified-domain checks will be enabled separately.

The important distinction

Publishable client configuration is public by design.

A Supabase project URL and current publishable key—or a legacy anon key—can legitimately appear in a browser application. Security must come from grants, Row Level Security, authenticated user context, and storage policies rather than from hiding a public client identifier.

Secret keys and legacy service-role keys are different: they belong on the server and can bypass Row Level Security. SiteGuardrail separates these categories in its wording and redacts secret-looking evidence.

How to read a focused result

A detected Supabase signal may be informational.

Client detected

Normal on its own. Confirm RLS, grants, storage policies, and intended public access.

Secret or service-role signal

High priority. Remove it from the browser, rotate it, and review access.

Broad client behaviour

Review the named realtime, redirect, or public-storage context manually.

No matching signal

None was observed in completed public coverage; this says nothing about private policies.

Supabase hardening

Protect the data layer that sits behind public client configuration.

  1. Use a publishable key for browser clients; keep secret and service-role keys server-side.
  2. Enable RLS on every exposed table and write least-privilege policies for anon and authenticated roles.
  3. Review grants as well as RLS; both determine what the Data API can reach.
  4. Apply intended policies to storage buckets and objects.
  5. Constrain auth redirect allowlists and avoid user-controlled redirect targets.
  6. Rotate any privileged key that reached a public bundle or file.

Limitations

A passive website scan cannot audit your database policies.

SiteGuardrail does not authenticate as users, enumerate tables, test RLS policies, validate storage permissions, or attempt to use detected credentials. A clean public scan is not evidence that Supabase grants, RLS, functions, auth flows, or buckets are secure. Use Supabase's dashboard security tooling and policy tests as separate controls. SiteGuardrail is independent and is not affiliated with Supabase.