| Text changed after signing |
Strict and normalized SHA-256 fingerprints allow the verifier to detect a mismatch. |
Verify the text, not only the presence of a badge or link. A normalized-only match is weaker than a strict match. |
| Receipt fields edited |
The server signs the stable statement with ECDSA P-256 and publishes the verification key. |
The hosted UI is still served by the operator. Independent assurance requires checking the raw signature with the matching key. |
| Automated mass issuance |
New receipts require Turnstile and are subject to IP-based rate limits. Optional payment adds economic friction. |
Bot checks and rate limits are not perfect. They do not identify the signer or prevent coordinated human abuse. |
| Signer lies about authorship or review |
The exact claim is shown publicly, creating an attributable declaration when identity signals are disclosed. |
The service does not observe the full writing process or fact-check the statement. Treat it as an attestation, not independent proof. |
| Account, phone, or device compromise |
Provider tokens, one-time codes, and WebAuthn ceremonies are verified when the related method is used. |
A successful check can still be performed by someone controlling compromised credentials or a coerced user. |
| Copied badge or unrelated receipt link |
The receipt displays the signed text or allows candidate text to be checked against its fingerprints. |
Confirm the receipt text and claim match the content where the badge or link appeared. |
| Signing-key compromise |
The private key is held by the service and only the public key is exposed. |
Compromise of the service or private key could enable forged statements. Public incident response and key history are needed for stronger long-term assurance. |
| Key rotation or lost verification key |
Each statement includes a signing-key identifier, and the active public key is published. |
No versioned retired-key archive is currently advertised. Preserve the matching JWK for long-term independent checks. |
| Receipt expires |
The signed statement contains an explicit expiry time and the hosted record is removed after 365 days. |
The service will no longer supply the record. Expiry is not revocation, correction, or proof that the underlying claim changed. |
| True but harmful or unlawful content |
No technical mitigation is claimed through the receipt itself. |
A receipt does not certify safety, legality, quality, originality, or truth. Those require separate review processes. |