{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://trust.trustswiftly.com/schemas/availability.schema.json",
  "title": "Trust Swiftly Availability Source",
  "description": "Pointer to the independently hosted, automatically updated live status service, plus the FedRAMP Reportable Incident communication path. The status page is the authoritative source for current service availability; this trust center deliberately publishes no point-in-time status snapshot, so a dated page can never contradict the live source. FedRAMP Reportable Incident notices are deliberately NOT published here — see incidentCommunication.",
  "type": "object",
  "required": ["updatedAt", "statusPage", "incidentCommunication"],
  "additionalProperties": false,
  "properties": {
    "updatedAt": { "type": "string" },
    "statusPage": {
      "type": "object",
      "required": ["url", "label", "provider", "updateMethod"],
      "additionalProperties": false,
      "properties": {
        "url": { "type": "string", "format": "uri" },
        "label": { "type": "string" },
        "provider": { "type": "string" },
        "updateMethod": { "const": "automated" }
      }
    },
    "note": { "type": "string" },
    "incidentCommunication": {
      "type": "object",
      "description": "How FedRAMP Reportable Incidents are communicated. Recipients are 'all affected parties' / 'all necessary parties' as FedRAMP defines them (FedRAMP plus affected agency customers), and notification must be made 'responsibly' — IEC-CSO-IIR / IEC-CSO-OIR / IEC-CSO-FIR, reinforced by CDS-CSO-RIS. The general public is not a defined recipient, and incident report content is exactly the sensitive detail those rules tell providers not to broadcast. This object states the mechanism only; it must never carry an incident instance, a count, a status, or a review date.",
      "required": ["heading", "summary", "channel", "publicScope"],
      "additionalProperties": false,
      "properties": {
        "heading": { "type": "string" },
        "summary": { "type": "string" },
        "channel": {
          "type": "object",
          "required": ["label", "url", "description"],
          "additionalProperties": false,
          "properties": {
            "label": { "type": "string" },
            "url": { "type": "string", "format": "uri" },
            "description": { "type": "string" }
          }
        },
        "publicScope": { "type": "string" }
      }
    }
  }
}
