Skip to main content

Core Concepts

Understanding these fundamental concepts will help you get the most out of FireBackup.

Organizations​

An Organization is the top-level container for all your FireBackup resources. Think of it as your company or team workspace.

Key Points​

  • All resources (projects, backups, schedules) belong to an organization
  • Organizations have members with different roles
  • Billing and subscription plans are organization-level
  • You can create multiple organizations for different purposes

Member Roles​

RolePermissions
OwnerFull access, billing management, can delete organization
AdminManage projects, members, and settings
MemberView and create backups, cannot manage settings

Projects​

A Project represents a connected Firebase project within FireBackup.

Project Properties​

  • Name: Display name in FireBackup
  • Firebase Project ID: The actual Firebase project identifier
  • Collections: Firestore collections available for backup
  • Connection Status: Whether FireBackup can currently access the project

Collection Selection​

When you connect a Firebase project, you can choose which collections to include:

  • All Collections: Back up everything (recommended for most cases)
  • Selected Collections: Only back up specific collections
  • Excluded Collections: Back up all except certain collections
tip

For large databases, consider using Selected Collections to reduce backup time and storage costs.

Backups​

A Backup is a point-in-time snapshot of your Firestore data.

Backup Types​

TypeDescriptionUse Case
Full BackupComplete snapshot of all selected collectionsInitial backup, disaster recovery
Incremental BackupOnly changes since last backupDaily/regular backups

Backup Lifecycle​

Backup Metadata​

Each backup stores:

  • Timestamp: When the backup was created
  • Duration: How long the backup took
  • Size: Original and compressed sizes
  • Collections: Which collections were included
  • Document Count: Total documents backed up
  • Checksum: For integrity verification

Schedules​

A Schedule defines when backups should run automatically.

Schedule Configuration​

// Example schedule configuration
{
name: "Daily Production Backup",
project: "my-firebase-project",
cron: "0 2 * * *", // 2 AM daily
timezone: "America/New_York",
retention: 30, // Keep for 30 days
type: "incremental",
collections: ["users", "orders", "products"],
notify: {
onSuccess: true,
onFailure: true
}
}

Cron Expression Examples​

ScheduleCron ExpressionDescription
Daily at 2 AM0 2 * * *Runs once per day
Every 6 hours0 */6 * * *Runs 4 times daily
Weekly on Sunday0 0 * * 0Runs once per week
Monthly on 1st0 0 1 * *Runs once per month

Retention Policies​

Retention determines how long backups are kept:

  • Days: Delete backups older than X days
  • Count: Keep only the last X backups
  • None: Never auto-delete (manual cleanup required)

Point-in-Time Recovery (PITR)​

PITR enables recovery to any moment in time, not just backup snapshots.

How PITR Works​

  1. Change Capture: FireBackup monitors your Firestore for changes
  2. Change Windows: Changes are grouped into time windows (default: 5 minutes)
  3. Storage: Change data is stored efficiently with deduplication
  4. Recovery: Restore to any timestamp within the retention period

PITR vs Regular Backups​

FeatureRegular BackupPITR
Recovery PointsSpecific snapshotsAny moment in time
Storage UsageLowerHigher
CPU/MemoryLowerHigher
Best ForDisaster recoveryData corruption, accidents
caution

PITR requires more resources and storage. Enable it only for projects that need fine-grained recovery.

Storage Destinations​

Storage Destinations are where your backup data is stored.

Supported Providers​

ProviderFeatures
AWS S3Most popular, global availability
Google Cloud StorageNative for Google ecosystem
Digital Ocean SpacesCost-effective, simple setup

Storage Configuration​

Each storage destination includes:

  • Provider: AWS S3, GCS, or DO Spaces
  • Credentials: Access keys or service account
  • Bucket: Target bucket name
  • Region: Geographic region
  • Path Prefix: Optional folder prefix for organization

Data Security​

All data stored in your destinations is:

  • Encrypted: AES-256-GCM before upload
  • Compressed: Brotli compression (typically 70-90% reduction)
  • Integrity-Protected: SHA-256 checksums

Encryption​

FireBackup uses AES-256-GCM encryption for all backup data.

Encryption Flow​

Key Management​

  • Platform-Managed Keys: FireBackup manages encryption keys (default)
  • Customer-Managed Keys: Bring your own encryption keys (Enterprise)

API & Webhooks​

API Access​

All FireBackup features are available via REST API:

# List backups
curl -X GET https://api.firebackup.io/api/v1/backups/project/{projectId} \
-H "Authorization: Bearer {token}" \
-H "X-Organization-Id: {orgId}"

Webhooks​

Receive notifications for backup events:

{
"event": "backup.completed",
"timestamp": "2025-01-15T02:00:00Z",
"data": {
"backupId": "backup-123",
"projectId": "project-456",
"status": "completed",
"duration": 45,
"size": 1024000
}
}

Next: First Backup Tutorial - Create your first backup step by step.