The safest way to handle duplicate assets is to make the work restartable, traceable, and testable before production cutover. The accountable owner should produce deduplication decision file; scope statement and accept the result only when aliases and survivor references resolve correctly.
This guide treats binary duplicates, near-duplicates, and aliases as part of the migration contract. The problem is not complete when bytes arrive; it is complete when identity, metadata, permissions, versions, relationships, and delivery behavior meet documented acceptance rules.
Draw the boundary before counting files
Treat duplicate assets as a business capability, not merely a directory to copy. Record the systems that create, update, reference, approve, and deliver binary duplicates, near-duplicates, and aliases. Mark each dependency as in scope, replaced, redirected, retained temporarily, or deliberately retired. The key risk is deleting a still-referenced asset; a file count cannot prove that this context will survive.
Build a baseline with source ID, parent identity, name, bytes, checksum when available, media type, created and modified timestamps, owner, access class, metadata completeness, version count, known references, and proposed disposition. Save the query, timestamp, and permissions used for the export. The result should be a reproducible source statement, not a spreadsheet that nobody can regenerate.
Decisions the scope document must settle
- What is authoritative?: Evidence: system-of-record statement and sample records; Accountable owner: data quality lead
- What moves?: Evidence: signed inclusion and exclusion rules; Accountable owner: program lead
- What is transformed?: Evidence: approved mapping and rendition policy; Accountable owner: platform owner
- What can be retired?: Evidence: usage, rights, retention, and business review; Accountable owner: content owner
- What proves completion?: Evidence: aliases and survivor references resolve correctly; Accountable owner: quality lead
The primary deliverable is deduplication decision file; scope statement. Review it with the people who own the source, destination, integrations, security, and business acceptance. Unresolved exceptions stay visible with an owner and due date; they do not become an undocumented assumption.
Turn scope assumptions into signed decisions
List every producer and consumer of the content, name the authoritative system, and state what remains outside the program. Attach an owner and review date to each exclusion. If the source changes after inventory, capture that change as a delta instead of quietly widening the scope.
For duplicate assets, the data quality lead should review duplicate groups with approved dispositions by migration wave and risk class. The review must connect each exception to binary duplicates, near-duplicates, and aliases, the controlling rule, and a disposition. This is how the team prevents deleting a still-referenced asset from being hidden inside an aggregate completion number.
Record the decision in deduplication decision file; scope statement. Include who approved it, which evidence was reviewed, what remains open, and the trigger for another review. The release gate stays closed until aliases and survivor references resolve correctly. If the threshold is not met, reduce the wave, repair the rule, and repeat the same query so the improvement is measurable rather than anecdotal.
Before approval, ask a reviewer who did not build the migration rule to reproduce one ordinary case, one restricted or high-risk case, and one known exception. Store those results with the batch identity. Independent reproduction catches hidden assumptions in credentials, local files, cached responses, and operator knowledge. It also leaves the next team a usable diagnostic path instead of a success note that cannot be repeated.
A minimum evidence pack
Keep the source inventory and query, immutable batch manifests, mapping or policy version, API responses, exception ledger, reconciliation output, access-test results, downstream screenshots or probes, and the signed go/no-go decision. Use timestamps and stable IDs so an auditor can connect each destination record to the exact migration run.
Avoid three shortcuts: treating a successful request as business acceptance, averaging away high-risk failures, and deleting the source before rollback and restore paths are proven. These shortcuts make a migration look fast while moving the risk into production.
Related DAM migration guides
- 7 Best DAM Migration Tools: Cloudinary Leads the Shortlist
- Own asset version histories After Go-Live: Roles, Controls, and Metrics
- Map binary duplicates, near-duplicates, and aliases Into the New DAM Without Losing deleting a still-referenced asset
Primary implementation reference: cloudinary.com documentation.
