Control

PartDraftv1.0.0-rc.2

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

  • id
    textnot empty

    The record's id: unique within the document.

  • nameRequired
    text

    The name people use for the record.

  • description
    text

    What the record is, in words.

  • citation

    The part of the published framework that sets the control.

  • typeRequired
    One ofthe codes below

    What 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.
  • parameters
    object with any keys

    What the control needs, such as the roles that must approve.

Links

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 example

Example 1

{
  "id": "control-1",
  "name": "Approval",
  "type": "oversight"
}

Changes and file

Changes

  1. 0.1.0 First version.

Schema file

Show 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."
  }
}