Compliance

Corruption detection (hash audit)

Re-hash a file and compare it against a recorded digest to detect any post-export corruption or modification.

Problem

You’re exporting a de-identified DICOM file for a clinical trial and want to be able to detect whether the file was corrupted or modified after export. The app generates an integrity-manifest export: the DICOM file plus a detached .dcm.sig manifest holding a SHA-256 hash. Later, anyone can re-check the file’s integrity by recomputing the hash — even a single byte changed after export will be detected.

Scope. This use case is the SHA-256 hash check that detects corruption and unintentional modification. The sidecar is also asymmetrically signed (ECDSA P-256 / ES256), so it additionally resists a determined adversary and proves authorship — see use case 10.5 for the signature and signer-identity workflow.

Steps

Export with Integrity Manifest

  1. Open the file (⌘O).

  2. Click Export in the top bar, then select Export with Integrity Manifest….

  3. Two files are downloaded simultaneously:

    • The DICOM file (.dcm)
    • The integrity manifest sidecar (.dcm.sig)

Verify Integrity

  1. Open the Verify Integrity Manifest modal — ⌘K → type “verify” → select “Verify integrity manifest…”.

  2. Upload the DICOM file — click the DICOM file upload area, select the .dcm file. A ✓ indicator confirms the file was loaded.

  3. Upload the manifest sidecar — click the manifest upload area, select the .dcm.sig file. A ✓ indicator confirms it was loaded.

  4. Click Verify — if both files match, the modal shows a green “Signature verified” confirmation.

Detect Corruption

  1. Modify the DICOM file — flip a single byte in the .dcm file on disk.

  2. Re-verify — upload the modified .dcm and the original .sig sidecar. Click Verify.

  3. The modal shows “Verification FAILED” — the recomputed hash no longer matches the modified file.

Result

Exporting produces the .dcm and a detached, signed .dcm.sig manifest — a SHA-256 hash of the file plus a binding to the audit snapshot, signed with ECDSA P-256. Re-verifying the matching pair reads “Signature verified”, and a single changed byte is caught. It detects corruption and, via the signature, adversarial tampering — see use case 10.5.