{
  "algorithm": "Ed25519",
  "format": "spki-der-base64",
  "public_key": "MCowBQYDK2VwAyEAd4Ue3y73XR3w9gV6eRvLqN5N/zAwUZwUsLuDhg1sr8c=",
  "signs": "oracle responses from /v1/oracle/*",
  "purpose": "Proves an oracle reading was returned by Soren at the stated time, over the exact upstream bytes we received. Combined with upstream_sha256 this gives authenticity (it came from us) and integrity (the upstream response we saw is the one we hashed).",
  "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": []
}