inspect only
Scan a sync root
sqlite-sync-guard scan ~/SyncReads headers, sidecar names, and lock regions. It never connects to SQLite.
Preflight for synced folders
Live SQLite, WAL, and SHM files are a set—not ordinary documents. Catch unsafe copies, then make one clean handoff artifact.
cargo install --git https://github.com/B-Divyesh/sf-sqlite-sync-guard
Free, open source, no telemetry. Linux, macOS, and Windows.
01 / See the risk
Run the scan before your sync client does. Sidecars and lock bytes are explained in plain language, with stable exit codes for automation.
02 / Make the handoff
The online backup API reads a consistent snapshot while your app can keep running. The staged copy must pass integrity_check before it is published.
SQLite’s supported backup mechanism captures one consistent point in time.
The new database passes integrity check and gets a SHA-256 digest.
Sync the backup and JSON manifest—not the live database and sidecars.
03 / Put it on the path
inspect only
sqlite-sync-guard scan ~/SyncReads headers, sidecar names, and lock regions. It never connects to SQLite.
explicit write
sqlite-sync-guard export app.db -o ./handoffWrites a verified .backup.sqlite3 plus a digest-bearing manifest.
client guard
sqlite-sync-guard ignore ~/Sync --client syncthingOwns one marked block. Existing rules stay intact; repeated runs are idempotent.
Add --json anywhere. Exit 0 is safe, 2 is unsafe, and 1 means the check was incomplete.
Before the next sync
One static binary. Bundled SQLite. No service, account, or network required.