Free & Open Source

A code guardian for your projects

Automated, intelligent backup system for developers. Encrypted cloud sync, native dashboard, universal database support. Never lose work again.

100% Test Coverage
v2.6.0 Latest Release
4+ Database Engines
Checkpoint
Active
Backing up…
FORTUNE 500 SAAS KIT
Scanning for changes… 0 files
Revenue Dashboard Pro 12 files • 48 KB
/Volumes/WORK DRIVE/Revenue Dashboard Pro
35 min. ago
FORTUNE 500 SAAS KIT 2,847 files • 156.3 MB
/Volumes/WORK DRIVE/FORTUNE 500 SAAS KIT
Backing up…
Client Portal - $4K/mo 324 files • 2.1 MB
/Volumes/WORK DRIVE/Client Portal
28 min. ago
MRR Machine - Shopify App 5,612 files • 89.4 MB
/Volumes/WORK DRIVE/MRR Machine
31 min. ago
My Entire Livelihood 9,234 files • 1.2 GB
/Volumes/WORK DRIVE/My Entire Livelihood
8 min. ago
? i

Everything you need, nothing you don't

Set it once, forget about it. Checkpoint handles the rest.

Install & Forget

One install, then it runs silently forever. Add projects from the Dashboard or just run backup-now in any directory.

Automatic Backups

Background daemon backs up all your projects on autopilot. Hourly by default, or set your own schedule — cron expressions, work-hours-only, every 5 minutes, whatever fits. Just works.

Database Support

Auto-detects SQLite, PostgreSQL, MySQL, MongoDB — local, remote (Neon, Supabase), and Docker.

Encrypted & Compressed

Cloud backups compressed with gzip then encrypted with age. Parallel encryption across all CPU cores. Your keys, your data. Zero-knowledge cloud storage.

Cloud Backup

Encrypted off-site sync via Dropbox, Google Drive, OneDrive, or iCloud. Direct folder sync or rclone API.

Version History

Every file version preserved automatically. Browse snapshots, compare changes, and restore any point in time.

Native macOS Integration

Menu bar dashboard, native desktop notifications on failures, and system-level daemon — all built into macOS. No terminal required.

Docker Support

Auto-detect databases in docker-compose.yml. Docker volume backup. Auto-start Docker Desktop if needed.

Search, Browse & Restore

Search across all backup history. Browse and restore from cloud backups with checkpoint cloud browse. Interactive fzf mode for snapshots. Auto-decrypt on download.

Native macOS Dashboard

A SwiftUI menu bar app that puts backup status at your fingertips

📊

Menu Bar Widget

Lives in your menu bar. Click to see all projects, backup status, file counts, and last backup time at a glance.

🔔

Native Notifications

macOS desktop notifications alert you when backups fail or haven't run in 24 hours. Configurable: all, failure-only, or off.

⚙️

In-App Settings

Configure schedules, retention, encryption, and notifications — all without touching config files. Press ⌘, to open.

🎯

One-Click Actions

Backup All, Pause/Resume, Check for Updates, and per-project context menus — right from the menu bar.

☁️

Cloud Browse & Restore

Browse cloud backups and download files directly from the dashboard. Auto-decrypted and decompressed on download.

Checkpoint
Active
Backing up…
FORTUNE 500 SAAS KIT
Writing manifest… 0 files
Revenue Dashboard Pro 12 files • 48 KB
/Volumes/WORK DRIVE/Revenue Dashboard Pro
35 min. ago
FORTUNE 500 SAAS KIT 2,847 files • 156.3 MB
/Volumes/WORK DRIVE/FORTUNE 500 SAAS KIT
Backing up…
Client Portal - $4K/mo 324 files • 2.1 MB
/Volumes/WORK DRIVE/Client Portal
28 min. ago
Retirement Fund Tracker 1,890 files • 24.7 MB
/Volumes/WORK DRIVE/Retirement Fund Tracker
12 min. ago
MRR Machine - Shopify App 5,612 files • 89.4 MB
/Volumes/WORK DRIVE/MRR Machine
31 min. ago
Passive Income API 743 files • 5.8 MB
/Volumes/WORK DRIVE/Passive Income API
19 min. ago
Equity Vesting Calculator 87 files • 412 KB
/Volumes/WORK DRIVE/Equity Vesting Calculator
40 min. ago
My Entire Livelihood 9,234 files • 1.2 GB
/Volumes/WORK DRIVE/My Entire Livelihood
8 min. ago
? i

How it works

Three steps to peace of mind

1

Install once

git clone https://github.com/fluxcodestudio/Checkpoint.git
cd Checkpoint && ./bin/install-global.sh
2

Add your projects

Run backup-now in a project directory — or add projects from the Dashboard. Each one is auto-registered and backed up on your schedule. Hourly by default, or use cron expressions, work-hours presets, and custom intervals.

3

Forget about it.

That's it. Backups run silently in the background. Add more projects anytime. Cloud sync and encryption just work. Go build something.

Organized backup structure

Every project gets its own backup directory.
No shared dumps, no tangled archives —
just clean, isolated snapshots you can actually find.

