Signs a reasoning.json (ARP v1.3) with Ed25519 over the
RFC 8785 (JCS) canonical form of the whole file, signature metadata included
(Enveloped Pattern, SPEC §13.4). The Signer adds the fixed signature statement, the verify pointers and the
SHA-256 of reasoning.md. The signature shows who published the file and that it is unchanged;
it does not show that the statements are true.
arpYYMM, e.g. arp2610).
Verifiers (arp_cli verify, the Validator) look up the public key under this name.
/.well-known/reasoning.json and /.well-known/reasoning.md, served as published here
(the Markdown byte for byte, its SHA-256 is signed).
After deployment: check the live file in the Validator.
provenance are upgraded), domain matches, provenance present, wording rules ARP-W pass (same rules as the Validator and arp_cli lint).
_arp_signature gets algorithm, selector, timestamps, the fixed statement and the verify pointers (DNS name, DNS-over-HTTPS URL, spec).
representations.
signature set to "", is serialized per RFC 8785 and signed. The keypair is generated in the browser via @noble/ed25519, or an existing PEM key is used.
<selector>._arp.<domain>. Verifiers build this name from the retrieval domain and dns_selector.
reasoning.json
remains the entity's self-description.
arp_cli v1.4.0: sign, render-md, verify and lint
(arp_cli.py on GitHub).