Skip to content
DuoBolt

FAQ

Quick answers on how DuoBolt hashes with BLAKE3, handles NAS drives and symlinks, removes duplicates safely, detects APFS clones on macOS, and performs on both platforms.


Are results identical between macOS and Windows?

Section titled “Are results identical between macOS and Windows?”

Yes. Both platforms use the exact same engine, hashing logic, ignore rules, symlink logic, and grouping algorithm. Results match when the settings match.

Differences arise only if extension filters differ, ignore/system/hidden options differ, symlink behavior is configured differently, or where a feature is filesystem-specific — APFS clone detection only applies on macOS.


BLAKE3 — a modern, extremely fast, parallel hash function. High throughput, cryptographic safety, SIMD and multi-core scaling, and excellent behavior on large datasets. See BLAKE3 in DuoBolt.


No — never.

You review what it found, mark what you want gone, and confirm on a Review Selection screen before anything moves. Move to Trash is the default and stays reversible, and Operations History can restore what was removed from a surviving copy long after the OS Trash is gone.


What’s the difference between deleting and archiving?

Section titled “What’s the difference between deleting and archiving?”

There are four operations. The two that remove files:

  • Move to Trash sends files to the system Trash/Recycle Bin. Reversible from the OS, and afterwards from DuoBolt’s own Operations History.
  • Move to Archive moves files to a folder of your choice — local or external — mirroring their original directory structure. Useful when you would rather not depend on the Trash’s retention, or when you want one audit folder for everything you have cleaned.

Exclude archive folders from scans is on by default, so archived files do not come back as duplicates of themselves.


What happens if I archive files on a different volume?

Section titled “What happens if I archive files on a different volume?”
  • Same volume (APFS) — the move is a fast rename, and clone-shared files keep sharing extents at the destination, so disk usage does not change.
  • Different volume — the move becomes a copy plus a delete, so the archived files occupy real bytes at the destination.

History labels those totals as archived rather than freed, because a cross-volume archive relocates space rather than freeing it. The confirmation tells you both figures before you commit.


Yes. USB sticks, SD cards, and external SSD/HDD devices work normally. Performance depends on the drive type, USB speed, filesystem permissions, and whether antivirus is intercepting reads.


No. Scanning is read-only, and modern SSDs are engineered for extremely high read endurance.


Why do I see fewer duplicates than other apps?

Section titled “Why do I see fewer duplicates than other apps?”

Because DuoBolt avoids false positives and does not count things you cannot actually reclaim:

  • Every reported duplicate is confirmed by a full-content hash.
  • System, hidden and ignore rules are respected by default.
  • Collapsing symlinks stops hardlinked files being counted as duplicates.
  • Folder-extension exclusions skip .app, .bundle, .photoslibrary and the like.
  • Files under 64 KiB are outside the default scan.

For the widest possible scan: enable Follow symlinks, disable Ignore system files and Ignore hidden files, lower the minimum size to 1 KiB, and clear the extension filters. Expect a lot more noise.


Why does DuoBolt say I have duplicates but no space can be freed?

Section titled “Why does DuoBolt say I have duplicates but no space can be freed?”

On macOS APFS volumes, files can share storage: a Finder duplicate, cp -c, a Time Machine local snapshot, a build cache. They are distinct files with distinct inodes pointing at the same physical bytes, so deleting them frees nothing.

DuoBolt detects these clone groups and reports 0 B recoverable for them, rather than promising space it cannot deliver. Detect APFS clones is on by default — turn it off to see all logical duplicates regardless of physical sharing, which is useful when your goal is organizational rather than freeing space. Full explanation: APFS clones.

On non-APFS volumes the toggle does nothing, and reclaimable space is an upper estimate.


By default DuoBolt hashes the first and last 128 KiB of each candidate file and compares those first, then fully hashes only the files whose partial hashes match. Files that differ at their ends cannot be duplicates, so they are never read in full. On network volumes the prehash drops to a 4 KiB head-only read, because round-trips cost more there than reads.

