How tScrub signs reports (SHA-256 + Ed25519)

A report you can edit is a report an auditor can't trust. Signing is what makes the record tamper-evident.

t tScrub Team Last updated 22 Sep 2026 6 min read

Every tScrub report produces three artefacts: the CSV itself, a manifest (a JSON sidecar describing the job), and — where a signing key is available — a signature. Together they let anyone confirm the report is genuine and unaltered.

How it works

  1. tScrub computes a SHA-256 hash of the report CSV.
  2. It signs that hash with an Ed25519 key, producing a sidecar .sig file.
  3. A manifest records the hash, the public key, and the drive list.

To verify, anyone recomputes the hash and checks it against the signature using the public key. If a single byte of the CSV changed, the hash changes and the signature no longer matches.

Self-signed vs vendor-signed

The difference between tScrub's tiers is which key signs the report:

Why signing matters for certificates

When tScrub generates a certificate of destruction, it verifies the report's hash and signature first. The certificate is only as trustworthy as the record it certifies — and the signature is what makes the record trustworthy. The verification QR code then ties the certificate back to an independently checkable record.

FAQ

What if the appliance has no signing key?

tScrub degrades gracefully to a checksum-only report — the SHA-256 hash is still recorded, so tampering is still detectable, just without an attributable signature.

Can I verify a report myself?

Yes. The tscrub verify command checks the hash and signature against a public key, and the result is shown as part of the report's integrity state.

Keep reading

Sign every report, automatically

tScrub hashes and signs each report so tampering is always detectable.

Get tScrub