Skip to main content

Creating & Managing Backups

Backups are the core of FireBackup. This guide covers how to create manual backups, view backup history, verify integrity, and manage your backup data.

Backup Types

FireBackup supports three types of backups:

Full Backup

A complete snapshot of your Firestore database at a point in time.

  • Use case: First backup, periodic complete snapshots
  • Size: Largest (entire database)
  • Speed: Slowest (exports all data)
  • Recovery: Can restore independently

Incremental Backup

Only backs up data changed since the last backup.

  • Use case: Frequent backups, reducing storage costs
  • Size: Smaller (only changes)
  • Speed: Faster (less data to process)
  • Recovery: Requires base backup + all increments

PITR Snapshot

Point-in-Time Recovery snapshots capture changes continuously.

  • Use case: Compliance, granular recovery
  • Size: Varies by change volume
  • Speed: Continuous capture
  • Recovery: Restore to any point in time

See Point-in-Time Recovery for detailed PITR documentation.

Creating a Manual Backup

From the Dashboard

  1. Navigate to Backups in the sidebar
  2. Click New Backup
  3. Select the project to backup
  4. Configure backup options
  5. Click Start Backup

From Project Page

  1. Navigate to the project
  2. Click Backup Now in the quick actions
  3. Confirm backup settings
  4. Click Start Backup

Backup Options

OptionDescriptionDefault
Backup TypeFull or IncrementalFull
CollectionsWhich collections to includeAll
Include AuthBackup Firebase Auth usersNo
Storage DestinationWhere to store the backupDefault
CompressionCompression algorithmBrotli
EncryptionEnable AES-256-GCM encryptionYes

Collection Selection

You can backup:

  • All Collections - Complete database backup
  • Specific Collections - Select individual collections
  • Exclude Collections - Backup all except specified
Large Collections

For collections with millions of documents, consider splitting backups across multiple schedules to avoid timeout issues.

Monitoring Backup Progress

Real-Time Status

When a backup starts, you'll see real-time progress:

  • Status: Pending → Running → Compressing → Encrypting → Uploading → Completed
  • Progress: Percentage complete with estimated time remaining
  • Documents: Count of documents processed
  • Size: Current backup size

Status Indicators

StatusDescription
PendingBackup is queued
RunningExporting data from Firestore
CompressingApplying compression
EncryptingApplying AES-256-GCM encryption
UploadingTransferring to storage destination
CompletedBackup finished successfully
FailedBackup encountered an error

Viewing Backup History

Backups List

The backups page shows all backups across your organization:

ColumnDescription
ProjectFirebase project name
TypeFull, Incremental, or PITR
StatusCurrent status
SizeCompressed size
DocumentsNumber of documents
CollectionsNumber of collections
DurationTime to complete
CreatedWhen backup started

Filtering and Sorting

Use the filter controls to find specific backups:

  • Project: Filter by project
  • Type: Full, Incremental, or PITR
  • Status: Completed, Failed, or In Progress
  • Date Range: Custom time period

Backup Details

Click on any backup to view its details:

Overview Tab

  • Backup ID: Unique identifier
  • Project: Source Firebase project
  • Type: Backup type
  • Status: Current status with timestamp
  • Size: Original and compressed size
  • Compression Ratio: Space savings
  • Encryption: Encryption status
  • Storage: Where the backup is stored
  • Path: Storage path/key

Contents Tab

View what's included in the backup:

  • Collections: List of backed up collections
  • Document Counts: Per-collection document counts
  • Subcollections: Nested collections included

Metadata Tab

Technical metadata about the backup:

{
"version": "1.0",
"format": "firebackup",
"compression": "brotli",
"encryption": "aes-256-gcm",
"checksum": "sha256:abc123...",
"createdAt": "2024-01-15T10:30:00Z",
"completedAt": "2024-01-15T10:35:00Z"
}

Backup Verification

Verify backup integrity to ensure data can be restored:

Automatic Verification

FireBackup automatically verifies:

  • Checksum validation - SHA-256 hash verification
  • Encryption integrity - Decryption test
  • Compression integrity - Decompression test

Manual Verification

To manually verify a backup:

  1. Navigate to the backup details
  2. Click Verify Integrity
  3. FireBackup will:
    • Download the backup header
    • Verify checksums
    • Test decryption
    • Validate structure

Verification Results

ResultDescription
VerifiedBackup is intact and restorable
WarningMinor issues (e.g., metadata mismatch)
FailedBackup is corrupted or unreadable

Backup Preview

Preview backup contents without restoring:

  1. Navigate to the backup details
  2. Click Preview
  3. Browse collections and documents
  4. View document data (read-only)
Preview Limitations

Preview loads a sample of documents. For large collections, not all documents are shown.

Comparing Backups (Diff)

Compare two backups to see what changed:

  1. Select two backups from the same project
  2. Click Compare
  3. View the diff:
    • Added documents
    • Modified documents
    • Deleted documents

Diff Output

+ users/user123 (added)
~ users/user456 (modified)
- email: old@example.com
+ email: new@example.com
- users/user789 (deleted)

Deleting Backups

Single Backup Deletion

  1. Navigate to the backup details
  2. Click Delete
  3. Confirm deletion
  4. Backup is removed from storage

Bulk Deletion

  1. Select multiple backups using checkboxes
  2. Click Delete Selected
  3. Confirm deletion
Permanent Deletion

Deleted backups cannot be recovered. Ensure you have other backups before deleting.

Retention Policies

Configure automatic deletion based on retention policies:

  • Time-based: Delete backups older than X days
  • Count-based: Keep only the last X backups
  • Size-based: Delete when total size exceeds X GB

See Storage for retention configuration.

Backup Encryption

Encryption at Rest

All backups are encrypted using AES-256-GCM:

  • Algorithm: AES-256-GCM (AEAD)
  • Key Derivation: PBKDF2 with SHA-256
  • IV: Unique per backup

Encryption Key Management

Your encryption key is derived from:

  1. Organization encryption key - Set during setup
  2. Backup-specific salt - Unique per backup
Key Security

Your encryption key is never transmitted to our servers. If you lose your key, encrypted backups cannot be recovered.

Changing Encryption Keys

To rotate encryption keys:

  1. Go to Settings > Security
  2. Click Rotate Encryption Key
  3. Existing backups remain encrypted with old key
  4. New backups use the new key

Backup Compression

Supported Algorithms

AlgorithmCompressionSpeedUse Case
BrotliExcellentMediumDefault, best ratio
GzipGoodFastCompatibility
NoneNoneFastestTesting only

Compression Comparison

Typical compression ratios for Firestore data:

AlgorithmRatioExample
Brotli85-90%100MB → 10-15MB
Gzip80-85%100MB → 15-20MB

Troubleshooting

"Backup Failed" Error

Common causes:

  • OAuth token expired
  • IAM permissions revoked
  • Storage destination unavailable
  • Network timeout

Solution:

  1. Check project connection status
  2. Verify storage destination is accessible
  3. Review error message in backup details
  4. Retry the backup

"Verification Failed" Error

Common causes:

  • Backup file corrupted in storage
  • Storage provider issues
  • Encryption key mismatch

Solution:

  1. Check storage provider status
  2. Verify encryption key is correct
  3. Try downloading and re-uploading

Slow Backup Performance

Optimization tips:

  1. Exclude large, non-critical collections
  2. Use incremental backups after initial full backup
  3. Choose closer storage region
  4. Schedule during off-peak hours

Next Steps