Home / Guides / Firebase rules open to the public: how to tell and how to fix

Firebase rules open to the public: how to tell and how to fix

Spot open Realtime Database, Firestore, and Storage rules, and lock them down with auth-based rules.

Classic Firebase footgun: rules that allow anyone to read or write. The Tea app's early breach was described as a Firebase database leak from broken authentication/authorization (Barracuda summary).

Dangerous patterns

// Realtime Database — never ship this
{ "rules": { ".read": true, ".write": true } }

// Firestore — equally bad
allow read, write: if true;

Safer baseline

// Realtime Database
{ "rules": {
  "users": {
    "$uid": {
      ".read": "auth != null && auth.uid == $uid",
      ".write": "auth != null && auth.uid == $uid"
    }
  }
} }

// Firestore
allow read, write: if request.auth != null
  && request.auth.uid == resource.data.ownerId;

Test with the Rules Playground and from a logged-out browser.

Copy-paste into your AI builder
Rewrite Firebase security rules so no collection or path is world-readable or world-writable. Require request.auth != null (or auth != null for RTDB) and restrict each user to their own data. Show me the full rules file.

Related: Supabase RLS · Lovable security

Scan your app free

Paste your URL. ShipLatch checks for leaked keys, exposed /.env and /.git, and flags Supabase/Firebase so you know what to lock down.

Scan free at shiplatch.com →

More guides