Control
A control: a check on how an evaluation is done, which a framework sets, such as "a person approves each decision" or "measurements use a Class 1 meter". A mitigation is not a control: a barrier is a Structure, and a site's own limit is a criterion of its Permit.
https://opendevelopmentstandards.org/schema/1.0.0-rc.2/core/Control.json
Fields
idtextnot emptyThe record's id: unique within the document.
nameRequiredtextThe name people use for the record.
descriptiontextWhat the record is, in words.
citationThe part of the published framework that sets the control.
typeRequiredOne ofthe codes belowWhat the control governs.
oversight- Who or what may make or change a decision: the level of automation, the people who must approve, and how decisions escalate.
flow_governance- Which flows or methods may, may not or must run.
precondition- What must hold before a decision or a flow can go on, such as data, evidence or timing.
audit- What must be recorded, kept, justified or reviewed.
regulatory- Alignment with an external standard, directive or law, and its version.
custom- A control outside these types. `parameters` says what it needs.
parametersobject with any keysWhat the control needs, such as the roles that must approve.
Links
Held by Records that embed this one, with their field that holds it.
Pointed at by Records that hold this one's id, with their field that holds it.
- CriterionPartcontrolsOne rule that must be checked. It compares a metric, summed up by a statistic over a period, with a limit, for the features it applies to.
- StepPartcontrolOne unit of work in a flow, such as a calculation, a question, a decision or a run of an algorithm. A sealed step names its inputs, its outputs and the algorithm it claims to follow, but not how it works.
- TraceEntitycontrolsWhat one run of a flow or an algorithm did: what it used, each step, what it made, and the verdict. Its terms follow W3C PROV where they map: agents (prov:wasAssociatedWith), inputs (prov:used), outputs (prov:generated).
Examples
An id that another example defines opens that record.
Example 2
{
"id": "control-approval",
"name": "Engineer approval",
"type": "oversight",
"description": "An acoustical engineer approves each verdict before release.",
"parameters": {
"roles": [
"acoustical_engineer"
]
}
}Show 1 more exampleHide the other example
Example 1
{
"id": "control-1",
"name": "Approval",
"type": "oversight"
}Changes and file
Changes
- 0.1.0 First version.
Schema file
Show the JSON SchemaHide the JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://opendevelopmentstandards.org/schema/1.0.0-rc.2/core/Control.json",
"title": "Control",
"description": "A control: a check on how an evaluation is done, which a framework sets, such as \"a person approves each decision\" or \"measurements use a Class 1 meter\". A mitigation is not a control: a barrier is a Structure, and a site's own limit is a criterion of its Permit.",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "The record's id: unique within the document."
},
"name": {
"type": "string",
"description": "The name people use for the record."
},
"description": {
"type": "string",
"description": "What the record is, in words."
},
"citation": {
"$ref": "Citation.json",
"description": "The part of the published framework that sets the control."
},
"type": {
"type": "string",
"enum": [
"oversight",
"flow_governance",
"precondition",
"audit",
"regulatory",
"custom"
],
"description": "What the control governs.",
"x-ods-options": [
{
"value": "oversight",
"title": "Oversight",
"description": "Who or what may make or change a decision: the level of automation, the people who must approve, and how decisions escalate."
},
{
"value": "flow_governance",
"title": "Flow governance",
"description": "Which flows or methods may, may not or must run."
},
{
"value": "precondition",
"title": "Precondition",
"description": "What must hold before a decision or a flow can go on, such as data, evidence or timing."
},
{
"value": "audit",
"title": "Audit",
"description": "What must be recorded, kept, justified or reviewed."
},
{
"value": "regulatory",
"title": "Regulatory",
"description": "Alignment with an external standard, directive or law, and its version."
},
{
"value": "custom",
"title": "Custom",
"description": "A control outside these types. `parameters` says what it needs."
}
]
},
"parameters": {
"type": "object",
"x-ods-open": true,
"description": "What the control needs, such as the roles that must approve."
}
},
"required": [
"name",
"type"
],
"patternProperties": {
"^x-": {}
},
"unevaluatedProperties": false,
"examples": [
{
"id": "control-1",
"name": "Approval",
"type": "oversight"
},
{
"id": "control-approval",
"name": "Engineer approval",
"type": "oversight",
"description": "An acoustical engineer approves each verdict before release.",
"parameters": {
"roles": [
"acoustical_engineer"
]
}
}
],
"x-ods-status": "draft",
"x-ods-kind": "part",
"x-ods-module": "core",
"x-ods-changes": {
"0.1.0": "First version."
}
}