ALBUM / PHOTO-ARKHIVE Metadata Studio
EXIF / IPTC / XMP CSV import Approximate dates Family anchors

Portable metadata is what turns scans into an archive that survives app changes.

The third research file is strongest here: use ExifTool to write standards, keep sidecars where they help, bracket unknown dates honestly, and build timeline anchors so chronology improves over time instead of stalling.

Standards

Use all three metadata layers for different jobs.

The durable strategy is not choosing one standard. It is writing the fields that matter into the places most tools can still read later.

XMP

Extensible and sidecar-friendly

Use XMP for face regions, app-specific metadata, and sidecars when you want non-destructive edits or richer structure.

Best for: face rectangles, portable sidecars, custom metadata, Lightroom/digiKam workflows.
Limitation: some lightweight viewers ignore the richer fields.

Commands

ExifTool is the heavy-lift batch lane.

The goal is repeatable batch metadata, not hand-editing each image until the project dies.

Common write commands

exiftool -AllDates="1985:06:15 12:00:00" photo.jpg

exiftool -GPSLatitude=40.7128 -GPSLatitudeRef=N ^
         -GPSLongitude=-74.0060 -GPSLongitudeRef=W photo.jpg

exiftool -Keywords+="Family" -Keywords+="Christmas" photo.jpg

exiftool -XMP-iptcExt:PersonInImage="Grandma Rose" photo.jpg

Spreadsheet and naming workflow

exiftool -csv -r dir/ > metadata.csv
# edit metadata.csv in Sheets or Excel
exiftool -csv=metadata.csv dir/

exiftool "-FileName<DateTimeOriginal" ^
  -d "%Y%m%d_%H%M%S%%-c.%%e" *.jpg

Export to CSV, let the family or archive lead edit a sheet, then re-import. That is far more scalable than one-by-one tagging.

MWG strategy: when possible, write synchronized values across EXIF, IPTC, and XMP so one app does not hold the only valid copy.

Dating

Approximate dates are valid if the archive records the uncertainty.

The real win is chronology that can improve later, not pretending every date is exact today.

Bracket with anchor events

Use births, weddings, moves, military service, school years, and address history as hard points around which undated photos can slot.

Use earliest plausible dates

For year-only images, use a sortable placeholder like January 1 of that year and record the real precision in metadata or sidecars.

Let format and objects help

Photo type, rounded-corner print styles, cars, hairstyles, slide mounts, and photographer stamps all narrow the date range.

AI can suggest, not certify

Photo-dating tools and reverse image search can tighten estimates, but they should become evidence in the record, not unchallenged facts.

Date placeholder pattern

1985:01:01 00:00:00
Description: Taken around 1985, exact date unknown.
Keyword: DatePrecision:Year

1992:07:01 00:00:00
Description: Taken sometime in July 1992.

Anchor sheet fields

people estimated_age format_type location_clues before_anchor after_anchor ai_estimate confidence

Treat dating as constrained inference, not a vibe. A simple anchor sheet makes later corrections much easier.

Structure

Keep filenames simple and richer notes beside the image.

Use sidecars and stable naming to keep both machine sortability and human context.

Date-first names

Use chronological names for sort order and put nuance into metadata. The filename should help sort, not carry the full archive record.

XMP for non-destructive workflows

Sidecars are strong when you do not want to touch originals directly during active editing or when the source format prefers external metadata.

.md and .mson for archive context

Keep longer human notes, OCR results, provenance, and family story fragments in sidecars that are easy to read and easy for ALBUM tools to ingest.

Timeline and family-tree join

Once dates and people are stable enough, push them into timeline and family-tree layers so chronology and identity reinforce each other.

Better rule: a sortable approximate archive with confidence labels is more useful than a perfect naming scheme waiting on missing facts.