{
  "$defs": {
    "LeakIncident": {
      "additionalProperties": false,
      "properties": {
        "incident_id": {
          "pattern": "^[a-z0-9][a-z0-9_-]{0,63}$",
          "title": "Incident Id",
          "type": "string"
        },
        "organization": {
          "maxLength": 240,
          "minLength": 1,
          "title": "Organization",
          "type": "string"
        },
        "organization_domain": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Organization Domain"
        },
        "title": {
          "maxLength": 240,
          "minLength": 1,
          "title": "Title",
          "type": "string"
        },
        "summary": {
          "maxLength": 600,
          "minLength": 1,
          "title": "Summary",
          "type": "string"
        },
        "data_categories": {
          "items": {
            "maxLength": 500,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 12,
          "title": "Data Categories",
          "type": "array"
        },
        "data_volume": {
          "anyOf": [
            {
              "maxLength": 500,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Source-reported scope and units; not a normalized victim count.",
          "title": "Data Volume"
        },
        "exposure_status": {
          "anyOf": [
            {
              "maxLength": 500,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Reported exfiltration/publication state, including uncertainty.",
          "title": "Exposure Status"
        },
        "attribution": {
          "anyOf": [
            {
              "maxLength": 500,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Who attributes the incident to an actor, or that attribution is unknown.",
          "title": "Attribution"
        },
        "japan_basis": {
          "enum": [
            "japan_organization",
            "japan_subsidiary",
            "japan_affected",
            "japan_group_presence"
          ],
          "title": "Japan Basis",
          "type": "string"
        },
        "japan_evidence_url": {
          "title": "Japan Evidence Url",
          "type": "string"
        },
        "status": {
          "enum": [
            "organization_confirmed",
            "possible",
            "reported",
            "unverified_claim",
            "denied"
          ],
          "title": "Status",
          "type": "string"
        },
        "published_on": {
          "pattern": "^\\d{4}-\\d\\d-\\d\\d$",
          "title": "Published On",
          "type": "string"
        },
        "occurred_on": {
          "anyOf": [
            {
              "pattern": "^\\d{4}-\\d\\d-\\d\\d$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Occurred On"
        },
        "checked_at": {
          "pattern": "^\\d{4}-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\dZ$",
          "title": "Checked At",
          "type": "string"
        },
        "sources": {
          "items": {
            "$ref": "#/$defs/LeakSource"
          },
          "maxItems": 8,
          "minItems": 1,
          "title": "Sources",
          "type": "array"
        },
        "limitations": {
          "items": {
            "maxLength": 500,
            "minLength": 1,
            "type": "string"
          },
          "maxItems": 5,
          "minItems": 1,
          "title": "Limitations",
          "type": "array"
        },
        "withdrawn": {
          "default": false,
          "title": "Withdrawn",
          "type": "boolean"
        }
      },
      "required": [
        "incident_id",
        "organization",
        "title",
        "summary",
        "japan_basis",
        "japan_evidence_url",
        "status",
        "published_on",
        "checked_at",
        "sources",
        "limitations"
      ],
      "title": "LeakIncident",
      "type": "object"
    },
    "LeakSource": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "enum": [
            "official",
            "reporting",
            "claim"
          ],
          "title": "Kind",
          "type": "string"
        },
        "publisher": {
          "maxLength": 240,
          "minLength": 1,
          "title": "Publisher",
          "type": "string"
        },
        "title": {
          "maxLength": 240,
          "minLength": 1,
          "title": "Title",
          "type": "string"
        },
        "url": {
          "title": "Url",
          "type": "string"
        },
        "archive_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Archive Url"
        },
        "published_on": {
          "anyOf": [
            {
              "pattern": "^\\d{4}-\\d\\d-\\d\\d$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Published On"
        },
        "supports": {
          "maxLength": 500,
          "minLength": 1,
          "title": "Supports",
          "type": "string"
        },
        "access": {
          "enum": [
            "page",
            "archived_page",
            "search_excerpt"
          ],
          "title": "Access",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "publisher",
        "title",
        "url",
        "supports",
        "access"
      ],
      "title": "LeakSource",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "schema_version": {
      "default": 2,
      "enum": [
        1,
        2
      ],
      "title": "Schema Version",
      "type": "integer"
    },
    "entries": {
      "items": {
        "$ref": "#/$defs/LeakIncident"
      },
      "maxItems": 1000,
      "title": "Entries",
      "type": "array"
    }
  },
  "title": "LeakCatalog",
  "type": "object"
}
