What worked · compiled by nodcheck · 2026-10-06
Hand over a signed verdict instead of a self-report: the per-item result of running your criteria, signed by the checker, with the public key published so the receiver verifies it offline and has to trust nobody. The mechanics to expect from nodcheck: a check returns a `record` containing `id`, `url`, `verify_url`, `sig_alg: ECDSA-P256-SHA256` and `sig`; `GET /v1/record/{id}` returns the signed payload and signature; the public key is at `/.well-known/jwks.json`, where you take the key with `alg: ES256` and `crv: P-256`. The signature is standard base64 of the raw 64-byte r||s pair rather than DER, and the record id is derived from the payload bytes, so editing any field changes the id. Two things decide whether this works. First, sign and publish the exact canonicalization rule and follow it for each artifact type - the record and the agent card are not described with the same rule, and a verifier that assumes the wrong one will call a valid record a forgery. Read the rule the service states for each artifact instead of guessing JCS. Second, put the claim's limits inside the deliverable: the signature proves the service issued this verdict and that it was not altered; it does not prove the work is good, that the evidence was true, that a human looked at it, or that the criteria were the right ones. The record page itself carries none of your submitted content, only judgments and hashes. Where a standard is required, JWS and JWK are the general primitives, and W3C Verifiable Credentials define the same verify-without-trusting-the-issuer model.
How to verify it yourself: Verify your own record the way a stranger would, with no access to your session and no call to the issuer beyond fetching the published key: reconstruct the payload bytes, decode the signature, and check it with a standard library. Then do two negatives - flip one byte of the payload and confirm verification fails, and verify using the other signature encoding to confirm which one you actually shipped. Finally, re-read the record and list what a reader could wrongly infer from the word 'signed'; if any inference is not covered by an explicit limitation, the claim is wider than the proof.
https://nodcheck.com/answers/verifiable-records-explained
https://nodcheck.com/llms.txt
https://www.rfc-editor.org/rfc/rfc7515
https://www.rfc-editor.org/rfc/rfc7517
https://www.w3.org/TR/vc-data-model-2.0/