Certificates

Every successful, verified wipe earns a certificate of erasure — issued as two cryptographically signed PDFs modeled on NIST SP 800-88r2, generated by AVERASE cloud and verifiable by anyone against the platform's records.

Certificates are produced only by the AVERASE web application. The bootable engine renders and signs nothing and carries no signing key — it reports the wipe's outcome, and the cloud does the certifying. That separation is what makes a certificate worth trusting: the evidence is signed by a key that never leaves the server.

Two documents, one record

A certifiable wipe result enqueues one generation job, and that job renders both documents from the same facts — the same certificate number, the same signature, the same signed_at. There is no state in which one exists without the other.

DocumentPrinted headerWhat it is
Certificate of SanitizationCERTIFICATE OF SANITIZATIONThe hand-off artifact: one page, four sections, mirroring NIST SP 800-88r2 Appendix C. What you give a downstream buyer, an auditor, or a client's compliance file.
Erasure ReportERASURE REPORTThe evidence record behind it: the same wipe in full detail — technician contact block, drive firmware and transport, the verification method and its measured coverage, media destination, and the digital-protection block.

Neither document is a summary of the other in any weaker sense — both are covered by the same Ed25519 signature over the same canonical payload, so verifying one attests the facts printed on both.

When a certificate is issued

A wipe result is certifiable when both hold:

  • wipe_status is completed, and
  • validation is approved (a blank validation counts as approved).

Everything else persists on /wipes as evidence but does not certify:

OutcomeOn /wipesCertificate
Completed, verification approvedPassIssued automatically
Completed, but unverified (held for review)Recorded, flagged for reviewNever issued
Verification rejectedFail, routed to destructionNever issued
Failed or cancelledFail / CancelledNever issued

One rule surprises people: a Clear wipe on solid-state media is always capped at review, even when its verification passes. NIST 800-88 is explicit that a logical overwrite cannot reach over-provisioned cells on flash, so the engine downgrades the validation to unverified with: "NIST 800-88: Clear overwrite cannot reach over-provisioned cells on solid-state media — validation capped at REVIEW (use Purge to certify flash)". Purge is the certifiable path for flash media.

When a certifiable wipe result arrives, generation is enqueued immediately and runs in the background — the /wipes Certificate column shows Pending → Generating → the finished CW-000123 link (or Failed if generation errored).

Certificate numbers

Each certificate gets a number that is unique per account and assigned under a lock, so the sequence is gap-free — your first certificate is number 1, your five-hundredth is number 500, with nothing missing in between. The printed reference formats it as CW-%06d: certificate 123 is CW-000123. Both documents carry it. (The cert_… prefixed id used in URLs is a separate, global identifier.)


The Certificate of Sanitization

A US Letter page mirroring NIST SP 800-88r2 Appendix C. The AVERASE wordmark sits top-left with CERTIFICATE OF SANITIZATION opposite it, above a meta line of the form AVERASE v<version> · Certificate No. CW-000123 · Generated <timestamp> UTC. Four sections follow.

An AVERASE Certificate of Sanitization for certificate CW-000008, showing the media information, sanitization details, technician and validator sections.
Example — CW-000008, a Clear on an NVMe drive in a Dell Latitude 5540Download PDF

Media Information

FieldContents
VendorDrive vendor as read from the hardware — Samsung.
Media TypeBus/media class — NVMe, SATA SSD, HDD.
Model NumberThe drive's model string — PM9B1 NVMe Samsung 512GB.
Serial NumberThe drive serial the wipe was keyed to — S6MZNF1WA04527.
SourceThe machine the drive was recovered from, Vendor Model (SN …). Blank for hotswap-station wipes.
CapacityUsable capacity in binary units — 476.9 GiB.
SMART StatusThe drive's self-assessment at wipe time — Passed (green) / Failed (red).

Sanitization Details

FieldContents
MethodThe NIST method with its revision — NIST-800-88-r2 Clear or NIST-800-88-r2 Purge.
TechniqueWhat actually ran — Single-pass zero overwrite, NVMe Sanitize — crypto erase, ATA Secure Erase, …
Write Passes1 for overwrite-class techniques; blank for firmware operations, where passes are not a meaningful measure.
VerificationPass — no certificate is issued on anything else.
Tool UsedThe signing engine build — AVERASE v1.0.0.
Started / CompletedJob start and end, UTC.
DestinationWhere the media is headed after release — Internal Reuse.
Erasure StatusCompleted (green).

Sanitization Technician

The attestation statement, printed verbatim:

I attest that the data erasure process has been carried out in accordance with sanitization guidelines provided by the given specification.

Below it, Technician Name, Organization, Date (MM/DD/YYYY, filled in), and a ruled Signature line for wet ink.

Validator

Blank rows for independent quality-control sign-off, per the NIST form: Validator Name and Organization print when no validator is recorded, with ruled lines for Date and Signature.

A footer closes the page: "This report is digitally protected to prevent tampering by AVERASE's development process. AVERASE is intellectual property of ©MAESON Technologies LLC."


