{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://xn--82czbx2bczd4fl8a.online/agent-reputation/vouch-schema.json",
  "title": "Signed Vouch Assertion (JWT payload)",
  "type": "object",
  "required": [
    "iss",
    "sub",
    "iat",
    "vouchType",
    "weight"
  ],
  "properties": {
    "iss": {
      "type": "string",
      "format": "uri",
      "description": "Issuer of the vouch (organization URL)"
    },
    "sub": {
      "type": "string",
      "format": "uri",
      "description": "Subject being vouched for"
    },
    "iat": {
      "type": "integer",
      "description": "Issued at (unix seconds)"
    },
    "exp": {
      "type": "integer",
      "description": "Expiration (unix seconds, optional)"
    },
    "vouchType": {
      "type": "string",
      "enum": [
        "credential",
        "authorization",
        "certification",
        "reliability",
        "mcpListing",
        "sourceQuality"
      ]
    },
    "weight": {
      "type": "number",
      "minimum": 0,
      "maximum": 1
    },
    "scope": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "proof": {
      "type": "string",
      "description": "JWS compact serialization"
    }
  }
}