PHOTO DATA MANAGER • PIPELINE SETTINGS

Control how duplicates are found, ranked and organised.

Pipeline Settings lets you adjust what counts as a duplicate, how the preferred copy is chosen, and where confirmed copies are organised.

DUPLICATE SETTINGS

Choose what the app uses to identify duplicates.

Photo Data Manager can combine pHash, dHash, wHash, MD5, timestamp information, Vision/feature comparison and SSIM to decide whether photos or sampled video frames belong to the same duplicate group.

The available checks and thresholds can be changed by the user. A stricter setup can focus on very close or exact matches, while a more flexible setup can include edited or slightly changed copies. The right setup depends on what you want to treat as a duplicate.

RANKING SETTINGS

Choose which confirmed copy is preferred.

After files have already been confirmed as duplicates, the app can rank them using factors such as motion/paired media, size and resolution, sharpness, obstruction, open eyes or face quality, metadata completeness, content payload, camera original and editing status.

The user can change the ranking priorities depending on what matters most. Ranking does not decide whether files are duplicates; it decides which copy in an already-confirmed duplicate group is preferred.

FOLDER ORGANISATION

Put the preferred copy and lower-ranked duplicates in the right place.

The highest-ranked or preferred copy can be kept in the Original output, while lower-ranked copies from the same confirmed group can be placed in the Duplicate folder.

This gives the user a clear result to review: the best copy is separated from the lower-ranked duplicates, while the organisation settings control how those outputs are arranged.

Automatic housekeeping and reusable cache

Completed modules clear temporary comparison math automatically. Per-file pHash, dHash and wHash values are reusable assets; pairwise distances are temporary calculations, and cached SSIM comparison scores are cleared after completion. Prepared media, hashes and reusable analysis assets stay available across stages and reruns. Verified cross-folder relationships remain available for Stage E metadata injection.

Use the common Cleanup control when changing your pipeline and wanting to discard prepared media and derived assets. Its cache policy is unchanged. Stage B also provides Delete Duplicates after Gather Duplicates. It deletes duplicate output folders and master folders, then purges only deleted media cache and IDs. Reusable assets, relationships between surviving files and completion state remain ready for the next stage.

After successful file moves or reorganisation, genuinely empty folders and their empty parents are removed automatically in one shared bulk housekeeping pass. This covers Stages A–E, Modules 90–94, Sort by GPS, Sort by Camera, Reshuffle and Clean Suffix on Mac and iPad. Reshuffle finishes its own empty-folder cleanup; no follow-up Cleanup is required. Cleanup and Mini Cleanup also use a bulk folder plan, removing selected output folders as whole folders and pruning empty ancestors after their existing cache work finishes. Required roots and folders containing any file are preserved. This housekeeping does not delete media, change Permanent Instance IDs, trigger Reshuffle or create a Cleanup-required state.

Cache and IDs for confirmed deleted media are removed automatically after complete physical reconciliation. Working media is resolved by Permanent Instance ID to its verified current location. Moving or renaming media preserves its identity and reusable evidence; a different file at an old pathname must not inherit that identity. Incomplete scans, unavailable roots and pending file moves defer deletion checks.

Clean Suffix is available directly in the Stage B controls, while Emergency Reshuffle and Emergency Cleanup remain separate emergency actions. It is not a separate Module 97. Filename collisions keep both files.

Finder Output defaults to Date Modified, newest first. Duplicate groups with the most copies appear first, with matching original and duplicate rows kept together as the results change.