{
  "schemaVersion": "artifactDefinition.v2",
  "definitionId": "ICL.artifactDefinition.v2",
  "artifactId": "ICL",
  "title": "ISMS Communication Log",
  "artifactType": "Log",
  "format": "xlsx",
  "productTier": "Premium",
  "definitionRole": "contract",
  "sourceModel": {
    "body": "canonical human-readable register maintained in the Artifact Candidate page",
    "jsonDefinition": "machine-readable contract and validation model",
    "jsonExample": "curated realistic example data fixture"
  },
  "purpose": "Define the required structure for recording completed ISMS communications, audiences, message owners, channels, dates, acknowledgements, evidence links and follow-up actions.",
  "sections": [
    {
      "order": 1,
      "id": "title_page",
      "title": "Title Page",
      "contentType": "metadata",
      "required": true,
      "hint": null
    },
    {
      "order": 2,
      "id": "abstract",
      "title": "Abstract",
      "contentType": "narrative",
      "required": true,
      "hint": {
        "text": "Use ICL as evidence that required ISMS messages reached the right audience and were acknowledged where needed.",
        "bookReference": "Volume 1, S-00-01-00 Context of the Organization (Clause 4"
      }
    },
    {
      "order": 3,
      "id": "document_control",
      "title": "Document Control",
      "contentType": "control_table",
      "required": true,
      "hint": null
    },
    {
      "order": 4,
      "id": "instructions",
      "title": "Instructions",
      "contentType": "ordered_list",
      "required": true,
      "hint": {
        "text": "Record the actual communication event, not only the communication plan; keep proof of sending and acknowledgement.",
        "bookReference": "Volume 1, S-00-01-00 Context of the Organization (Clause 4"
      },
      "intro": "Complete the Working sheets using the example tabs as a model. Follow the workbook usage rules below."
    },
    {
      "order": 5,
      "id": "isms_communication_log",
      "title": "ISMS communication log",
      "contentType": "register_table",
      "required": true,
      "minimumExampleRows": 6,
      "columns": [
        {
          "name": "Communication ID",
          "type": "text",
          "required": "yes",
          "description": "Unique communication record.",
          "example": "ICL-001"
        },
        {
          "name": "Date",
          "type": "date",
          "required": "yes",
          "description": "Communication date.",
          "example": "2026-08-01"
        },
        {
          "name": "Topic",
          "type": "text",
          "required": "yes",
          "description": "Topic communicated.",
          "example": "Policy publication"
        },
        {
          "name": "Message Owner",
          "type": "text",
          "required": "yes",
          "description": "Owner of the message.",
          "example": "ISMS Manager"
        },
        {
          "name": "Audience",
          "type": "text",
          "required": "yes",
          "description": "Target audience.",
          "example": "All employees"
        },
        {
          "name": "Channel",
          "type": "text",
          "required": "yes",
          "description": "Communication channel.",
          "example": "Email and intranet"
        },
        {
          "name": "Purpose",
          "type": "text",
          "required": "yes",
          "description": "Why communication was needed.",
          "example": "Communicate obligations"
        },
        {
          "name": "Canonical Link",
          "type": "text",
          "required": "yes",
          "description": "Link or reference to official source.",
          "example": "ISP-001"
        },
        {
          "name": "Acknowledgement Required",
          "type": "boolean",
          "required": "yes",
          "description": "Whether acknowledgement is required.",
          "example": "Yes",
          "valueSet": "std.boolean",
          "options": [
            "Yes",
            "No"
          ],
          "validation": {
            "allowBlank": false,
            "errorTitle": "Invalid value",
            "error": "Select Yes or No."
          }
        },
        {
          "name": "Acknowledgement Status",
          "type": "text",
          "required": "yes",
          "description": "Completion status.",
          "example": "98% complete"
        },
        {
          "name": "Completion Evidence",
          "type": "text",
          "required": "yes",
          "description": "Evidence of sending or completion.",
          "example": "AUP-ACK-2026-Q3"
        },
        {
          "name": "Follow-up Action",
          "type": "text",
          "required": "no",
          "description": "Required follow-up.",
          "example": "Remind pending users"
        },
        {
          "name": "Status",
          "type": "select",
          "required": "yes",
          "description": "Open, in progress, completed or completed with follow-up.",
          "example": "Completed",
          "valueSet": "domain.status.generic",
          "options": [
            "Draft",
            "In Progress",
            "Under Review",
            "Approved",
            "Closed",
            "Deferred"
          ],
          "validation": {
            "allowBlank": false,
            "errorTitle": "Invalid value",
            "error": "Select a value from the list."
          }
        },
        {
          "name": "Next Review Date",
          "type": "date",
          "required": "yes",
          "description": "Next review date.",
          "example": "2026-09-15"
        },
        {
          "name": "Notes",
          "type": "text",
          "required": "no",
          "description": "Additional context.",
          "example": "Linked to awareness records."
        }
      ],
      "hint": {
        "text": "Every communication record should show who was informed, what was communicated, where the evidence lives and whether follow-up is required.",
        "bookReference": "Volume 1, S-00-01-00 Context of the Organization (Clause 4"
      }
    },
    {
      "order": 6,
      "id": "communication_log_review",
      "title": "Communication log review",
      "contentType": "decision_table",
      "required": true,
      "fields": [
        {
          "name": "Review result",
          "type": "select",
          "required": "yes",
          "valueSet": "domain.reviewResult",
          "options": [
            "Pass",
            "Pass with observations",
            "Fail",
            "Deferred"
          ],
          "validation": {
            "allowBlank": false,
            "errorTitle": "Invalid value",
            "error": "Select a value from the list."
          }
        },
        {
          "name": "Communications logged",
          "type": "text",
          "required": "yes"
        },
        {
          "name": "Acknowledgements pending",
          "type": "text",
          "required": "yes"
        },
        {
          "name": "Follow-up actions open",
          "type": "text",
          "required": "yes"
        },
        {
          "name": "Reviewed by",
          "type": "text",
          "required": "yes"
        },
        {
          "name": "Decision date",
          "type": "date",
          "required": "yes"
        },
        {
          "name": "Evidence reference",
          "type": "text",
          "required": "yes"
        }
      ],
      "hint": {
        "text": "Close with a review decision so missing acknowledgements or follow-up actions are not lost.",
        "bookReference": "Volume 1, S-00-01-00 Context of the Organization (Clause 4"
      }
    },
    {
      "order": 7,
      "id": "external_references",
      "title": "References",
      "contentType": "reference_table",
      "required": true
    }
  ],
  "validationRules": [
    "JSON Example must contain definitionRef pointing to ICL.artifactDefinition.v2.",
    "JSON Example register sections must contain schemaRef pointing to the matching definition section.",
    "Communication rows must include date, topic, owner, audience, channel, evidence and acknowledgement status.",
    "Body must render the contract schema and the example data.",
    "No standalone Book reference section and no generic Sample placeholders are allowed."
  ],
  "enrichment": {
    "source": "Contract.json",
    "method": "curated-json",
    "note": "Completes Contract JSON from MD-only schema/sections, removes duplicate alias sections, and normalizes string columns into structured column objects."
  },
  "editorialStandard": {
    "isoAnchors": [
      {
        "label": "ISO/IEC 27001:2022 7.4",
        "href": "https://www.iso.org/standard/82875.html",
        "role": "Normative source this artifact implements or cites."
      },
      {
        "label": "ISO/IEC 27001:2022 7.5",
        "href": "https://www.iso.org/standard/82875.html",
        "role": "Documented information: identify, review and cite this workbook by version."
      }
    ],
    "bookSources": [
      {
        "series": "ISO 27001 for Software Companies",
        "volume": 1,
        "volumeTitle": "Building the ISMS",
        "chapterId": "S-00-01-00",
        "chapterTitle": "Context of the Organization (Clause 4",
        "primary": true,
        "role": "Primary operating chapter for this companion artifact.",
        "href": "https://www.amazon.com/dp/9789908983448"
      },
      {
        "series": "ISO 27001 for Software Companies",
        "volume": 1,
        "volumeTitle": "Building the ISMS",
        "chapterId": "S-00-03-00",
        "chapterTitle": "Planning, Risk & Objectives (Clause 6)",
        "primary": false,
        "role": "Documented information, review and version discipline.",
        "href": "https://www.amazon.com/dp/9789908983448"
      }
    ],
    "acronyms": [
      {
        "abbr": "ISMS",
        "longForm": "Information Security Management System"
      },
      {
        "abbr": "SaaS",
        "longForm": "Software as a Service"
      },
      {
        "abbr": "CIA",
        "longForm": "Confidentiality, Integrity, and Availability"
      },
      {
        "abbr": "CI/CD",
        "longForm": "Continuous Integration / Continuous Delivery"
      },
      {
        "abbr": "CI",
        "longForm": "Continuous Integration"
      },
      {
        "abbr": "CD",
        "longForm": "Continuous Delivery"
      },
      {
        "abbr": "HR",
        "longForm": "Human Resources"
      },
      {
        "abbr": "IRP",
        "longForm": "Incident Response Plan"
      },
      {
        "abbr": "ISP",
        "longForm": "Information Security Policy"
      },
      {
        "abbr": "JSON",
        "longForm": "JavaScript Object Notation"
      },
      {
        "abbr": "SLA",
        "longForm": "Service Level Agreement"
      }
    ],
    "must": [
      "Keep one live row per record on Working sheets. Do not merge several cases into one row.",
      "Example sheets must contain realistic Arcfield rows for every required sheet. Empty required cells are not an example."
    ],
    "mustNot": [
      "Do not invent live rows in the renderer. Example data lives in the Example JSON.",
      "Do not treat Ex example tabs as working sheets. Do not put live data on system sheets."
    ],
    "softwareCompanyAdaptations": [
      "Use Arcfield as the worked example (cover variant A).",
      "Name SaaS, CI/CD, privileged access or supplier interfaces in example rows where they affect this register."
    ],
    "exampleWorkbook": {
      "workedExampleOrg": "Arcfield",
      "requiredSheets": [
        "isms_communication_log",
        "communication_log_review"
      ],
      "minExampleRows": 6,
      "coverFromExample": true
    }
  },
  "editorialContractId": "editorial.xlsx.register.v1",
  "contentContractId": "content.register.log.v1"
}
