Complete
Metadata and content validation pass; recovered with the original name and directory.
User Guide
Stop writing to the media that lost data before scanning. ssd keeps the source read-only; choose a different disk or folder as the recovery destination.
Block device (USB / SD / external disk), any folder, or an iOS local backup.
Quick scan reads metadata; deep scan carves by signature; ext4 can be scoped.
Chunked reads, never whole-file loads. Confirm the content before recovering.
Three destination checks, item-by-item export, final counts and a failure list.
Scan modes
Quick scan relies on file-system metadata. Deep scan carves by file signature in unallocated regions; it takes longer and results carry a lower quality grade.
| Mode | Best for | What it recovers | Limits |
|---|---|---|---|
| Quick scan | Recent deletions, metadata intact | File names, directory structure, timestamps | Cannot recover after overwrite |
| Deep scan | Metadata already gone | JPEG / PNG / MP4 / PDF carved by signature | No name / path; graded “carved-only” |
| Folder recovery | Backup folders, old-drive copies | Deleted items in a directory source; subtree preserved | dir: is rejected under an elevated session |
| Scoped path scan | Large ext4 devices | Deleted items inside a chosen subtree | ext4 only; other file systems are rejected explicitly |
Pause and resume: scans can be paused, resumed or cancelled. Checkpoints and item counts are persisted together; after a process kill or restart, the scan continues. A ≤4 MiB window around the checkpoint is rescanned, and records are replaced with equivalent entries by ID (idempotent).
Results & preview
Metadata and content validation pass; recovered with the original name and directory.
Metadata exists but the content chain is incomplete; the recovered file may not open fully.
Rebuilt from the file signature; no original name or path. Completeness follows the carved boundary.
Preview never writes to the source. Images are assembled from chunks and damaged items are flagged; text reads only a prefix, so the whole file is never pulled into memory.
Safe export
_2 / _3 suffixes.Trial & license
A license-free trial allows 20 files / 1 GiB. The desktop build adds a trial anchor: first-run network time; trial = 7 days from the anchor ∧ at most 3 export sessions.
Note: license counters are bound to the license; re-importing the same license does not reset them. Changing the quota requires a new licenseId. A new NIC requires a reissue. Manually changing the clock may end the trial early or require activation.
Command line
Links directly to the engine (no daemon). stdout is JSONL; progress and notifications go to stderr. Write commands cannot run without the two-phase flow.
xd-cli device list
xd-cli scan start --source /dev/sdb
xd-cli scan status <id>
xd-cli scan results <id>
xd-cli export start --scan <id> --dest ~/recovered
xd-cli image create --device /dev/sdb --out disk.img
xd-cli image verify disk.img
xd-cli image restore --prepare --image disk.img
xd-cli sector read --device /dev/sdb --offset 0 --length 512
Write commands need two phases: --prepare is a read-only rehearsal that prints a token; --prepare --commit completes both phases in one call. --yes only skips prompts and never generates or reuses a token.
Network & privacy
Manual check from settings; automatic check on launch is on by default and can be disabled. One static GET, no query string, no cookies, no machine identifier; 24 h throttle, silent failure, no download and no auto-update.
Before anchoring, each launch makes one silent HEAD request (Date response header only; three hosts in random order). On success it anchors, then makes zero outbound requests. Not controlled by the update switch.
Clicking “Activate” performs one Beijing-time request (same three-host pool, once only). If it cannot be reached, activation is refused (fail-closed). Not controlled by the update switch.
Read-only guarantee: the source is accessed read-only; the partition hash is unchanged before and after a scan. Exports never write back to the source. The Android build has zero INTERNET permission. The engine (crates/) is unrelated to all three touchpoints.
FAQ
It may already be overwritten, TRIM may have run, or the metadata is gone. Stop writing, then try a deep scan. If it is still missing, software recovery may not be possible.
Deep scan carves by signature and does not use directory entries. It can only provide type and content, not the original name or path. The quality grade is “carved-only”.
The destination is on the source device, a same-name file exists, or free space is insufficient. Choose an empty folder on a different disk.
The desktop trial requires a first-run network time anchor. Before that, export is unavailable. After anchoring: 7 days ∧ 3 sessions ∧ 20 files / 1 GiB.
No. One license is bound to one machine on first activation via the physical NIC MAC. Generate a verify code on the new machine and ask the seller for a reissue.
No. ssd does not provide root functionality and does not modify the system; storage partitions are read-only. Linux polkit / udev are used only for read-only elevated access.