{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://thehiveryiq.com/.well-known/schemas/origin-proof-v1.json",
  "title": "OriginProof v1",
  "description": "OriginProof, Human-Origin Attestation, receipt. Attests that an asset_id and a caller held production-conditions evidence digest were recorded and signed at recorded_at. It attests only the conditions of production (credential clearance, session integrity, declared tool or model use scope) that the caller declared, never that the output itself was provably human. This receipt is distinct from media.origin, which attests media content origin and rights evidence, not human production conditions; they must never be merged or aliased.",
  "type": "object",
  "required": [
    "receipt_id",
    "payload_sha256",
    "sig_b64u",
    "key_id",
    "algorithm",
    "ts",
    "signed_body"
  ],
  "additionalProperties": false,
  "properties": {
    "receipt_id": {
      "type": "string",
      "pattern": "^r_origin\\.proof_[0-9]{10,}_[0-9a-f]{12}$"
    },
    "payload_sha256": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    },
    "sig_b64u": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{86}$"
    },
    "key_id": {
      "type": "string",
      "pattern": "^did:(hive|web|key):[A-Za-z0-9._:%-]+$"
    },
    "algorithm": {
      "type": "string",
      "const": "Ed25519"
    },
    "ts": {
      "type": "integer",
      "minimum": 1000000000
    },
    "signed_body": {
      "type": "object",
      "required": [
        "receipt_type",
        "schema",
        "asset_id",
        "evidence_digest_sha256",
        "recorded_at",
        "verdict",
        "boundary",
        "origin_claim_type"
      ],
      "additionalProperties": false,
      "properties": {
        "receipt_type": {
          "type": "string",
          "const": "origin.proof"
        },
        "schema": {
          "type": "string",
          "const": "r1.0.0"
        },
        "asset_id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256,
          "pattern": "^[A-Za-z0-9._:-]{1,256}$"
        },
        "evidence_digest_sha256": {
          "type": "string",
          "pattern": "^[0-9a-f]{64}$",
          "description": "SHA-256 of the caller-held evidence bundle this receipt attests was recorded. The service never receives or inspects the underlying evidence, only its digest."
        },
        "recorded_at": {
          "type": "string",
          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}([.][0-9]{1,9})?Z$"
        },
        "verdict": {
          "type": "object",
          "description": "Service-computed honesty boundary fields. Never caller overridable; recomputed and checked at verify time.",
          "required": [
            "matches_media_origin_family",
            "human_output_provable"
          ],
          "additionalProperties": false,
          "properties": {
            "matches_media_origin_family": {
              "type": "boolean",
              "const": false
            },
            "human_output_provable": {
              "type": "boolean",
              "const": false
            }
          }
        },
        "boundary": {
          "type": "string",
          "const": "OriginProof, Human-Origin Attestation, receipt. Attests that an asset_id and a caller held production-conditions evidence digest were recorded and signed at recorded_at. It attests only the conditions of production (credential clearance, session integrity, declared tool or model use scope) that the caller declared, never that the output itself was provably human. This receipt is distinct from media.origin, which attests media content origin and rights evidence, not human production conditions; they must never be merged or aliased."
        },
        "origin_claim_type": {
          "type": "string",
          "enum": [
            "human_conditioned_process",
            "expert_review",
            "dataset_provenance"
          ]
        }
      }
    }
  }
}
