Frequently asked questions
Can the analysis damage my files? No. The analysis only reads: it writes, moves, renames and deletes nothing in your sources. Everything it learns goes into the catalog.
Does marking a file as a “doublon” (duplicate) delete it? No. No action in the Centre de revue (Review Center) touches a file: decisions are recorded in the catalog, and “Rouvrir le groupe” (Reopen the group) cancels them.
Do my photos go out to the Internet? No. All processing is local. The only possible connection is the check for updates, disabled by default, which only consults the list of published versions and sends nothing about your photos or your catalog.
Why are my moved files still on the source disk? They are in that disk’s Trash: a move puts the sources there after their copy has been verified, and the app never empties the Trash. Until you empty it, the space is not freed (this is the “Espace récupérable” (Recoverable space)). On a disk without a Trash, the sources stay in place and the report lists them under “Sources conservées faute de Corbeille — à supprimer manuellement” (meaning: Sources kept for lack of a Trash — to delete manually).
Can I analyze two folders on the same disk? Not as two sources: one source per disk. Choose their parent folder — the existing source widens, without losing anything — and use exclusions to leave out the rest.
Why are two scans of the same negative not grouped? The visual fingerprints of version 1.0 recognize neither cropping nor rotation. Two scans framed differently will generally not be matched.
Why don’t “Doublons exacts” (Exact duplicates) and “Espace récupérable” (Recoverable space) change after my decisions? Review decisions change neither the files nor these totals, which describe what the analysis found on your disks. They prepare a sort; they do not carry it out.
Does the transfer take into account the duplicates I marked? Yes. A file marked “doublon” (duplicate), when a present master exists, is neither copied nor moved: it stays in place in the source, even in Déplacer (Move) mode. A group you have not reviewed, or that you ignored, is transferred in full (see chapter 6).
Can I interrupt a transfer? There is no button to pause or cancel a transfer. Quitting during a transfer asks for confirmation (“Annuler” (Cancel) by default); closing the window does not stop it. An interrupted transfer — full or unplugged disk, app quit — is resumed with “Reprendre” (Resume).
Where is batch renaming? It is not yet in the app; it is available from the command line (obscura rename, see chapter 8), except on exFAT and FAT32 disks.
Can I use Obscura Trace on two Macs with the same catalog? This is not supported. The catalog is local to your user account, and only one process opens it at a time.
Which version of macOS is required? macOS 14 (Sonoma) or later.
Current limitations
What follows is not available in the current version. The guide never presents it as available.
Not yet delivered (planned for v1.0)
| Limitation | Detail |
|---|---|
| Thumbnails and previews | Previews are prepared on demand, when a group is opened: the first display of a photo may take a moment. There is not yet a button to clear the preview cache; deleting the ~/Library/Caches/Obscura Trace/ folder poses no risk to the catalog. |
| Batch renaming in the app | Available from the command line only. |
| Matching moves without a known fingerprint | A file moved outside the app on a weak volume, whose full fingerprint was not known, is only proposed (same name, size and date, with no other candidate): it is up to you to link it or not, with no possible undo. Two files with the same name, size and date are not proposed. A source’s “Empreinte complète” (Full fingerprint) option avoids the question, at the cost of reading the entire disk. |
Operating limitations
| Limitation | Workaround |
|---|---|
| A transfer interrupted by an earlier version of the app is not offered on relaunch | obscura recover-transfers then obscura execute (see chapter 10). |
| An interrupted transfer cannot be abandoned from the app, only resumed | None: resuming is the only path that verifies or undoes the operation left open. |
| No pause or cancellation of a transfer | None. Quitting asks for confirmation; “Quitter quand même” (Quit anyway) interrupts it, and it is resumed at the next launch. |
The obscura CLI is refused on the catalog while the app is open (code 75), reading included | Quit the app, then run the command. |
| A second analysis reads again the unchanged files that share their size with another file (hashing): on a large collection, almost all of them | None; the results remain correct. Fix planned in v1.0. |
| Memory grows with the size of the collection. Measured on 10⁶ real files: 659 MB at the peak of an analysis, up to 2.9 GB to read back a manifest of 10⁶ entries | None; the results remain correct. Fix planned in v1.0. |
| Only one analysis at a time | Wait for the first one to finish, or cancel it. |
| Only one source per disk; a subfolder of the source cannot replace it directly | Parent folder (the source widens) and exclusions; or “Retirer…” (Remove…) then declare the subfolder (its files are then inventoried again). |
| Duplicates excluded by the review stay in the source: nothing moves them to the Trash | Remove them yourself, after checking the consolidation. |
| No path template (sorting by year…) in the app | obscura plan --template from the command line. |
| Cropping and rotation not recognized by probable duplicates | Limitation of the method in v1.0. |
| Batch renaming impossible on exFAT, FAT32 and network shares (SMB, AFP) | None: these volumes do not guarantee a rename without overwriting. The preview reports it before anything is applied. |
| No transfer to an AFP share | Mount the same share over SMB (smb://…): see chapter 10. |
| A network share remounted under another server name is refused on resume | Remount it as it was at the time of the plan (same name in the Finder). |
Outside version 1.0
These features belong to later versions of the product and are not in version 1.0: advanced visual fingerprints (“embeddings”) and advanced rescan detection, image families, automatic classification (categories), keywords and collections, visual search (version 1.5); natural language search, local AI models, semantic analysis, generation of titles and descriptions (version 2.0).
Glossary
| Term | Definition |
|---|---|
| Analysis (analyse) | Reading of one or more sources in five phases: file traversal, metadata, hashing, image analysis, similarity index. Modifies no file. |
| Catalog (catalogue) | Local database of Obscura Trace (catalog.sqlite). Contains everything except your photos. |
| Companion (compagnon, sidecar) | File that accompanies a main file, such as an XMP next to a RAW. Always travels with it. |
| Established / estimated confidence (confiance établie / estimée) | Established: a verified fact (identical SHA-256). Estimated: an inference, always marked “estimé” (estimated). |
| Copy-first | Principle whereby a move is first a verified copy; the source is removed only afterward. |
| Trash (Corbeille) | macOS Trash of the disk concerned. Default destination of the sources of a move and of replaced files. Never emptied by the app. |
| Exact duplicate (doublon exact) | Files with strictly identical content, established by full SHA-256. |
| Probable duplicates (doublons probables) | The only name, on every screen, for very similar images that the analysis matches by their visual fingerprints (dHash and pHash within 10 bits). An inference, never a fact: each group carries its “estimée” (estimated) confidence and awaits your confirmation in the Centre de revue (Review Center). Neither cropping nor rotation is recognized. Distinct from exact duplicates, established by SHA-256. |
| Dry run (simulation) | Plan computed for reading, which cannot be executed. |
| Fingerprint (SHA-256) (empreinte) | Digital signature of a file’s content: two files with the same fingerprint have the same content. |
| Visual fingerprint (dHash, pHash) (empreinte visuelle) | Signature of an image’s appearance, which withstands recompression and resizing. |
| Freed space (espace libéré) | Bytes actually permanently deleted by transfers. |
| Recoverable space (espace récupérable) | Space taken up by extra copies or by sources in the Trash; nothing has been freed yet. |
| Group (groupe) | Set of files that the analysis matches together (exact duplicates or probable duplicates). |
| Job | Long-running task tracked by the app: analysis, plan, transfer, renaming. Each job has an identifier and a state. |
| Transaction journal (journal de transactions) | Register in which each operation on a file is written before it is performed, then its result. Basis of any resume. |
| Manifest (manifeste) | manifest.json file written in the destination, describing each transferred file, its origin and its fingerprint. |
| Master | Copy to keep first in a group; recommended by the app, chosen by you. |
.obscura-part | Temporary name of a copy in progress, before verification. Never an original. |
| Plan | Exact list of operations a transfer will perform, computed before any write. |
| Resume (reprise) | Continuation of an interrupted transfer, from the journal, without copying again what is verified. |
| Authorization bookmark (signet d’autorisation) | Durable reference to a folder you designated, which makes it possible to find it again without designating it again. |
| Source | Disk or folder designated for analysis. One per disk. |
| Collision strategy (stratégie de collision) | What happens when a file with the same name exists at the destination: Comparer (Compare, the default), Ignorer (Skip), Renommer (Rename), Remplacer (Replace). |
| Volume | Disk or partition. |
| Weak volume (volume faible) | Volume whose file system does not guarantee a reliable file identifier (exFAT, FAT, unknown format). |