The layer that owns chunking, dedup, encryption, the repository format, and retention.
The backup engine is the layer that owns chunking, deduplication, encryption, the repository format, and retention — the machinery between your files and a destination.
Above the engine sits the app: the scheduler, the UI, the backup-set definitions, the destination configuration. Below the engine sits storage: a bucket, a disk, a NAS share. The engine is what turns “back up my Lightroom catalog to this bucket” into a stream of encrypted, content-addressed blocks and a readable manifest, and what turns a restore request back into exact files on disk. It is also what enforces retention — deciding which snapshots survive — and verification, which re-reads blocks against their hashes to prove the repository is still intact.
Choosing an engine is a ten-year decision. A good one has a documented, stable repository format; runs on multiple operating systems; is open-source and externally inspectable so anyone can audit how keys are derived, how data is laid out, and how restore works; and is independently recoverable so no one company going away leaves you stranded with your own data.
In macup, we chose an existing, mature, open-source engine rather than inventing one. Your repositories are written in a format any macup user — or anyone with the published spec — can read, with a command-line tool, forever. The app around it is ours; the engine beneath it is not a black box.