{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "type": {
      "type": "array",
      "readOnly": true,
      "default": [
        "ConformityScheme"
      ],
      "items": {
        "type": "string"
      },
      "allOf": [
        {
          "contains": {
            "const": "ConformityScheme",
            "minContains": 1
          }
        }
      ]
    },
    "id": {
      "example": "https://sample-scheme.org/lrap",
      "type": "string",
      "format": "uri",
      "description": "Globally unique identifier of this conformity scheme. Typically represented as a URI SchemeOwner/SchemeName URI"
    },
    "name": {
      "example": "Labour rights assessment program",
      "type": "string",
      "description": "Name of this scheme as defined by the scheme owner."
    },
    "description": {
      "type": "string",
      "description": "Description of this conformity scheme"
    },
    "owner": {
      "type": "object",
      "properties": {
        "id": {
          "example": "https://sample-business-register.gov/123456789",
          "type": "string",
          "format": "uri",
          "description": "Globally unique identifier of this party. Typically represented as a URI identifierScheme/Identifier URI"
        },
        "name": {
          "example": "Sample Company Ltd",
          "type": "string",
          "description": "Legal registered name of this party."
        },
        "registeredId": {
          "example": 90664869327,
          "type": "string",
          "description": "The registration number (alphanumeric) of the Party within the register. Unique within the register."
        }
      },
      "required": [
        "id",
        "name"
      ],
      "description": "The party that is the owner / maintainer of this conformity scheme."
    },
    "endorsementLevel": {
      "type": "string",
      "enum": [
        "endorsed_self",
        "endorsed_mandate",
        "endorsed_accreditation",
        "endorsed_benchmarked"
      ],
      "example": "endorsed_self",
      "description": "The scheme assurance type."
    },
    "endorsement": {
      "$ref": "#/$defs/Endorsement",
      "description": "The endorsement provided to the scheme by an external authority such as a regulator, an accreditaiton authority, or a benchmarking scheme."
    },
    "schemeScoringFramework": {
      "$ref": "#/$defs/ScoringFramework",
      "description": "The scheme level overall scoring framework that represents the achievement levels (AA, A, B etc) that maybe be awarded to the subject of an independent assessment under the scheme."
    },
    "documentation": {
      "type": "string",
      "format": "uri",
      "description": "A web page providing full documentation of this scheme."
    },
    "licenseType": {
      "type": "string",
      "enum": [
        "proprietary-Code",
        "proprietary-Document",
        "permissive-OpenSource",
        "copyleft",
        "creative-Commons",
        "source-Available",
        "public"
      ],
      "example": "proprietary-Code",
      "description": "Descriptive name and URL link to the license conditions associated with this scheme."
    },
    "establishedDate": {
      "type": "string",
      "format": "date",
      "description": "The date when this scheme was first established.  "
    },
    "geographicScope": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Classification"
      },
      "description": "The geographic scope of this scheme as a list of ISO-3166 countries, regions, or code=001, name=Worldwide to indicate global coverage."
    },
    "industryScope": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Classification"
      },
      "description": "A list of UN ISIC code & name indicating the industry scope for this scheme.  "
    },
    "trustmark": {
      "$ref": "#/$defs/Image",
      "description": "The trust mark or seal used by this conformity scheme."
    },
    "conformsTo": {
      "type": "object",
      "properties": {
        "linkName": {
          "type": "string",
          "description": "Display name for this link."
        },
        "linkURL": {
          "example": "https://files.example-certifier.com/1234567.json",
          "type": "string",
          "format": "uri",
          "description": "The URL of the target resource.  "
        }
      },
      "required": [
        "linkName",
        "linkURL"
      ],
      "description": "The name and URI of the vocabulary standard (eg UNTP CVC) that the machine readable version of this sceme conforms to."
    },
    "includedProfile": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/ConformityProfile"
      },
      "description": "The list of versioned conformity profiles included in this scheme"
    }
  },
  "description": "A formal governance scheme under which an attestation is issued (eg ACRS structural steel certification) ",
  "required": [
    "id",
    "name",
    "owner",
    "endorsementLevel",
    "documentation"
  ],
  "$defs": {
    "Endorsement": {
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "type": {
          "type": "array",
          "readOnly": true,
          "default": [
            "Endorsement"
          ],
          "items": {
            "type": "string"
          },
          "allOf": [
            {
              "contains": {
                "const": "Endorsement",
                "minContains": 1
              }
            }
          ]
        },
        "name": {
          "example": "Accreditation of certifiers.com under the Australian National Greenhouse and Energy Reporting scheme (NGER).",
          "type": "string",
          "description": "The name of the accreditation."
        },
        "trustmark": {
          "$ref": "#/$defs/Image",
          "description": "The trust mark image awarded by the AB to the CAB to indicate accreditation."
        },
        "issuingAuthority": {
          "type": "object",
          "properties": {
            "id": {
              "example": "https://sample-business-register.gov/123456789",
              "type": "string",
              "format": "uri",
              "description": "Globally unique identifier of this party. Typically represented as a URI identifierScheme/Identifier URI"
            },
            "name": {
              "example": "Sample Company Ltd",
              "type": "string",
              "description": "Legal registered name of this party."
            },
            "registeredId": {
              "example": 90664869327,
              "type": "string",
              "description": "The registration number (alphanumeric) of the Party within the register. Unique within the register."
            }
          },
          "required": [
            "id",
            "name"
          ],
          "description": "The competent authority that issued the accreditation."
        },
        "endorsementEvidence": {
          "$ref": "#/$defs/Link",
          "description": "The evidence that supports the authority under which the attestation is issued - for an example an accreditation certificate."
        }
      },
      "description": "The authority under which a conformity claim is issued.  For example a national accreditation authority may authorise a test lab to issue test certificates about a product against a standard. ",
      "required": [
        "name",
        "issuingAuthority"
      ]
    },
    "Image": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "type": {
          "type": "array",
          "readOnly": true,
          "default": [
            "Image"
          ],
          "items": {
            "type": "string"
          },
          "allOf": [
            {
              "contains": {
                "const": "Image",
                "minContains": 1
              }
            }
          ]
        },
        "name": {
          "example": "certification trust mark",
          "type": "string",
          "description": "the display name for this image"
        },
        "description": {
          "type": "string",
          "description": "The detailed description / supporting information for this image."
        },
        "imageData": {
          "type": "string",
          "format": "byte",
          "description": "The image data encoded as a base64 string."
        },
        "mediaType": {
          "type": "string",
          "x-external-enumeration": "https://mimetype.io/",
          "description": "The media type of this image (eg image/png)\n\n    This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL:  https://mimetype.io/\n    "
        }
      },
      "description": "A binary image encoded as base64 text and embedded into the data.  Use this for small images like certification trust marks or regulated labels.  Large impages should be external links.",
      "required": [
        "name",
        "imageData",
        "mediaType"
      ]
    },
    "Link": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "type": {
          "type": "array",
          "readOnly": true,
          "default": [
            "Link"
          ],
          "items": {
            "type": "string"
          },
          "allOf": [
            {
              "contains": {
                "const": "Link",
                "minContains": 1
              }
            }
          ]
        },
        "linkURL": {
          "example": "https://files.example-certifier.com/1234567.json",
          "type": "string",
          "format": "uri",
          "description": "The URL of the target resource.  "
        },
        "linkName": {
          "type": "string",
          "description": "Display name for this link."
        },
        "digestMultibase": {
          "example": "abc123-example-digest-invalid",
          "type": "string",
          "description": "An optional multi-base encoded digest to ensure the content of the link has not changed. See https://www.w3.org/TR/vc-data-integrity/#resource-integrity for more information."
        },
        "mediaType": {
          "example": "application/ld+json",
          "type": "string",
          "description": "The media type of the target resource."
        },
        "linkType": {
          "example": "https://test.uncefact.org/vocabulary/linkTypes/dcc",
          "type": "string",
          "description": "The type of the target resource - drawn from a controlled vocabulary "
        }
      },
      "description": "A structure to provide a URL link plus metadata associated with the link.",
      "required": [
        "linkURL",
        "linkName"
      ]
    },
    "ScoringFramework": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "type": {
          "type": "array",
          "readOnly": true,
          "default": [
            "ScoringFramework"
          ],
          "items": {
            "type": "string"
          },
          "allOf": [
            {
              "contains": {
                "const": "ScoringFramework",
                "minContains": 1
              }
            }
          ]
        },
        "name": {
          "example": "Some name",
          "type": "string",
          "description": "A name for this scoring framework.  Must be unique within a scheme."
        },
        "description": {
          "type": "string",
          "description": "A full text description of the criterion that clearly specifies how compliance is achieved and measured. "
        },
        "score": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Score"
          },
          "description": "A list of scores and ranks associated with this scoring framework."
        }
      },
      "description": "A scoring framework used for performance level assessments against a criteria or scheme. For example forced labour performance might score A to D depending on the percentage of workforce subject to recruitment fees.",
      "required": [
        "name",
        "description",
        "score"
      ]
    },
    "Score": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "type": {
          "type": "array",
          "readOnly": true,
          "default": [
            "Score"
          ],
          "items": {
            "type": "string"
          },
          "allOf": [
            {
              "contains": {
                "const": "Score",
                "minContains": 1
              }
            }
          ]
        },
        "code": {
          "type": "string",
          "description": "The coded value for this score (eg \"AAA\")"
        },
        "rank": {
          "type": "integer",
          "description": "The ranking of this score within the scoring framework - using an integer where \"1\" is the highest rank."
        },
        "definition": {
          "type": "string",
          "description": "A description of the meaning of this score."
        }
      },
      "description": "A single score within a scoring framework. ",
      "required": [
        "code"
      ]
    },
    "Classification": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "type": {
          "type": "array",
          "readOnly": true,
          "default": [
            "Classification"
          ],
          "items": {
            "type": "string"
          },
          "allOf": [
            {
              "contains": {
                "const": "Classification",
                "minContains": 1
              }
            }
          ]
        },
        "code": {
          "example": 46410,
          "type": "string",
          "description": "classification code within the scheme"
        },
        "name": {
          "example": "Primary cells and primary batteries",
          "type": "string",
          "description": "Name of the classification represented by the code"
        },
        "definition": {
          "type": "string",
          "description": "A rich definition of this classification code."
        },
        "schemeId": {
          "example": "https://unstats.un.org/unsd/classifications/Econ/cpc/",
          "type": "string",
          "format": "uri",
          "description": "Classification scheme ID"
        },
        "schemeName": {
          "example": "UN Central Product Classification (CPC)",
          "type": "string",
          "description": "The name of the classification scheme"
        }
      },
      "description": "A classification scheme and code / name representing a category value for a product, entity, or facility.",
      "required": [
        "code",
        "name",
        "schemeId",
        "schemeName"
      ]
    },
    "ConformityProfile": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "type": {
          "type": "array",
          "readOnly": true,
          "default": [
            "ConformityProfile"
          ],
          "items": {
            "type": "string"
          },
          "allOf": [
            {
              "contains": {
                "const": "ConformityProfile",
                "minContains": 1
              }
            }
          ]
        },
        "id": {
          "example": "https://vocabulary.sample-scheme.org/profile/lrap/v1.0",
          "type": "string",
          "format": "uri",
          "description": "Globally unique identifier of this context specific conformity profile. Typically represented as a URI SchemeOwner/profileID URI"
        },
        "name": {
          "example": "Forced labour assessment criterion",
          "type": "string",
          "description": "Name of this conformity profile as defined by the scheme owner."
        },
        "description": {
          "type": "string",
          "description": "The description of this versioned and context specific conformity profile."
        },
        "version": {
          "example": "1.0.0",
          "type": "string",
          "description": "Version of this scheme following SemVer best practice (major.minor.patch). "
        },
        "validFrom": {
          "example": "2025-06-10",
          "type": "string",
          "format": "date",
          "description": "The data from which this scheme version is valid."
        },
        "status": {
          "type": "string",
          "enum": [
            "proposed",
            "active",
            "deprecated"
          ],
          "example": "proposed",
          "description": "The status of this conformity profile (draft, active, deprecated)"
        },
        "subjectType": {
          "type": "string",
          "enum": [
            "product",
            "facility",
            "organisation"
          ],
          "example": "product",
          "description": "The type of the subject of assessments made under this conformity profile (eg product, facility, organisation)"
        },
        "standardAlignment": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/StandardAlignment"
          },
          "description": "A list of voluntary standards referenced by this conformity profile and against which some level of compliance can be inferred for subjects that pass an assessment.  "
        },
        "regulatoryAlignment": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/RegulatoryAlignment"
          },
          "description": "A list of regulations or legally binding conventions referenced by this conformity profile and against which some level of compliance can be inferred for subjects that pass an assessment.  "
        },
        "criterionScoringFramework": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ScoringFramework"
          },
          "description": "A list of named scoring frameworks that are applied by criterion within this profile. "
        },
        "documentation": {
          "type": "string",
          "format": "uri",
          "description": "A web page that describes this entity in detail."
        },
        "criterion": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Criterion"
          },
          "description": "A list of criterion that are included in this conformity profile."
        },
        "scope": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Classification"
          },
          "description": "A set of classification codes that may be used to categorize the applicability of this criteria - for example industry sector, jurisdiction or commodity type - based on a formal vocabulary."
        },
        "scheme": {
          "type": "object",
          "properties": {
            "id": {
              "example": "https://sample-scheme.org/lrap",
              "type": "string",
              "format": "uri",
              "description": "Globally unique identifier of this conformity scheme. Typically represented as a URI SchemeOwner/SchemeName URI"
            },
            "name": {
              "example": "Labour rights assessment program",
              "type": "string",
              "description": "Name of this scheme as defined by the scheme owner."
            }
          },
          "required": [
            "id",
            "name"
          ],
          "description": "The conformity scheme under which this versioned profile is maintained."
        }
      },
      "description": "A versioned conformity profile, managed under a scheme, which includes a specific list of versioned criteria. A conformity profile represents the precise scope of a conformity attestation. ",
      "required": [
        "id",
        "name",
        "version",
        "validFrom",
        "status",
        "criterion",
        "scheme"
      ]
    },
    "StandardAlignment": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "type": {
          "type": "array",
          "readOnly": true,
          "default": [
            "StandardAlignment"
          ],
          "items": {
            "type": "string"
          },
          "allOf": [
            {
              "contains": {
                "const": "StandardAlignment",
                "minContains": 1
              }
            }
          ]
        },
        "standard": {
          "type": "object",
          "properties": {
            "id": {
              "example": "https://sample-standards.org/A1234",
              "type": "string",
              "format": "uri",
              "description": "Globally unique identifier of this standard. Typically represented as a URI issuer/standard URI"
            },
            "name": {
              "example": "Labour rights standard",
              "type": "string",
              "description": "Name for this standard"
            }
          },
          "required": [
            "id",
            "name"
          ],
          "description": "The standard against which this alignment assessment is made."
        },
        "alignmentLevel": {
          "type": "string",
          "enum": [
            "meets",
            "exceeds",
            "partial"
          ],
          "example": "meets",
          "description": "A level of alignment with the referenced standard (exceeds, meets, partial,..)"
        }
      },
      "description": "A voluntary standard and an alignment level (exceeds, meets, partial).",
      "required": [
        "standard"
      ]
    },
    "RegulatoryAlignment": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "type": {
          "type": "array",
          "readOnly": true,
          "default": [
            "RegulatoryAlignment"
          ],
          "items": {
            "type": "string"
          },
          "allOf": [
            {
              "contains": {
                "const": "RegulatoryAlignment",
                "minContains": 1
              }
            }
          ]
        },
        "regulation": {
          "type": "object",
          "properties": {
            "id": {
              "example": "https://regulations.country.gov/ABC-12345",
              "type": "string",
              "format": "uri",
              "description": "Globally unique identifier of this standard. Typically represented as a URI government/regulation URI"
            },
            "name": {
              "example": "Due Diligence Directove",
              "type": "string",
              "description": "Name of this regulation as defined by the regulator."
            }
          },
          "required": [
            "id",
            "name"
          ],
          "description": "The regulation against which this alignment assessment is made."
        },
        "alignmentLevel": {
          "type": "string",
          "enum": [
            "meets",
            "exceeds",
            "partial"
          ],
          "example": "meets",
          "description": "A level of alignment with the referenced standard (exceeds, meets, partial,..)"
        }
      },
      "description": "A national regulation or international treaty and an alignment level (exceeds, meets, partial).",
      "required": [
        "regulation"
      ]
    },
    "Criterion": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "type": {
          "type": "array",
          "readOnly": true,
          "default": [
            "Criterion"
          ],
          "items": {
            "type": "string"
          },
          "allOf": [
            {
              "contains": {
                "const": "Criterion",
                "minContains": 1
              }
            }
          ]
        },
        "id": {
          "example": "https://vocabulary.sample-scheme.org/criterion/lb/v1.0",
          "type": "string",
          "format": "uri",
          "description": "Globally unique identifier of this conformity criterion. Typically represented as a URI SchemeOwner/CriterionID URI"
        },
        "name": {
          "example": "Forced labour assessment criterion",
          "type": "string",
          "description": "Name of this criterion as defined by the scheme owner."
        },
        "description": {
          "type": "string",
          "description": "Descriptoin of this criterion"
        },
        "version": {
          "type": "string",
          "description": "The major.minor version of the the criterion. Minor versions represent changes that would not invalidate an assessment made under a previous version."
        },
        "status": {
          "type": "string",
          "enum": [
            "proposed",
            "active",
            "deprecated"
          ],
          "example": "proposed",
          "description": "The lifecycle status of this criterion. "
        },
        "documentation": {
          "type": "string",
          "format": "uri",
          "description": "A web page carrying detailed information about this criterion."
        },
        "conformityTopic": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ConformityTopic"
          },
          "description": "A list of global UN/CEFACT standard conformity topic code. "
        },
        "passThreshold": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Performance"
          },
          "description": "The assessed performance level (either a score or a measured metric) that represents compliance against the criteria (ie a passing score)."
        },
        "tag": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A set of tags that can be used by the scheme owner to be able to filter or group criterion in a large vocabulary for specific use cases."
        }
      },
      "description": "A specific rule or criterion within a standard or regulation. eg a carbon intensity calculation rule within an emissions standard.",
      "required": [
        "id",
        "name",
        "version",
        "status",
        "conformityTopic",
        "passThreshold"
      ]
    },
    "ConformityTopic": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "type": {
          "type": "array",
          "readOnly": true,
          "default": [
            "ConformityTopic"
          ],
          "items": {
            "type": "string"
          },
          "allOf": [
            {
              "contains": {
                "const": "ConformityTopic",
                "minContains": 1
              }
            }
          ]
        },
        "id": {
          "type": "string",
          "format": "uri",
          "description": "The unique identifier for this conformity topic"
        },
        "name": {
          "example": "forced-labour",
          "type": "string",
          "description": "The human readable name for this conformity topic."
        },
        "definition": {
          "type": "string",
          "description": "The rich definition of this conformity topic."
        }
      },
      "description": "The UNTP standard classification scheme for conformity topic.  see http://vocabulary.uncefact.org/ConformityTopic",
      "required": [
        "id",
        "name"
      ]
    },
    "Performance": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "type": {
          "type": "array",
          "readOnly": true,
          "default": [
            "Performance"
          ],
          "items": {
            "type": "string"
          },
          "allOf": [
            {
              "contains": {
                "const": "Performance",
                "minContains": 1
              }
            }
          ]
        },
        "metric": {
          "type": "object",
          "properties": {
            "id": {
              "example": "https://authority.gov/schemeABC/123456789",
              "type": "string",
              "format": "uri",
              "description": "Globally unique identifier of this reporting metric. "
            },
            "name": {
              "example": "emissions intensity",
              "type": "string",
              "description": "A human readable name for this metric (for example \"water usage per Kg of material\")"
            }
          },
          "required": [
            "id",
            "name"
          ],
          "description": "The metric (eg material emissions intensity CO2e/Kg or percentage of young workers) that is measured."
        },
        "measure": {
          "$ref": "#/$defs/Measure",
          "description": "The measured performance value"
        },
        "score": {
          "$ref": "#/$defs/Score",
          "description": "A performance score (eg \"AA\") drawn from a scoring framework defined by the scheme or criterion."
        }
      },
      "description": "A claimed, assessed, or required performance level defined either by a scoring system or a numeric measure.",
      "required": [
        "metric"
      ]
    },
    "Measure": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "type": {
          "type": "array",
          "readOnly": true,
          "default": [
            "Measure"
          ],
          "items": {
            "type": "string"
          },
          "allOf": [
            {
              "contains": {
                "const": "Measure",
                "minContains": 1
              }
            }
          ]
        },
        "value": {
          "example": 10,
          "type": "number",
          "description": "The numeric value of the measure"
        },
        "upperTolerance": {
          "type": "number",
          "description": "The upper tolerance associated with this measure expressed in the same units as the measure.  For example value=10, upperTolerance=0.1, unit=KGM would mean that this measure is 10kg + 0.1kg"
        },
        "lowerTolerance": {
          "type": "number",
          "description": "The lower tolerance associated with this measure expressed in the same units as the measure.  For example value=10, lowerTolerance=0.1, unit=KGM would mean that this measure is 10kg - 0.1kg"
        },
        "unit": {
          "type": "string",
          "x-external-enumeration": "https://vocabulary.uncefact.org/UnitMeasureCode#",
          "description": "Unit of measure drawn from the UNECE Rec20 measure code list.\n\n    This is an enumerated value, but the list of valid values are too big, or change too often to include here. You can access the list of allowable values at this URL:  https://vocabulary.uncefact.org/UnitMeasureCode#\n    "
        }
      },
      "description": "The measure class defines a numeric measured value (eg 10) and a coded unit of measure (eg KG).  There is an optional upper and lower tolerance which can be used to specify uncertainty in the measure.  ",
      "required": [
        "value",
        "unit"
      ]
    }
  }
}