Deploy Firestore Rules
Date: 2026-01-17
Status: Active
Quick Deploy
After modifying firestore.rules, deploy changes to Firebase:
bash
# Login to Firebase (if not already logged in)
firebase login
# Deploy only Firestore rules (faster than full deploy)
firebase deploy --only firestore:rules
# Or deploy to specific project
firebase deploy --only firestore:rules --project lantern-app-devWhat Changed (2026-01-17)
Added rules for venueRefreshMetadata collection to fix permission errors:
// Venue Refresh Metadata - tracks when areas were last refreshed
match /venueRefreshMetadata/{geohashPrefix} {
// All authenticated users can read refresh metadata (for staleness checks)
allow read: if isAuthenticated();
// Only backend/admin can write refresh metadata
// In dev mode, allow authenticated users for local testing
allow write: if isAuthenticated();
// TODO: In production, restrict writes to Cloud Functions only:
// allow write: if false; // Only backend can update
}This collection tracks when geographic areas (identified by geohash prefix) were last refreshed from OSM/Google Places API.
Testing Rules Locally
You can test rules locally with the Firebase emulator:
bash
# Start Firestore emulator
firebase emulators:start --only firestore
# Run tests against emulator
npm run test:firestoreRollback
If you need to rollback:
bash
# View previous versions in Firebase Console
# Or restore from git
git checkout HEAD~1 firestore.rules
firebase deploy --only firestore:rules