Your drives will fail. Your data won't.
Split backups across multiple drives so no single drive holds your complete data. Lose a drive? Pull a new one, recover, keep going. It's math, not luck.
Your backup is split into N+K pieces using Reed-Solomon erasure coding — the same math that keeps CDs readable despite scratches. Lose up to K drives and still recover everything from any N.
Optional AES-256-GCM encryption with Argon2id key derivation. Each drive holds one piece — encrypted, incomplete, and useless on its own.
ZIP/Deflate compression is on by default. BFS detects already-compressed files (photos, videos, archives) and skips them — no wasted CPU, smaller shards.
USB drives, external HDDs, NAS, FTP/FTPS servers, network folders — anything that can hold a file. Mix and match across providers. No cloud subscription required. No vendor lock-in.
Each backup creates a new numbered version. Keep the last 7, or 30, or all of them. Verify health, prune old ones, restore from any point.
Every piece of your backup carries a map to all the others. Find one surviving drive, run bfs recovery — your config, your files, everything comes back.
# 2 data shards + 1 parity = 3 providers (mix local disks and FTP/FTPS)
bfs init mybackup --ci --data-shards 2 --parity-shards 1 \
--provider "local:disk1 --path /mnt/disk1" \
--provider "local:usb --path /mnt/usb" \
--provider "ftp:nas --config-file ./nas.json"
# Each push creates a new versioned snapshot
bfs push # backup → new version
bfs pull # restore latest version
# Lost .bfs/? Any one surviving shard rebuilds the config, then `bfs pull`
bfs recovery --provider local --name mybackup \
--bootstrap "--path /mnt/disk1"
| Command | Description |
|---|---|
| bfs init | Initialize vault in current directory |
| bfs push | Backup current directory → new version |
| bfs pull | Restore files from backup |
| bfs status | Show vault health and version info |
| bfs verify | Check shard availability across providers |
| bfs recovery | Rebuild vault config from provider shards |
| bfs prune | Delete old backup versions |
| bfs versions | List all versions with health status |