{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A public statement signed by one of the user's own published public keys (dev.keytrace.userPublicKey).",
      "key": "tid",
      "record": {
        "properties": {
          "content": {
            "description": "The statement text that was signed.",
            "maxGraphemes": 10000,
            "maxLength": 10000,
            "type": "string"
          },
          "createdAt": {
            "description": "Datetime when this statement was created (ISO 8601).",
            "format": "datetime",
            "type": "string"
          },
          "keyRef": {
            "description": "AT URI of the dev.keytrace.userPublicKey record whose private key produced this signature (e.g., at://did:plc:xxx/dev.keytrace.userPublicKey/3k4...)",
            "format": "at-uri",
            "type": "string"
          },
          "retractedAt": {
            "description": "Datetime when this statement was retracted. Present only if the statement has been retracted (ISO 8601).",
            "format": "datetime",
            "type": "string"
          },
          "sig": {
            "description": "Cryptographic signature of the content field, produced by the key referenced in keyRef (PGP cleartext or detached, base64-encoded binary signature).",
            "type": "string"
          },
          "subject": {
            "description": "Optional short subject or title for the statement.",
            "maxGraphemes": 256,
            "type": "string"
          }
        },
        "required": [
          "content",
          "keyRef",
          "sig",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "dev.keytrace.statement",
  "lexicon": 1
}
