{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Customer-Facing Incident Report","description":"Customer-facing incident / post-mortem report delivered by a vendor to an affected customer. Distinct from internal security-incident documentation: this is the communication the customer receives with incident identification, severity, detection/resolution timestamps, customer-visible impact, root cause, event-level timeline, corrective and preventive actions, and any service credits. Format follows the ICS / ITIL v4 post-incident review vocabulary.","type":"object","additionalProperties":false,"required":["vendor","customer","incident_id","severity","detected_on","resolved_on","duration","impact_on_customer","root_cause","timeline","corrective_actions","preventive_actions","signatory"],"properties":{"vendor":{"type":"object","additionalProperties":false,"required":["name","address","contact_email"],"properties":{"name":{"type":"string"},"address":{"type":"string"},"contact_email":{"type":"string","format":"email"}}},"customer":{"type":"object","additionalProperties":false,"required":["name","account_id"],"properties":{"name":{"type":"string"},"account_id":{"type":"string"}}},"incident_id":{"type":"string","minLength":1},"severity":{"enum":["S1","S2","S3","S4"]},"detected_on":{"type":"string","format":"date-time"},"resolved_on":{"type":"string","format":"date-time"},"duration":{"type":"string","description":"Human-readable duration, e.g. '3h 52m'."},"impact_on_customer":{"type":"string","minLength":1,"description":"Plain-language description of what the customer actually experienced."},"root_cause":{"type":"string","minLength":1,"description":"Prose RCA (what happened, why it happened, contributing factors)."},"timeline":{"type":"array","minItems":2,"items":{"type":"object","additionalProperties":false,"required":["timestamp","event"],"properties":{"timestamp":{"type":"string","format":"date-time"},"event":{"type":"string"}}}},"corrective_actions":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}},"preventive_actions":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}},"service_credits_optional":{"type":"object","additionalProperties":false,"required":["amount","currency"],"properties":{"amount":{"type":"number","minimum":0},"currency":{"type":"string","minLength":3,"maxLength":3}}},"signatory":{"type":"object","additionalProperties":false,"required":["name","title","date"],"properties":{"name":{"type":"string"},"title":{"type":"string"},"date":{"type":"string","format":"date"}}}}}