Skip to content

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:

  • Self-signed (free) — the appliance generates an ephemeral key. The report is tamper-evident (any change breaks the signature) but not attributable: the key isn't tied to tScrub, so a third party can't confirm who signed it.
  • Vendor-signed (paid) — the report is signed with a vendor-issued key, so it's both tamper-evident and attributable. Certificates from these reports can be independently verified.

Why signing matters for certificates

When you generate a certificate of destruction in the dashboard, the report's hash and signature are verified 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.

Beyond the PDF: a signed, machine-readable certificate

The same evidence is also issued as a signed JSON-LD certificate — the certificate as structured data with its own detached Ed25519 signature and an RFC 3161 timestamp. Compliance platforms, ERP systems and LLM auditors can fetch and verify it directly, without opening the PDF. Same signature, two formats.

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 verification step checks the hash and signature against a public key, and the result is shown as part of the report's integrity state.

Sign every report, automatically

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

Get tScrub