LAKA Security Program
security-program 8 required 9 properties
Required properties
- version
- program_id
- client_id
- objectives
- assets
- profiles
- rules
- feedback_loops
The schema in full
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://bowtiekreative.example/schemas/laka-security/security-program.schema.json",
"title": "LAKA Security Program",
"type": "object",
"additionalProperties": false,
"required": [
"version",
"program_id",
"client_id",
"objectives",
"assets",
"profiles",
"rules",
"feedback_loops"
],
"properties": {
"version": {
"type": "string"
},
"program_id": {
"type": "string",
"minLength": 3
},
"client_id": {
"type": "string",
"minLength": 1
},
"owner": {
"type": "string"
},
"objectives": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"assets": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": true,
"required": [
"asset_id",
"kind",
"environment",
"criticality",
"owner"
],
"properties": {
"asset_id": {
"type": "string"
},
"kind": {
"type": "string"
},
"environment": {
"type": "string"
},
"criticality": {
"type": "integer",
"minimum": 1,
"maximum": 5
},
"owner": {
"type": "string"
},
"classification": {
"type": "string"
},
"internet_exposed": {
"type": "boolean"
},
"dependencies": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"profiles": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": [
"profile",
"applies_to"
],
"properties": {
"profile": {
"type": "string"
},
"applies_to": {
"type": "array",
"items": {
"type": "string"
}
},
"target_level": {
"type": "string"
}
}
}
},
"rules": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": [
"rule_id",
"if",
"then",
"else"
],
"properties": {
"rule_id": {
"type": "string"
},
"if": {
"type": "array",
"items": {
"type": "string"
}
},
"then": {
"type": "array",
"items": {
"type": "string"
}
},
"else": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"feedback_loops": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": [
"trigger",
"action"
],
"properties": {
"trigger": {
"type": "string"
},
"action": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
}
Validate against it
curl -X POST https://security.bowtiekreative.com/v1/validate \
-H 'content-type: application/json' \
--data '{"schema": "security-program", "document": { … }}'