{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://heartcortex.ai/schemas/1.0/security.schema.json",
  "title": "security",
  "type": "object",
  "required": [],
  "properties": {
    "certificateExpiresAt": {
      "$ref": "common.schema.json#/$defs/timestamp",
      "x-heart-privacy": "internal"
    },
    "keyVersion": {
      "type": "string",
      "x-heart-privacy": "internal"
    },
    "secureBoot": {
      "type": "boolean",
      "x-heart-privacy": "internal"
    },
    "lastRotation": {
      "$ref": "common.schema.json#/$defs/timestamp",
      "x-heart-privacy": "internal"
    },
    "attestation": {
      "description": "RATS evidence or attestation result.",
      "type": "string",
      "x-heart-privacy": "internal"
    },
    "identity": {
      "description": "The identity key (API Standard 10.1). During a rotation's 7 days, also the key it replaced and when that key stops being served.",
      "type": "object",
      "properties": {
        "kid": {
          "type": "string"
        },
        "thumbprint": {
          "type": "string"
        },
        "previousThumbprint": {
          "type": "string"
        },
        "overlapUntil": {
          "$ref": "common.schema.json#/$defs/timestamp"
        }
      },
      "x-heart-privacy": "internal"
    },
    "owner": {
      "description": "The owner's authority recorded at claim or transfer: the thumbprint of the owner's key and its token issuer (13.2 rule 8).",
      "type": "object",
      "properties": {
        "thumbprint": {
          "type": "string"
        },
        "issuer": {
          "type": "string"
        },
        "claimedAt": {
          "$ref": "common.schema.json#/$defs/timestamp"
        }
      },
      "x-heart-privacy": "internal"
    },
    "claimable": {
      "description": "True while the system has no owner and takes a claim.",
      "type": "boolean",
      "x-heart-privacy": "internal"
    },
    "tls": {
      "description": "True if the system serves TLS off its local interface.",
      "type": "boolean",
      "x-heart-privacy": "internal"
    },
    "presenceMethods": {
      "description": "How many presence methods are enrolled.",
      "type": "integer",
      "minimum": 0,
      "x-heart-privacy": "internal"
    },
    "updateKeys": {
      "description": "How many keys may sign an update.",
      "type": "integer",
      "minimum": 0,
      "x-heart-privacy": "internal"
    },
    "auditEntries": {
      "description": "How many audit entries are kept now.",
      "type": "integer",
      "minimum": 0,
      "x-heart-privacy": "internal"
    },
    "ext": {
      "$ref": "common.schema.json#/$defs/ext",
      "x-heart-privacy": "private"
    }
  }
}
