# Photress Recovery Utility

This package contains the offline, read-only macOS reference utility for the
public Photress V1 backup format. It requires Apple silicon and macOS 14 or
later. It does not need a Photress account or a Photress-operated server.

## Verify the package

From the extracted package directory:

```bash
shasum -a 256 -c SHA256SUMS
bin/photress-recovery self-test
bin/photress-recovery verify-fixtures fixtures/recovery-fixtures.json
```

For a public release, also compare the archive checksum with the value
published on `photress.com` and confirm that macOS identifies the executable as
a notarized Developer ID build. A reference package marked `ad-hoc-linker` in
`RELEASE-METADATA.plist` is test evidence, not a public signed release.

## Inspect a backup

```bash
bin/photress-recovery inspect Backup.photress --backup-passphrase
```

Or use `--recovery-key` for the checksum-validated 24-word Recovery Key. The
credential is requested through a hidden terminal prompt. The device-local
numeric App Code cannot open a copied portable backup.

Inspection authenticates the package and reports every retained branch. It
does not select a fork winner from a timestamp, generation or writer epoch.
Use the complete `selectionCode` from the fresh inspection output when
exporting one exact snapshot:

```bash
bin/photress-recovery export Backup.photress \
  --snapshot <selection-code> \
  --destination Recovered \
  --backup-passphrase
```

The destination must not already exist. The utility never modifies the source
package. Do not put a real passphrase or Recovery Key in command arguments,
environment variables, shell history, screenshots or support messages.

The exact format contract is in `docs/PHOTRESS_BACKUP_FORMAT_V1.md`. Synthetic
compatibility fixtures are under `fixtures/`; third-party licenses are in
`THIRD_PARTY_NOTICES.md`.
