Scan rule · RSC-SEC-069
Firebase rules allow everyone
Finds `allow …: if true` in `.rules` files — Firestore or Storage is wide open.
Why this matters
This is the Firebase counterpart to the open Supabase table. The default rules deny everything, which instantly blocks a freshly generated app — the fastest way to make it work is `allow read, write: if true`, and that is exactly what stays.
Unlike Supabase there is no second barrier: anyone who reads the project configuration from the shipped bundle — and it is always there — can talk to the database directly. No key is required.
Fix: bind every rule to `request.auth != null` AND to the owner, e.g. `allow read: if request.auth.uid == resource.data.ownerId`. Write read and write rules separately; for public content use a dedicated, deliberately open path rather than a global allow.
Scan tier
How to fix it
Bind access to `request.auth` and the owner instead of `true`.