criticalfirebase-rtdb-public-readchecked on every page we scan

Firebase Realtime Database is publicly readable

Your Realtime Database answers read requests from anyone on the internet, with no authentication.

Why it matters

Your Realtime Database answers read requests from anyone on the internet, with no authentication. Every record it holds — including user data — can be downloaded in bulk by anyone who finds the URL, and the URL is published in your own client-side JavaScript. This is a database-wide data breach that requires no exploit, only a request.

How ShipReady detects it

Firebase Realtime Database exposure — the Firebase counterpart to the Supabase RLS check, covering the other dominant BaaS in the AI-built-app ecosystem. Uses Firebase's own documented, unauthenticated REST endpoint (.json?shallow=true, which returns only top-level KEY NAMES, not data) so the probe stays passive and minimal. A real unauthenticated read is unambiguous evidence of an open-rules misconfiguration. Firestore is intentionally out of scope for V1 (it requires guessed collection names to probe deterministically) — this check covers the Realtime Database only.

Detection is deterministic. ShipReady reports this only when it observes the condition directly, and prefers to miss a real problem over inventing one. Rule version 1.1.0.

How to fix it

This is the prompt ShipReady puts in your report — written to be pasted straight into Cursor, Claude Code, or whichever assistant built the app.

Your Firebase Realtime Database can be read by anyone without authentication (its security rules allow public reads). Tighten the database rules so reads and writes require authentication and authorization — never ship rules like {".read": true} to production.

Frequently asked questions

What does "Firebase Realtime Database is publicly readable" mean?
Your Realtime Database answers read requests from anyone on the internet, with no authentication.
How serious is it?
ShipReady rates this critical. Fix before launch. On its own, this is enough to compromise the application.
How do I fix it?
Paste the fix prompt on this page into Cursor, Claude Code or your AI editor. It is the same prompt ShipReady puts in your report.
Can I check my own site?
Yes — ShipReady scans up to ten pages of any public site for free and reports this alongside every other check.

Related checks

Does your site have this?

ShipReady checks this and 73 other things across up to ten pages of your site. Free, no signup.

Scan my site