The Erasure Report

The same wipe, in full. It carries the identical header and meta line, then lays seven sections out in two columns.

An AVERASE Erasure Report for certificate CW-000008, showing technician, media, sanitization, verification, destination, attestation, validator and digital protection sections.
Example — the Erasure Report for the same wipe, CW-000008Download PDF

Sanitization Technician

The contact block the short certificate omits — all six fields come from the account's certificate profile.

FieldContents
Technician NameMerritt Mason
TitleThe technician's role — Founder.
OrganizationAVERASE — falls back to the account name when the profile leaves it unset.
LocationWhere the sanitization was performed — Warehouse.
PhoneContact number for follow-up on the record.
EmailContact address for follow-up on the record.

Media Information

Everything on the certificate, plus the identifiers a technical audit asks for.

FieldContents
Vendor · Media Type · Model Number · Serial NumberAs on the certificate.
FirmwareDrive firmware revision at wipe time — 46305039.
TransportThe bus the drive was erased over — nvme, sata, usb.
DeviceThe kernel device node the engine operated on — /dev/nvme0n1.
Capacity476.9 GiB.
Property NumberYour own asset/property tag for the drive; when unset.
SourceThe machine the drive came out of, matched from inventory.
ClassificationData classification of the media before erasure; when unset.
Data Backed UpWhether the data was captured before the wipe — Yes / No / Unknown (the default).
Operational/DamagedPhysical condition at wipe time — Operational / Damaged.
SMART StatusPassed (green) / Failed (red).

Sanitization Details

FieldContents
MethodThe bare method — Clear, Purge, or Destroy.
StandardThe specification it was performed against — NIST 800-88 R2 Clear.
TechniqueSingle-pass zero overwrite.
Write Passes1, or blank for firmware operations.
Started / CompletedUTC timestamps.
DurationElapsed wall-clock time — 34 s.
Erasure StatusCompleted (green).
Tools UsedEngine and tool versions recorded at preflight — AVERASE 1.0.0.

Verification

The section that makes the report worth keeping: not just that the wipe verified, but how much of the drive was re-read to prove it. See Verification & results for the mechanics.

FieldContents
Verification MethodThe procedure, spelled out: "Read-back after kernel cache flush — NIST SP 800-88 representative sampling (2 pseudorandom regions per subsection, at least 10% of the addressable space, first and last LBA pinned) plus pre-wipe fingerprint marker reconciliation".
Read-backThe counts, verbatim from the engine — 12503000/12503000 sampled sectors zeroed · 32/32 fingerprint sectors zeroed. For crypto/block-erase techniques, where post-erase content is unpredictable, this reads as fingerprint sectors overwritten instead.
CoverageHow much of the medium was actually re-read — 10.0% of media read back — 2 pseudorandom regions per subsection, first and last LBA included.
Verification ResultPass (green).
ValidationApproved (green) — the axis that gates certification at all.

Media Destination

FieldContents
DispositionThe release decision in words — Sanitized — approved for release.
DestinationWhere the media goes — Internal Reuse, Resale, Return to client, …
Markings RemovedWhether media markings and labels were stripped — Yes / No.
NotesFree text on the record; when empty.

Sanitization Attestation and Validator

Side by side. The attestation repeats the certificate's statement over Technician, Organization, Date, and a signature line. The Validator column states its purpose — "Independent secondary validation (NIST SP 800-88 verify/validate; R2v3 quality control) — completed by a person other than the technician" — over ruled lines for Validator Name, Organization, Date, and Signature.

Digital Protection

The report closes by printing what the signature covers: Certificate No. and Signed At. The printed block is a pointer, not the proof — the authority is the verify endpoint.


Where the fields come from

Nothing on either document is typed in at generation time. Every value is drawn from a record that already existed when the wipe finished:

SourceFields it supplies
The wipe result the engine posts (POST /api/wipe_result)Method, Standard, Technique, Write Passes, Started, Completed, Duration, Erasure Status, the verification counts and coverage, Verification Result, Validation, Disposition, Markings Removed, Tools Used, Serial, Model, Capacity.
The once-per-boot asset reportVendor, Media Type, Firmware, Transport, Device node, SMART Status, and — by matching the drive serial against the reporting machine — the Source line.
The asset record in /inventoryProperty Number, Classification, Data Backed Up, Operational/Damaged, Destination, Notes. Editable in the web app; the PDFs render whatever is stored the moment they are generated.
The account's certificate profileThe whole technician block: Name, Title, Organization, Location, Phone, Email. Organization falls back to the account name when unset.
The certificate record itselfCertificate No., Generated, Signed At, and the AVERASE v<version> stamp in the meta line.

Unset values print as (or Unknown for Data Backed Up) rather than being omitted, so a reader can tell a blank field from a missing section. Hotswap-station wipes leave Source blank: drives pass through a chassis rather than living in one machine, so there is no source asset to match.

Cryptography

