Portable
The destination has a declared mapping for the field and the source can represent it.
Local metadata preflight
Before you move a RAW archive between Lightroom, darktable, Immich, or Snapseed, inventory its XMP sidecars and get an honest contract for every rating, description, keyword, and edit recipe.
Route preflight
This browser demo uses capability declarations only—no files leave your device. The CLI performs the real folder inventory.
sidecar-ledger scan ./photos --from lightroom --to immich-readonly
Single binary · v0.1.0
Sidecar Ledger reads filenames and adjacent XMP. It never decodes image pixels, calls a network, or changes source timestamps.
$ cargo install sidecar-ledger
$ sidecar-ledger scan ~/Pictures/Archive \
--from lightroom --to immich --json
# Exit 0: portable · 2: review risk · 1: error
Fixture: 2 images · 1 paired sidecar · Lightroom → Immich
Exit 2: review the missing sidecar and render critical edits before moving.
What the report promises
The destination has a declared mapping for the field and the source can represent it.
The boundary drops or cannot durably write the field. You get a concrete backup or render recommendation.
No trustworthy mapping is declared. Sidecar Ledger says so and asks for a representative test.
Opaque stays opaque. Proprietary develop recipes are named by namespace, never reverse-engineered or printed with their values.
Optional Pro route pack
The CLI, every risk verdict, and JSON export remain free under MIT. A $19 one-time purchase unlocks curated migration recipes: route-specific backup sequences, validation checklists, and post-import checks in this browser.
Sociobot/Dodo is the merchant of record. Refunds are handled there and revoke the license automatically. See privacy and terms.