Defensive Takeout reader
Adjacent and title-indexed JSON sidecars are recognized. Duplicate album copies collapse by content hash while retaining album labels.
You’re offline. The docs and planner still work; license verification will resume when you reconnect.
Local migration assurance
Inventory every photo, name every difference, and decide what each phone will do next—before your family cuts over.
Read-only · local · provider-neutral
The safe way out
The tool observes. You decide. Your source and archive remain untouched.
Read Takeout sidecars, dates, album hints, rendered edits, media types, byte sizes, and SHA-256 hashes.
Match exact bytes, surface missing items, and require a plain-language reason for every accepted exception.
Record uploads, deletions, conflicts, and offline behavior per device. Sign only when the evidence is ready.
Live readiness gate
This browser demo calculates only the gate. The CLI performs the real local scan.
Four commands, one record
Install from source today. Factory-built release binaries follow the same interface.
cargo install --git https://github.com/B-Divyesh/sf-photo-exit-manifest
$ photo-exit-manifest init --output policies.json
$ photo-exit-manifest run \
--source ~/Takeout/Google\ Photos \
--destination /Volumes/FamilyArchive \
--policies policies.json \
--out ./exit-manifest \
--sign "Alex Morgan"
ready_for_cutover: exit-manifest (100.000% accounted)
Adjacent and title-indexed JSON sidecars are recognized. Duplicate album copies collapse by content hash while retaining album labels.
No hashes means planning-only. Missing files, absent album labels, edited copies, and unsafe retention policies keep the manifest on hold.
Every command is non-interactive. Add --json for scripts; exit code 2 means evidence exists but cutover is not ready.
Optional Family Pack
The free CLI performs unlimited inventories, comparisons, exceptions, JSON exports, and signed manifests. A $29 one-time license unlocks this browser-based multi-device policy builder and reusable policy files.
Sociobot / Dodo is merchant of record. Refunds are handled there and revoke the license.
Keep the old cloud for now