Domino Governance policy components

Policies can be managed in the Governance Console.

Once a policy is published, it becomes immutable, ensuring the lineage between a Governed Bundle and the approved policy can be maintained.

To complete these tasks, you’ll need to be assigned the GovernanceAdmin role. CloudAdmins and SysAdmins already have permissions associated with Domino Governance.

Define Policies with YAML

This document explains the YAML configuration structure that defines various input fields, policy scripted checks, metadata, and guidance elements.

Structure overview

The YAML configuration consists of a list of items, each representing a different element in the user interface or system configuration. The details section contains specific properties for each artifact type.

Stages

A stage contains a group of evidence and approvals. Direct evidence is grouped as an evidence set, and approvals are grouped as approvals. Each approval includes a name, a list of approvers, and optionally, evidence.

yaml
stages:
  - name: stage1
  - name: stage2

Evidence and evidence sets

Evidence includes inputs, approvals, and checks that should be gathered as part of the governance process within a given stage. Evidence sets represent logical groupings of evidence and can also be reused in other policies if needed. Local evidence should have the full definition included when appearing for the first time in the policy. It can later be referenced by id when using it in the YAML file.

yaml
evidenceSet:
  - id: Local.sample
    name: sample local evidence
    description: Describe the sample local evidence
    definition: Define the evidence

Metrics checks

Model Metrics are sets of policy-defined metrics used for automated pre-approval checks. Each set follows a shared baseline structure and can be extended with additional metrics. Fields include aliases for detection, threshold operators (e.g., >, <), and expected values—helping reduce manual review for governance administrators.

yaml
metrics:
- id: Local.model-quality
  name: Model Quality
  description: Describe the model quality
  definition:
    - artifactType: metadata
      details:
      type: modelmetric
      metrics:
        - name: Acc
          label: Accuracy
          aliases:
            - acc
            - Correct Classification Rate
            - Percentage Correct
          threshold:
            operator: '>='
            value: 0.8

Scripted checks

Scripted Checks use centralized, policy-defined scripts to evaluate Governed Bundles, for example, to measure dataset bias. Defined in the policy YAML, these scripts run in a specified environment and attach output files to the evidence notebook. This supports standardized, auditable validation across projects.

yaml
    - artifactType: policyScriptedCheck
      details:
        name: Ethic and Fairness Evaluation
        label: Ethic and Fairness Evaluation
        command: evaluate_model.py create --model-hub ${model_hub} --model-name ${model_name}
        parameters:
          - name: model_hub
            type: text
            default: openai
          - name: model_name
            type: text
            default: gpt-4
            outputTypes:
              - txt
              - png
            environmentId: 674f04e2191e8f19a5d12552   # 6.0 default environment on se-demo
              hardwareTierId: small-k8s
              volumeSizeGiB: 4
    - artifactType: metadata
      details:
        label: Upload model validation report.
        type: file

Input Artifacts

Input artifacts represent various form elements for user input.

Radio buttons

Defines a set of radio buttons with a list of choices, each with a label (displayed text) and value (submitted data).

yaml
- artifactType: input
  details:
    type: radio
    label: "How would you rate the model risk?"
    options:
      - label: "High"
        value: "High"
      - label: "Medium"
        value: "Medium"
      - label: "Low"
        value: "Low"
    tooltip: "Guidance text"

Text input

Defines a text field for user input, used to collect written responses or descriptions.

yaml
- artifactType: input
  details:
    type: textinput
    label: "What are the expected business benefits?"
    placeholder: "Explain the benefit"
    helpText: "The text under the input box to help the user"

Text area

Defines a multi-line text input field.

yaml
- artifactType: input
  details:
    type: textarea
    label: "What are the expected business benefits?"
    height: 10
    placeholder: "Explain the benefit"
    helpText: "The text under the input box to help the user"

Select dropdown

Defines a dropdown selection field.

yaml
- artifactType: input
  details:
    type: select
    label: "Please select the base model template."
    options:
      - label: "base model1"
        value: "baseModel1"
      - label: "base model2"
        value: "baseModel2"

Multi-select

Defines a multi-select dropdown field and allows selection of multiple options.

yaml
- artifactType: input
  details:
    type: multiSelect
    label: "Please select the data sets used in the model."
    options:
      - label: "data set1"
        value: "dataset1"
      - label: "data set2"
        value: "dataset2"
      - label: "data set3"
        value: "dataset3"

Checkbox group

Defines a group of checkboxes and allows selection of multiple options.

yaml
- artifactType: input
  details:
    type: checkbox
    label: "Please select the departments that will use the model?"
    options:
      - label: "Sales"
        value: "DEPT001"
      - label: "Customer Success"
        value: "DEPT002"

Date input

Defines a date field with a start date and customizable format (e.g., YYYYMMDD, ISO8601).

yaml
- artifactType: input
  details:
    type: date
    label: "What is the scheduled release date?"
    startDate: 20240612
    format: ISO8601

Numeric input

Defines a numeric field with optional minimum and maximum values to constrain the input range.

yaml
- artifactType: input
  details:
    type: numeric
    label: "What is the allowed F score for the model to be deployed?"
    min: 0
    max: 1

Guidance artifacts

Provide users with informational content using textblock type, which displays Markdown-formatted text.

yaml
- artifactType: guidance
  details:
    type: textblock
    text: >-
      [Map 1.4](https://ournistpolicyreferenceurl.com) The business value or
      context of business use has been clearly defined or - in the case of
      assessing existing AI systems - re-evaluated

Display prominent text banners to provide important notices or key information to users.

yaml
- artifactType: guidance
  details:
    type: banner
    text: >-
      [Map 1.4](https://ournistpolicyreferenceurl.com) The business value or
      context of business use has been clearly defined or - in the case of
      assessing existing AI systems - re-evaluated

Approvals

Approvals are defined under stages. Each approval is defined with a name, a group of specified approvers, and evidence. Approvers must be Domino users or organizations and are specified by the user’s or organization’s name.

yaml
- name: 'Stage 4: validation sign off'
  approvers:
    - model-gov-org
  evidence:
    id: Local.validation-approval-body
    name: Sign-off
    description: The checklist for approvals
    definition:
      - artifactType: input
        details:
          label: "Have you read the model validation reports?"
          type: radio
          options:
            - Yes
            - No

Classification

A top-level policy variable used to assign risk tiers (e.g., low, medium, high) to a Governed Bundle, with support for tooltips, rules, and artifact-based references.

yaml
classification:
  rule:
  artifacts:
    - model-risk

stages:
  - name: classificationExample
      - id: Local.model-risk
        name: Model Risk
        description: Describe the risk of the model
        definition:
          - artifactType: input
            aliasForClassification: model-risk
            details:
              label: "How would you rate the model risk?"
              type: radio
              options:
                - High
                - Low
              tooltip: guidance on how to rate the model risk within the organization

Classification rule

Classification rules allow the construction of complex operations based on the outcome of multiple pieces of evidence.

func() string {
    var sum float64
    for _, value := range inputs {
        sum += value
    }
    if sum >= 1 {
        return "High"
    }
    return "Low"
}()

Visibility Rules

Control whether specific evidence sets are shown, based on conditions like risk classification (e.g., only display for high-risk bundles).

yaml
evidenceSet:
- id: Global.type-of-development
    visibilityRule: inputs=="High"