Skip to content

Forensic soundness

These are the rules TRACE’s code follows – each one written down in the project and enforced by its tests.

  • Images are read, never mounted by the operating system, and never written to. A case refers to evidence by path and hash; nothing is copied into it.
  • Live disks are opened read-only by a helper that answers sector reads and nothing else.
  • Archives, mailboxes and attachments are read from memory – never unpacked to disk to be browsed.
  • No evidence is ever handed to an external program: compressed RAR members, which would need unrar, are reported rather than extracted.
  • Verification is a history: every check is appended with its result; nothing is overwritten. Images are checked against every hash they store.
  • The audit trail records every action that matters, including keys used (never the keys themselves), exports, removals, settings changes and anything sent over the network.
  • Carved files are validated before they are kept, and graded by what their structure proves, not what it suggests. Exports are re-checked against the SHA-256 recorded at carving.
  • Reports state the versions and settings used, and escape every value that came from evidence.
  • TRACE runs in UTC internally, so The Sleuth Kit cannot shift zone-less times by the examiner’s own time zone: the same image reads the same on any machine.
  • Times are stored as recorded and shown in UTC, with your chosen display zone beside them, DST-correct.
  • Times that carry no zone on disk – FAT, exFAT, ZIP, DOS dates, SYSTEMTIME – are labelled local, no zone, never guessed.
  • NTFS times are kept to 100 nanoseconds, and implausible dates in the hex inspector are shown as —, not as a misleading date.
  • HTML from evidence never meets a browser engine: no scripts run, nothing is fetched from the network or the disk, links are not followed. A fetch would tell a page’s owner it was opened, and from where.
  • The map is offline by default. Online tiles are asked for once per server per session, fetch only the visible area, and are audited.
  • VirusTotal is used only when you ask, an upload only after a confirmation, and every query is kept and audited. A case in offline mode refuses all network use.
  • Wi-Fi networks are never located through an online lookup, since that would disclose evidence; saved Wi-Fi passwords are never copied into records.
  • Thumbnails and report pictures are scaled, never cropped – a cropped picture can hide what matters.
  • Office documents are shown with what a reader would not see: tracked deletions, comments, speaker notes, hidden sheets.
  • When the content of a file disagrees with its name, the content wins – and TRACE says so.
  • A feature that cannot run says why, rather than quietly producing nothing.