{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A signing key for claim attestations. It effectively hosts a JWK on a user's ATProto repo.",
      "key": "any",
      "record": {
        "properties": {
          "comment": {
            "description": "Optional comment or description.",
            "maxGraphemes": 512,
            "type": "string"
          },
          "publicJwk": {
            "description": "JWK public key as a JSON string (RFC 7517 format)",
            "maxLength": 512,
            "type": "string"
          },
          "validFrom": {
            "description": "Datetime from which this key is valid (ISO 8601).",
            "format": "datetime",
            "type": "string"
          },
          "validUntil": {
            "description": "Datetime until which this key is valid (ISO 8601).",
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "publicJwk",
          "validFrom",
          "validUntil"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "dev.keytrace.serverPublicKey",
  "lexicon": 1
}