It is a speed optimization only. Everything reported as a duplicate has been confirmed by a full-content hash. Turning Two-stage scan off changes how long a scan takes, never what it finds.


  • Mechanical HDD — scan smaller batches, or work from SSD-backed locations.
  • Very many tiny files — raise the minimum file size.
  • Antivirus scanning every read — allow-list DuoBolt during scans.
  • USB 2.0 enclosure — expect it; copy locally or narrow the scope.
  • Restricted directories — grant permission, or skip those paths.
  • Cloud-synced folders — avoid them; they re-download files on access.

The single biggest saving is narrowing the scan: fewer folders, a minimum size, and an extension include list.


Yes. Scan History records every scan with the setup it used — folders, size range, extensions, options, and for similar photos the threshold and group cap — and Run again repeats it exactly. Identical scans collapse into one row rather than filling the list. See history and restore.


Usually not. You need them only for other users’ home folders, certain system directories, and drives mounted with restricted ACL permissions.


Every group is a set of files that produced the same full-content BLAKE3 hash. Names, dates and folders play no part in it, and the prehash only decides what gets read — never what gets reported.

To be exact about the one thing it does not do: DuoBolt compares 256-bit cryptographic hashes rather than re-reading both files byte by byte. No BLAKE3 collision has ever been produced. See the honest limits.


No — the core engine is proprietary and remains closed-source.


Yes, on macOS: choose Photos at the top of the Similars setup and DuoBolt reads the library directly, with no export. It asks for access to Photos the first time. Photos that only live in iCloud are set aside and counted rather than judged from a thumbnail. Removing sends photos to Photos’ Recently Deleted, not the Trash. The details are on the Photos library.


Why doesn’t DuoBolt see my hidden photos?

Section titled “Why doesn’t DuoBolt see my hidden photos?”

Because macOS does not show the Hidden album to any other app, whatever permissions it has — DuoBolt never receives them, so it cannot scan them. Unhide a photo in Photos and the next scan will see it.


I imported the same photos twice. How do I clean that up?

Section titled “I imported the same photos twice. How do I clean that up?”

Scan the library, open the Photos filter and keep Imported more than once: what is left are the groups whose copies differ only by import. Then Bulk Select → Keep First Import keeps the copies from the earliest import and selects the later ones, in every group at once. Review the selection and send it to Recently Deleted. A later copy that was edited or made a favorite is kept too — an edit is a version, not a duplicate.

How do I compare two copies of the same photo?

Section titled “How do I compare two copies of the same photo?”

Open either one in the preview and press C. The two appear in the same frame with a line between them; drag the line across and one becomes the other. H adds a histogram, and with the curtain open Δ lays the other copy’s curve over it. The whole thing is on Comparing two photos.

Can I tell DuoBolt which copy to keep, once, for every group?

Section titled “Can I tell DuoBolt which copy to keep, once, for every group?”

Yes — that is what keep rules are. Settings → Selection holds an ordered list per finder: keep the copy with more pixels, keep the RAW, keep the one that still has its EXIF, keep the copy under a folder you name, keep where ISO is the lowest. DuoBolt reads it top to bottom, the first rule with an opinion decides, and Bulk Select → Keep by my rules (⌘R, Ctrl+R on Windows) runs it over every group at once.

I replaced my Mac. How do I free the seat it was using?

Section titled “I replaced my Mac. How do I free the seat it was using?”

Settings → License → Devices lists the machines using your license and frees the one you no longer have. The old machine does not have to be running: a formatted or sold Mac cannot release its own seat, which is exactly the case this list exists for. If an activation is refused because the seats are full, the same list is one click from the key field.

My RAW looks worse than the JPEG next to it. Why?

Section titled “My RAW looks worse than the JPEG next to it. Why?”

In the preview it should not: DuoBolt develops the RAW rather than showing the small JPEG the camera wrote inside the file. In the grid it may — those tiles come from the embedded preview, which is the right trade for a hundred at once and, at tile size, indistinguishable.

If the RAW is a different photograph altogether, the pairing is the library’s: Photos pairs a RAW with a JPEG by file name at import and does not check that they are the same shot. See The Photos library.