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.