Backing Up
Manual backups
Section titled “Manual backups”The Backup page lists detected games with search, sort, live-filter, multi-select, and a per-game Files tree showing exactly what the next backup will capture. Pick what you want and run a backup. The CLI mirrors this:
savevault-cli backupsavevault-cli backup --games "Dark Souls III" --games "Elden Ring"
# Per-run overridessavevault-cli backup --games "Baldur's Gate 3" --format tarzst --compression 1 --output E:/SaveBackups
# See the plan without writing anythingsavevault-cli backup --dry-runsavevault-cli backup-preview "Elden Ring"Backups honour your exclusions, so logs and shader caches stay out. Every flag is in the CLI reference.
The backup button counts your selection (for example Backup 3 Games). Beside it,
Update Game Database fetches the latest game database now
(savevault-cli manifest update), and the Refresh button next to the search box
(tooltip Rescan games) re-scans your installs (savevault-cli scan). + Add Game
opens the form for custom games.
While a manual or Smart Backup runs, a progress bar across the top of the window shows the current game. Its Cancel button, or Cancel Backup in the tray menu, stops the run.
When a game isn’t detected the way you expect, or you’re filing a bug report, one read-only command prints how it was detected, which manifest paths resolved, the backup plan, the exclusions in force, its Live Protection status, and its latest backups:
savevault-cli --verbose diagnose "Elden Ring"Smart Backup
Section titled “Smart Backup”The Smart Backup button on the Dashboard, and the same entry in the system tray menu,
runs a scheduled pass right now from inside the app: it scans, backs
up only the games whose saves changed, and applies retention, then
cloud sync follows if it’s enabled. If nothing changed it
says so and writes nothing. The CLI equivalent is savevault-cli schedule-run. Unlike
scheduled passes, Smart Backup runs aren’t recorded in the Schedule page’s history.
Saves, configs, and registry
Section titled “Saves, configs, and registry”Archives store game saves and configs separately (under data/saves/… and
data/configs/…). On Windows — and inside Proton/Wine prefixes on Linux — SaveVault also
captures the relevant registry keys and hives. Choose what to bring back at restore
time with --include saves|configs|both; the default is saves only.
Archive formats and compression
Section titled “Archive formats and compression”| Format | Notes |
|---|---|
zip |
Default. Opens anywhere; Zip64, so files over 4 GiB are fine. |
tar.gz |
Smaller than zip for most save data. |
tar.zst |
Best ratio and speed (zstd). |
Set the default with default_format and the speed/ratio trade-off with
backup_compression_speed (1 fastest … 9 smallest, default 6), under Settings →
General or:
savevault-cli config set default_format tarzstsavevault-cli config set backup_compression_speed 3Self-describing archives
Section titled “Self-describing archives”Every backup carries a plain-text README.txt and a savevault-manifest.json. Files
live under data/<saves|configs>/<placeholder>/<rest>/…, where the placeholder is
appData, documents, home, gameInstall, and so on, and resolves against the
current machine at restore time. That’s what makes backups portable across machines
and users, and restorable by hand without SaveVault. See the
archive format.
Archive file names end in a device tag, <Game>_<timestamp>_<device-tag>.<ext>, for example
SUPERHOT VR_2026-09-29_14.02.11_steam-deck-oled-aaaa.zip. The tag is a short slug of
this device’s name plus the first four characters of its id, so two devices that back up
the same game in the same second never collide in a shared folder. Set the name under
Settings → General → Device Name; see multiple devices.
Retention & pinning
Section titled “Retention & pinning”SaveVault keeps a configurable number of backups per game
(retention.default_max_backups, default 4, with per-game overrides; in the app it’s
Settings → Retention → Max Backups Per Game) and purges the
oldest unpinned backup beyond the limit. Retention refuses to purge while the newest
surviving archive fails verification, so a corrupt latest backup can never cause good
ones to be deleted. When several devices share the backup
folder, each device keeps its own count and never deletes another device’s backups.
Pin a backup to protect it from cleanup, and label it to remember why. Both are one click on the Dashboard and Restore pages, or:
savevault-cli backups # list the librarysavevault-cli backups pin backup.zip --label "before NG+"savevault-cli backups label backup.zip "Malenia down"savevault-cli backups unpin backup.zipsavevault-cli backups delete backup.zip # refuses pinned without --forcePins and labels are stored inside the archive’s manifest, so they survive a copy to another machine or a round trip through the cloud.
You can also pin and label before the backup exists: each game’s row on the Backup page has a Pin backup: switch and a Backup label field, and the next manual backup of that game is created pinned and labeled. The CLI sets both afterwards, as above.
Live Protection snapshots are a third source of backups,
next to manual and scheduled ones. They live in their own folder (Snapshot Directory,
default <backup_dir>/snapshots), are capped per game by Rolling Snapshot Limit
rather than Max Backups Per Game, and show up with your other backups on the Restore
page marked live snapshot. Pinned snapshots are skipped by the rolling cleanup, and
your exclusions apply to them too.
The library heals itself
Section titled “The library heals itself”The Restore page and savevault-cli backups reconcile SaveVault’s index with the backup
folder every time: archives you deleted by hand disappear from the list, and archives
that appear in the folder — copied from another PC, pulled down by cloud sync, or made by
another tool that follows the format — are adopted automatically. savevault-cli prune
does the same without printing the listing.
Verifying integrity
Section titled “Verifying integrity”BLAKE3 checksums are recorded per file and per archive at backup time, and checked on restore. Deep-check any archive, or all of them, whenever you like:
savevault-cli verify backup.zipsavevault-cli verify --allThe GUI’s Verify Integrity action on a backup does the same.
Scheduled backups
Section titled “Scheduled backups”Run automated passes that scan, back up only games whose saves changed, apply retention, optionally sync to the cloud, and check for app updates. Saves that are byte-for-byte identical to the newest backup — for instance one you just restored from another device — aren’t archived again. Configure passes on the Schedule page or from the CLI:
savevault-cli schedule enable # daily at 03:00savevault-cli schedule enable --mode interval --interval 4hsavevault-cli schedule enable --mode weekly --weekdays mon,wed,fri --time 22:30savevault-cli schedule enable --mode monthly --month-day 1 --games "Elden Ring"
savevault-cli schedule statussavevault-cli schedule historysavevault-cli schedule-run # one pass right now, in the foregroundsavevault-cli schedule disableschedule enable registers a job with your OS scheduler — Task Scheduler on Windows, a
systemd timer on Linux, launchd on macOS — so passes run even when the app is closed. On Windows the
scheduler fires the silent savevault-scheduled binary, which never flashes a console
window; on Linux and macOS the systemd timer and launchd job run
savevault-cli schedule-run directly. Scheduled passes include configs by default (schedule.include_configs) and can
write to a separate folder (schedule.output_dir). A notification summarizes each pass
according to notifications.scheduled_run_mode.
Before each scheduled pass or Smart Backup, SaveVault checks for a newer game database (a
cheap conditional request; if it fails, the run carries on with the database you have).
Turn that check off with Settings → Scheduled Backups → Update Game Database Before Scheduled / Smart Backup
(shown on the Schedule page as Game DB:), or
savevault-cli config set schedule.refresh_manifest_before_run false.
Performance
Section titled “Performance”Two independent knobs tune throughput:
scan.parallelism— threads for the install scan (default: all logical CPUs).backup.parallelism— threads for per-game archiving (default: half your logical CPUs).
Set them under Settings → Game Scanning → Scan Threads and Settings → General →
Backup Threads, or with savevault-cli config set. Each dropdown offers Automatic
(showing the thread count it would use), Sequential (1), or a fixed thread count; on
the CLI pass auto or a number (savevault-cli config set backup.parallelism auto).