TL;DR
Never deploy with "allow read, write: if true" rules. Write specific security rules for each collection. Use request.auth to verify authentication. Validate data structure in rules. Keep admin SDK server-side only. This 20-item checklist covers all essentials. 6 critical items must be fixed before launch, 8 important items within the first week, and 6 recommended items when you can.
Quick Checklist (5 Critical Items)
Firestore Security Rules 5
::checklist-item{label="Separate read/write permissions" description="Don't use "allow read, write" - specify each operation. How to set granular permissions"} ::
Storage Security Rules 4
Authentication 4
Cloud Functions 4
Admin SDK & Service Accounts 3
How to Use This Checklist
Go through each item before deploying your Firebase project. If you find an issue, fix it before moving on. In Firebase Console, go to Firestore/Storage and look for the yellow warning banner about insecure rules. If you see it, your database is open to the public.
Why are open Firebase rules dangerous?
Open rules (allow read, write: if true) let anyone read and modify all your data without authentication. Attackers can steal, delete, or corrupt your entire database. Always use specific rules that check authentication and authorization.
How do I check if my Firebase rules are secure?
In Firebase Console, check Firestore and Storage for yellow warning banners about insecure rules. Use the Rules Playground to test access scenarios. Deploy rules to the Emulator and write tests for both allowed and denied access.
Can I use the Admin SDK in the browser?
Never use the Admin SDK in browser code. It bypasses all security rules and has full access to your project. Use it only in server-side code like Cloud Functions, your own backend, or build scripts.
Scan Your Firebase Project
Our scanner checks for open rules and common Firebase security issues.
Start Free Scan