{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://hai.ai/schemas/components/signature/v1/signature.schema.json", "title": "Signature", "description": "Cryptographic signature to be embedded in other documents. Signature may be validated with registrar.", "type": "object", "properties": { "agentID": { "description": "The id of agent that produced signature", "hai": "agent", "type": "string", "format": "uuid" }, "agentVersion": { "description": " Version of the agent", "hai": "meta", "type": "string", "format": "uuid" }, "date": { "description": "Date ", "hai": "meta", "format": "date-time", "type": "string" }, "signature": { "description": "The actual signature, made from the docid, ", "hai": "base", "type": "string" }, "publicKeyHash": { "description": "Hash of the public key to verify signature with.", "hai": "meta", "type": "string" }, "signingAlgorithm": { "description": "What signature algorithm was used", "hai": "base", "type": "string", "enum": [ "RSA-PSS", "ring-Ed25519", "pq-dilithium" ] }, "response": { "type": "string", "description": "When prompting an agent, is there text provided with the agreement?", "hai": "agent" }, "responseType": { "type": "string", "description": "Optional way to track disagreement, or agreement. Reject means question not understood or considered relevant. ", "hai": "agent", "enum": [ "agree", "disagree", "reject" ] }, "fields": { "type": "array", "description": "fields fields from document which were used to generate signature.", "hai": "base", "items": { "type": "string" } } }, "additionalProperties": false, "required": [ "agentID", "agentVersion", "signature", "date", "publicKeyHash", "fields" ] }