Safe Archive: A Folder Backup You Can Actually Prove
A copy without proof is a hope, not a backup. Safe Archive copies a folder to local storage, S3, or Google Drive — and hands you a report that proves exactly what arrived (and names what didn't). Three ways to run it: the app, the command line, or an AI agent.
Published August 9, 2026
Quick answer
Safe Archive copies a folder somewhere safe — local storage, S3/B2/R2, or Google Drive — and writes a report (_archive-report.html + _archive-report.csv, one row per file with its SHA-256) into the destination. The report proves what arrived and names anything that didn't. Run it from the app, the CLI, or an AI agent — it is the same feature.
- →Three destinations: local/NAS, S3/B2/R2, Google Drive.
- →Copy-only — the source is never modified or deleted.
- →Proof, not promises: a per-file SHA-256 report is the deliverable.
- →Three ways to run: GUI, CLI, or AI agent.
What Safe Archive is
Most backups answer one question: did the command finish? Almost none answer the question you actually care about: did every file arrive? A dropped network share, a file locked by another process, a path too long for the destination, a permission the run-as account lacked — each one silently skips a file, and the backup looks complete. Weeks later you reach for the one file you needed and it is not there.
Safe Archive closes that gap. It copies the folder and writes a manifest and report into the destination: one row per file with its SHA-256, plus a named list of anything it could not copy. The report is the artifact you attach to the ticket, commit next to the backup, or hand to an auditor — proof of what arrived, not just proof that the command returned.
Use it in the app (manual)
Open the Safe Archive tab. Pick a source — a local folder, or a Google Drive folder after a one-time browser sign-in. Pick a destination — a local folder, an S3-compatible bucket, or a Drive folder. Then run it.
Source
Destination
As it runs, the tab shows live progress — files and bytes moved. When it finishes, the Done screen summarises what happened: files archived, bytes copied, Google-native files converted, items skipped, and any failures.
1,284
files archived
4.1 GB
copied
37
converted
0
failed
Prefer not to click through menus? The same job runs from the terminal or an AI agent — the next two sections.
Use it from the CLI
The archive command is the Safe Archive tab on the command line — same engine, same report, scriptable for nightly backups and offboarding. One command covers all three destinations:
# Local → local / NAS
foldermanifest archive "D:\Projects" --dest "N:\Backup\Projects" --json
# Local → S3 / B2 / R2
foldermanifest archive "/var/data" --dest-s3 --s3-bucket my-bucket \
--s3-endpoint s3.us-west-004.backblazeb2.com \
--s3-access-key KEY --s3-secret-key SECRET --json
# Google Drive → local (offboarding)
foldermanifest archive --source-drive 1A2B3c... --dest "E:\Offboarding\Jane" --jsonExit 0 = every file arrived; exit 1 = partial (some files failed, named in the report — rerun to resume). For the full flag reference and the partial-run/resume behaviour, see the CLI docs and the command-line deep dive.
Hand it to an AI agent
Because archive is self-describing (--help --json), returns a stable { ok, data | error } envelope, and never deletes the source, it is safe to delegate to coding agents like Claude Code, Codex, or Cursor. Paste this prompt to archive a folder with proof of what arrived:
You have the FolderManifest CLI installed as `foldermanifest`.
It is self-describing: start with `foldermanifest --help --json`. Always pass
--json and parse the { ok, data | error } envelope. Exit codes: 0 ok, 1 partial
(some files failed — named in the report) or error, 2 no license, 3 usage.
The report IS the deliverable: _archive-report.html / .csv land in the
destination with one row per file and its SHA-256.
Task: archive the folder <SRC> to <DEST> with proof of what arrived.
1. foldermanifest archive "<SRC>" --dest "<DEST>" --json
2. Parse the result. Report data.filesDone, data.bytes, and data.failures.
3. If data.failures > 0 (exit 1, partial): do NOT delete the source. Surface the
destination's _archive-report.html and list the files that did not arrive.
4. If data.failures == 0 (exit 0): confirm every file arrived; the report is the
receipt. Do not delete the source unless I explicitly ask afterward.
Rules: the CLI never deletes the source — never delete it on my behalf. For S3
add --dest-s3 --s3-bucket <b> --s3-access-key <k> --s3-secret-key <k> (and
--s3-endpoint for B2/R2/MinIO); for Drive add --source-drive <folderId>.See the AI-agent section of the CLI docs for the full prompt library.
The report is the proof
Every run writes two files into the destination root: _archive-report.html (a readable summary with a per-file hash table) and _archive-report.csv (one row per file — path, size, SHA-256, status). Open the HTML report to prove what arrived without re-running anything.
| File | Size | SHA-256 | Status |
|---|---|---|---|
| hero.jpg | 3.2 MB | a1b2…9f | ✓ archived |
| contract.pdf | 412 KB | 9f8e…2c | ✓ archived |
| budget.xlsx | 88 KB | 7d6c…41 | ✓ archived |
| notes » notes.docx | 15 KB | b3a4…77 | converted |
| Intake form (Google Forms) | — | — | skipped |
Where it can copy
| Destination | Good for |
|---|---|
| Local / NAS | Fast on-disk copies, external drives, a NAS mount. |
| S3 / B2 / R2 / MinIO | Offsite backup with a verifiable report. |
| Google Drive | Sharing, cloud retention, or as a source for offboarding. |
You can mix and match: a local source into S3, a Drive source into a local folder, and so on. A single Google sign-in covers both the Drive source and a Drive destination in one run.
Safety & credentials
Safe Archive is copy-only. The source is never modified, moved, or deleted, which makes it safe to run on a schedule. S3 secret keys and Google tokens are stored in the operating system keychain (Windows Credential Manager, macOS Keychain, or the Linux secret store) and referenced by an opaque handle — they never travel into the job file, the manifest, the report, logs, or telemetry.
Telemetry from an archive run is bucketed counts only — never file names, paths, bucket names, prefixes, or account emails. And because a partial run is reported honestly (never silently), you always know whether the destination is complete.
Archive with proof
Safe Archive is included with the 7-day trial and every license — copy a folder to local, S3, or Drive and get a report that proves what arrived.
Frequently asked questions
Related: Verifiable folder archives from the command line · Verify folder integrity with CRC32 & SHA-256 · Safe Archive CLI reference