my-saas-app/backups/
├── databases/           # Compressed timestamped snapshots
│   ├── MyApp-2025.01.03-10.45.12.db.gz
│   └── MyApp-2025.01.03-14.30.45.db.gz
├── files/               # Current versions (readable)
│   ├── src/
│   ├── .env
│   └── credentials.json
└── archived/            # Old versions with timestamps
    ├── src/app.py.20250102_104500
    └── .env.20250101_093015

Encrypted & compressed

Your backups, your keys — zero-knowledge cloud storage

🔑

age encryption

Files encrypted with age — a modern, simple alternative to GPG. Small, auditable, no config files.

📦

Compress then encrypt

Text files are gzip-compressed before encryption for smaller cloud storage. Already-compressed formats (images, video, archives) skip compression automatically.

Parallel & automatic

Encryption runs in parallel across all CPU cores when backing up 100+ files. One command setup: checkpoint encrypt setup or toggle in Dashboard settings.

☁️

Cloud-only encryption

Local backups stay unencrypted for fast access. Only files synced to cloud storage (Dropbox, iCloud, etc.) get encrypted.

Built for the terminal

Dashboard optional. Everything works from the command line.

>_

Familiar Territory

No GUI required. Every feature is a simple bash command — backup, restore, search, browse, encrypt, and configure.

🔍

Search & Browse History

Find any file across all backups. Browse snapshots interactively with fzf. View full version history for any file.

Scriptable & Composable

Pipe output to other tools. Hook into CI/CD. Trigger backups from cron, git hooks, or any automation you already use.

Terminal
# First backup — just cd and run
$ cd my-saas-app
$ backup-now

📦 First time backup - creating configuration...
   ✅ Configuration created
   ✅ Project registered

🚀 Backup complete!
   Files: 2,847 backed up
   Encryption: enabled (cloud backups)
   Next: in 59 minutes (hourly)

# Check status across all projects
$ checkpoint --status
   Daemon: running (PID 4821)
   Projects: 8 registered
   Last backup: 12 min ago
   Cloud sync: enabled (encrypted)
   Storage: 1.4 GB local / 890 MB cloud

# Search across all backups
$ checkpoint search "API_KEY"
   Found in 3 files across 2 projects

# Restore a file from 3 days ago
$ checkpoint restore src/config.js --from "3 days ago"
   Restored src/config.js (v2025-02-14_10:30)

# Browse and restore from cloud backups
$ checkpoint cloud browse MyProject
   Feb 17 1:49am - 213 files, 2 databases
   Select file to download (auto-decrypted)

Download Checkpoint

Free for noncommercial use, forever

Checkpoint v2.6.0

For macOS & Linux

  • ✓ Global multi-project backups
  • ✓ Compressed & encrypted cloud sync
  • ✓ Cloud browse & restore
  • ✓ Parallel encryption (multi-core)
  • ✓ Native macOS dashboard
  • ✓ Remote & Docker databases
  • ✓ Search & browse history
  • ✓ Storage monitoring
Download ZIP

or clone with Git:

git clone https://github.com/fluxcodestudio/Checkpoint.git

Frequently Asked Questions

Everything you need to know

What does Checkpoint back up?

Everything that matters and nothing that doesn't. Source code, databases (SQLite, Postgres, MySQL, Mongo), your precious .env files, API keys, credentials, IDE configs. It sniffs out databases on its own — local installs, cloud-hosted on Neon or Supabase, even buried inside Docker containers.

Is Checkpoint free?

For personal projects, side hustles, and open-source work — completely free, no strings. Commercial teams need a license from Fluxcode Studio. That's the deal.

Does it work on Linux?

First-class. Native systemd units for the daemon, watchdog, and file watcher. If your box doesn't run systemd, there's a cron fallback that works just as well. Same features, different init system.

Why not just use Git for backups?

Because Git was never designed to be one. Your .env files? Not in Git. Your database? Not in Git. That half-finished feature you haven't committed yet? Gone if your drive dies. Checkpoint backs up the stuff Git was built to ignore.

How does cloud backup work?

Your files get encrypted locally with age — a modern, auditable encryption tool — then synced to Dropbox, Google Drive, OneDrive, or iCloud via rclone. The upload happens in the background after each backup. Your cloud provider sees ciphertext. You hold the only key.

Do I need the macOS dashboard?

Not even a little. Every single feature works from the terminal. The SwiftUI menu bar app is there for people who like a visual pulse check, but CLI-only users aren't missing anything. It's a preference, not a requirement.

How do I restore a file?

checkpoint restore drops you into an interactive picker. checkpoint search "filename" hunts across every snapshot you've ever taken. Want to browse? checkpoint history --interactive fires up fzf for full-speed time travel through your backup history.

What happens if a backup fails?

You'll know. Checkpoint fires a native desktop notification the moment something goes wrong. Behind the scenes, a watchdog process monitors heartbeats and sounds alarms if backups go stale — warning at 24 hours, critical at 72. Crashed daemons restart themselves automatically.

Can I restore files from cloud backups?

Yes. checkpoint cloud browse lets you browse all your cloud backups, pick files, and download them — auto-decrypted and decompressed. Works with fzf for interactive browsing or plain numbered lists. Download individual files or everything as a zip.

What if I lose my encryption key?

Your encrypted cloud backups become permanently inaccessible. There is no recovery mechanism — that's the point of zero-knowledge encryption. Back up your key file (~/.config/checkpoint/age-key.txt) somewhere safe. Your local backups are always unencrypted and unaffected.