What “copied successfully” usually means

Most copy interfaces report success after the operating system accepted all requested writes and closed the file. That is important, but it is not the same as reading the final destination and comparing its contents with the source. Storage interruptions, full disks, unstable network mounts, later modifications, and application errors can all create a gap between intent and evidence.

Levels of confidence

Name and file count

Matching paths and counts can spot obvious omissions, but two files with the same name may have completely different content. Counts also hide substitutions: one missing file plus one unexpected file still produces the same total.

Size and modification date

Size and time are quick comparison hints. They are not content proof. Different data can share a size, timestamps may be rounded by a file system, and some copy workflows intentionally preserve source dates.

Cryptographic content digest

A SHA-256 digest summarizes the entire byte sequence. Reading both files and obtaining the same digest provides strong evidence that their content matched at that moment. It cannot promise that hardware will never fail or that a file will never change later, which is why the time and path belong in the receipt.

Important distinction: verification is an observation at a point in time, not a permanent guarantee. Keep backups and re-run verification when the risk justifies it.

Verify one file with macOS tools

In Terminal, macOS can calculate SHA-256 with shasum -a 256 /path/to/file. Run it for the source and destination. Matching output means the bytes produced the same digest. Quote paths that contain spaces, and make sure you are hashing the intended files rather than aliases or placeholders.

Why verification should happen after the write

Hashing the source while copying can confirm what the copier read. To verify the result, the destination must also be read after the write finishes. A cautious workflow writes into a temporary file beside the final destination, flushes and closes it, hashes that temporary destination, and promotes it only after the digests match.

This ordering also avoids presenting a partial destination under the final name. If a copy fails, the old destination can remain intact and the temporary file can be reported separately.

Verification at folder scale

  1. Inventory relative file paths on both sides.
  2. Plan which items need copying or updating.
  3. Hash each source while it is read.
  4. Write to a temporary destination in the same folder.
  5. Read and hash the finished temporary destination.
  6. Move the verified file to its final name.
  7. Record source digest, destination digest, outcome, time, and any skipped paths.

Large files make verification more expensive because destination bytes must be read. That cost is the point: confidence comes from observing the result. A useful tool makes the cost visible rather than claiming instant verification it did not perform.

What belongs in a verification receipt

A durable receipt should identify the job and app version, record the selected roots without exposing more private information than necessary, list the approved plan, capture per-action outcomes, store verification digests, describe recovery checkpoints, and hash its own canonical representation so later edits are detectable.

Keep the receipt separate from the only copy of the data it describes. JSON is useful for machine verification; a PDF is useful for review and sharing. Neither format substitutes for the files themselves.

How SyncReceipt verifies

SyncReceipt uses streaming SHA-256 checks during its native execution path. It does not load an entire large file into memory. A copy is counted as verified only after the final destination candidate produces the expected digest. If a prerequisite copy fails, dependent destructive steps do not continue.

You can open a past receipt and run drift verification again. A changed or missing file is reported against the earlier evidence rather than blended into a new sync result.

Plan the whole folder relationship

Checksums answer whether two byte sequences match; they do not decide which folder should win or whether destination-only files should remain. Read how to sync folders on Mac using Update, Mirror, or two-way sync before choosing the behavior.

Practical verification checklist

  • Verify the destination after the write, not only the source during the read.
  • Use SHA-256 or another modern cryptographic digest.
  • Record failures and skipped files explicitly.
  • Protect the existing destination before replacing it.
  • Keep a timestamped receipt and re-check important archives periodically.
  • Maintain an independent, versioned backup.