Bow Tie Kreative SECURITY Grammar

JSON Schemas

LAKA Security Control Profile

control-profile 5 required 7 properties

Required properties

  • profile_id
  • version
  • title
  • applies_to
  • controls

The schema in full

schemas/control-profile.schema.json · draft 2020-12
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://bowtiekreative.example/schemas/laka-security/control-profile.schema.json",
  "title": "LAKA Security Control Profile",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "profile_id",
    "version",
    "title",
    "applies_to",
    "controls"
  ],
  "properties": {
    "profile_id": {
      "type": "string"
    },
    "version": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "applies_to": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "references": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "controls": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "control_id",
          "objective",
          "change_level",
          "desired_state",
          "verification",
          "failure_mode"
        ],
        "properties": {
          "control_id": {
            "type": "string"
          },
          "objective": {
            "type": "string"
          },
          "change_level": {
            "enum": [
              "baseline",
              "minor",
              "major",
              "structural",
              "paradigm"
            ]
          },
          "desired_state": {},
          "verification": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "evidence_freshness": {
            "type": "string"
          },
          "frequency": {
            "type": "string"
          },
          "owner": {
            "type": "string"
          },
          "failure_mode": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "mappings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    }
  }
}

Validate against it

curl -X POST https://security.bowtiekreative.com/v1/validate \
  -H 'content-type: application/json' \
  --data '{"schema": "control-profile", "document": { … }}'

This schema as JSON →