{
  "algorithm": "Ed25519",
  "format": "spki-der-base64",
  "public_key": "MCowBQYDK2VwAyEAd4Ue3y73XR3w9gV6eRvLqN5N/zAwUZwUsLuDhg1sr8c=",
  "signs": "oracle responses from /v1/oracle/*, attestations from /v1/attestation, commitments and reveals from /v1/commit and /v1/reveal, draws from /v1/draw, verdicts from /v1/ai/judge, and wake receipts from /v1/wake",
  "purpose": "Proves a statement was issued by Soren at the stated time over the exact bytes referenced. Each response carries its own `statement` and `signature.over` naming the fields; verify the base64 signature over the ASCII statement with this key.",
  "signed_string": "<resource>|<upstream_sha256>|<observed_at>",
  "how_to_verify": "1. Rebuild the signed string from provenance.resource, provenance.upstream_sha256 and provenance.observed_at, joined with '|'. 2. Verify provenance.signature.value (base64) over its ASCII bytes with this key.",
  "note": "Deliberately a DIFFERENT key from the feed signing key at /signing-key.json. The feed key lives on the collector; this one lives at the edge. Separating them means a compromise of the edge cannot forge a published feed.",
  "rotation": "If rotated, the old key stays listed under previous_keys for 90 days so cached responses remain verifiable.",
  "previous_keys": []
}
