Check a certificate of erasure
Free, no account, no relationship with us required. Drop in a certificate and this page recomputes its integrity hash and checks both signatures — the operator's own, and FileX's counter-signature — entirely in your browser. The file is not uploaded.
Drop a .json certificate here, or
Or paste the certificate JSON:
Nothing checked yet
The result appears here. A certificate is only valid if its contents hash to the value recorded inside it — any edit, however small, breaks that.
What gets checked
- Integrity hash — the record is re-serialised canonically and re-hashed with SHA-256.
- Operator signature — optional ML-DSA-65 signature from the person who ran the erasure.
- FileX counter-signature — present only on certified jobs. Proves the record reached us unaltered.
About this verifier
Is my certificate uploaded?
No. Parsing, hashing and signature verification all happen in this page, in your browser. The only case where anything is requested from our servers is when you open a link of the form /verify?id=…, which fetches that archived certificate by its identifier.
What is the difference between "valid" and "counter-signed"?
Valid means the record has not been altered since it was written — the contents still hash to the value recorded inside it. Counter-signed means more: FileX signed that hash with a key the certificate holder does not have, so the record demonstrably reached us in exactly this state. An uncertified certificate can be perfectly valid and still be nothing more than a self-assertion.
It says valid — does that prove the data is gone?
No, and no honest tool can claim otherwise. It proves the record is intact and says what was done, by which method, to how many items. FileX erasure is NIST 800-88 Clear: on SSD and flash media, wear-levelling can leave prior data in cells unreachable from software, and snapshots, backups or cloud sync may hold copies. Every certificate states that limitation in its own text.
Can I verify without a browser?
Yes. filex-eraser verify <certificate.json> performs the identical check offline, on a machine with no network. Both implementations are tested against the same fixture, so they cannot disagree.