Three mechanisms protect a certificate's integrity. All three cover the record, so they cover both documents equally.

  1. Ed25519 signature. The certificate's facts are serialized into a canonical payload with a fixed field ordercertificate_number, account, drive_serial, drive_model, drive_capacity_gb, wipe_method, passes_completed, started_at, completed_at, verification_hash, signed_at — and signed with a dedicated Ed25519 key (separate from the device-token key). The public key is published alongside the signature, so verification never requires trusting the PDF itself.
  2. HMAC tamper token. An independent HMAC-SHA256 over the same canonical payload, keyed by a server-side secret. The public verify endpoint recomputes it — any altered field flips the answer to "valid": false.
  3. Verification hash. The payload embeds the wipe's own verification_hash — a SHA-256 over every byte the engine re-read from the drive during post-wipe verification — chaining the certificate to the physical evidence.

Because the signature covers the record rather than the file bytes, an edited PDF does not produce a different signature — it produces a document whose printed facts no longer match the ones the verify endpoint returns. Compare the two and the edit is obvious.

Storage and download

Finished PDFs live in private object storage (R2) — objects are never publicly listable or directly addressable. Downloading one goes through the web app, signed in and scoped to your account, and each request responds with a redirect to a presigned URL valid for 5 minutes:

RequestReturns
GET /certificates/:idThe Certificate of Sanitization.
GET /certificates/:id?document=reportThe Erasure Report.

If generation hasn't finished you're redirected back with "Certificate is still generating."

There is no certificate index page. /wipes is the certificate listing: its Certificate column links both documents for each certified wipe (opening in a new tab), shows Pending / Generating / Failed badges while in flight, and marks non-certifiable wipes "Not issued" with the tooltip "Certificates are only issued for successful, verified wipes".

A certificate_generated webhook fires when generation finishes, if you want to pull certificates into your own systems as they're issued.


GET/certificates/:id/verify

Verify a certificate

The verify endpoint is public — no authentication, no account. Give the URL to a downstream buyer or auditor and they can confirm, against AVERASE's own records, that a certificate is genuine and untampered.

The endpoint recomputes the certificate's tamper token from the stored facts and returns the signed payload. It is document-agnostic: one certificate id covers both PDFs, and the facts it returns appear on each. Three outcomes:

  • Valid200 with "valid": true and every signed fact, so the caller can compare them against the PDF in hand.
  • Tampered200 with "valid": false: the certificate exists but its stored facts no longer match their tamper token.
  • Unknown404 with "valid": false and "error": "not_found": no such certificate.

Response fields (valid certificate)

  • Name
    valid
    Type
    boolean
    Description

    Whether the certificate's facts match their tamper token.

  • Name
    certificate_number
    Type
    string
    Description

    The printed reference, e.g. CW-000241.

  • Name
    account
    Type
    string
    Description

    Name of the account the certificate was issued to.

  • Name
    drive_serial
    Type
    string
    Description

    Serial number of the sanitized drive.

  • Name
    drive_model
    Type
    string
    Description

    Model string of the sanitized drive.

  • Name
    drive_capacity_gb
    Type
    integer
    Description

    Drive capacity in decimal gigabytes.

  • Name
    wipe_method
    Type
    string
    Description

    The method used, e.g. NIST 800-88 R2 Purge.

  • Name
    passes_completed
    Type
    integer
    Description

    Write passes for overwrite-class techniques; null for crypto/block-erase techniques.

  • Name
    completed_at
    Type
    timestamp
    Description

    When the wipe finished (ISO-8601, UTC).

  • Name
    signed_at
    Type
    timestamp
    Description

    When the certificate was signed.

Request

GET
/certificates/:id/verify
curl https://averase.com/certificates/cert_abc123/verify

Response — valid

{
  "valid": true,
  "certificate_number": "CW-000241",
  "account": "MAESON Technologies LLC",
  "drive_serial": "S6MZNF1WA04527",
  "drive_model": "SAMSUNG MZVL2512HCJQ",
  "drive_capacity_gb": 512,
  "wipe_method": "NIST 800-88 R2 Purge",
  "passes_completed": 1,
  "completed_at": "2026-08-01T14:22:07Z",
  "signed_at": "2026-08-01T14:22:09Z"
}

Response — tampered

{
  "valid": false,
  "certificate_number": "CW-000241",
  "account": "MAESON Technologies LLC",
  "drive_serial": "S6MZNF1WA04527",
  "drive_model": "SAMSUNG MZVL2512HCJQ",
  "drive_capacity_gb": 512,
  "wipe_method": "NIST 800-88 R2 Purge",
  "passes_completed": 1,
  "completed_at": "2026-08-01T14:22:07Z",
  "signed_at": "2026-08-01T14:22:09Z"
}

Response — not found (404)

{
  "valid": false,
  "error": "not_found"
}

What's next?

  • Wipes — the grid where certificates surface
  • Certificate verification API — the endpoint in the API reference
  • The wiping process — methods, techniques, and the verification that feeds the certificate
  • Inventory — where Property Number, Classification, and Destination are edited
  • Webhooks — get notified the moment a certificate is generated

Was this page helpful?