Back to app

Command-line reference

The snapflow-sync CLI and integrity verification.

The desktop app installs a companion command-line tool, snapflow-sync, for scripting and headless automation. It shares its sign-in with the app through the macOS Keychain — log in once from either, and both work.

Commands

snapflow-sync version
snapflow-sync login --server https://snap-flow.org --email you@example.com --password ...
snapflow-sync logout
snapflow-sync albums list [--json]
snapflow-sync sync --album <id|name> [--push-finals] [--verbose]
snapflow-sync verify --album <id|name> [--json]
  • version — print the installed version.
  • login — sign in and store the session (server URL + Keychain token).
  • logout — clear the stored token.
  • albums list — list your albums; a * marks albums that have a finals delivery. Add --json for machine-readable output.
  • sync — pull an album headlessly, optionally pushing your finals/ JPEGs with --push-finals.
  • verify — SHA-256 every local file in an album against the hash the server recorded at ingest.

Verifying integrity

verify is the one to reach for before archiving an album, after a drive scare, or to sanity-check a USB transfer. It reports each file as:

  • OK — bytes match.
  • Drift — the local file changed or was corrupted; re-pull to recover.
  • Missing — not present locally; run a pull to fetch it.
  • No-hash — uploaded before integrity tracking existed; re-ingest to capture a hash.

It exits non-zero on a mismatch, so you can wire it into a backup script:

snapflow-sync verify --album "Monaco GP 2026" --json || echo "drift detected!"

Tip

The same SHA-256 check is available in the app — click 🔍 Verify… on any album hero for a visual report.