A restic GUI for Mac
restic is an excellent backup program and it has no interface at all. If you want what restic does without living in Terminal, this is what Backstop wraps around it — and what it adds that no interface would give you.
The engine is not the problem
restic is genuinely good: encrypted, deduplicated, incremental, fast, and it has been maintained since 2014. It is free and it will stay free. Nothing on this page is an argument against it, because Backstop is it — the app bundles the restic binary and drives it, and what lands on your disk is a standard restic repository.
What restic does not have is everything a Mac needs around it: a schedule, somewhere safe for the password, permission to read your Mail, a snapshot so files being written are captured whole, and something that notices when it has all quietly stopped.
What Backstop puts around it
The password is in the Keychain
Not in a config file, not in an environment variable, not in your shell history. macOS already has the right place to put a secret, and it is the one screen in Backstop that deliberately slows you down during setup.
Full Disk Access, handled
Mail, Messages, Safari and Photos all live behind that permission. Backstop shows you exactly what would be missing from your backup if you decline, and starts backing up everything else while you decide.
An APFS snapshot every run
Taken before the backup, so a file being written mid-run is captured whole, and thinned afterwards — even when the run fails, which is where hand-rolled scripts leak snapshots until a disk fills.
Status in the menu bar
Hourly backups that skip below 20% battery unless plugged in and wait for wi-fi rather than a tethered phone. If nothing has run for 72 hours the glyph changes and a notification fires.
Cloud placeholders excluded
Dropbox and iCloud stubs are skipped by default, so a backup does not quietly pull your entire cloud drive down over the wire — and does not back up a stub in place of the real file.
Stale locks cleared
One crashed run leaves a lock that blocks every backup after it. Backstop detects that and clears it, which is the failure most likely to stop a script silently in month eight.
The part that is not an interface at all
Everything above is convenience, and convenience is a fair thing to be sceptical about paying for. This is the part that is not:
restic check proves the repository is internally consistent with itself, and Backstop
runs it weekly. A monthly --read-data-subset pass downloads a percentage of the stored
data and verifies it against its hashes, which is the only check that finds a bit that flipped
inside a pack. Neither of those proves the round trip works. The restore drill does, and restic has
no command for it because it is not a repository operation — it needs to know where your originals
are.
That is why the health status is worth reading. Backstop will never say Healthy because a backup ran. It says Healthy because a backup ran and the data was read back and real files were restored and matched. The four words and what each one means are on the overview.
It is still your repository
Nothing here is a format you are stuck in. The repository is written by the restic binary itself, so
any restic on any machine can read it. Getting your files back with no Backstop installed is
brew install restic and four more commands, printed
on our FAQ — and our test suite pulls those exact lines out of that page and runs them against a
real repository on every build. If they ever stop working, the build fails before it ships.
When this is the wrong tool
- You already have a restic setup that works and you already run restore drills. Then you have solved the actual problem and Backstop has nothing to sell you. We go through exactly what that setup involves here, so you can judge for yourself.
- You have Linux or Windows machines. Backstop is macOS 14 and later, full stop. It leans on APFS snapshots, the Keychain, TCC and LaunchAgents hard enough that a port would be a different product.
- You want to control the restic version. Backstop bundles 0.19.1 and pins it, so the engine moves when we ship rather than when you do. That is deliberate — a backup tool whose engine can change underneath it is a backup tool that can be surprised — but if you want the newest restic the day it lands, run restic.
- You have a repository already and want a window onto it. Backstop sets up and manages its own; it is not a general-purpose browser for one you already run.
Before you buy anything
Test the backup you have now. Four steps, real commands, no purchase. Whatever you conclude about Backstop afterwards, knowing whether your current backup restores is worth more than the price of this app.