GRC Schema

catalog.schema.json

A structured, organized collection of control information.

type · thingNIST vocabularystatus · draftv1
{
  "Catalog": {
    "@type": "Catalog",
    "schemaVersion": 1,
    "uuid": "String",
    "metadata": {
      "@type": "Metadata",
      "title": "String",
      "published": "Datetime",
      "last-modified": "Datetime",
      "version": "String",
      "oscal-version": "String",
      "revisions": [
        {
          "revisions(item)": {
            "@type": "Revisions(item)",
            "props": [
              {
                "props(item)": {
                  "@type": "Props(item)",
                  "name": "String",
                  "ns": "URI",
                  "value": "String",
                  "class": "String",
                  "group": "String",
                  "remarks": "String"
                }
              }
            ],
            "links": [
              {
                "links(item)": {
                  "@type": "Links(item)",
                  "href": "URI",
                  "rel": "String",
                  "media-type": "String",
                  "resource-fragment": "String",
                  "text": "String"
                }
              }
            ]
          }
        }
      ],
      "document-ids": [
        {
          "document-ids(item)": {
            "@type": "Document-ids(item)",
            "scheme": "URI",
            "identifier": "String"
          }
        }
      ],
      "roles": [
        {
          "roles(item)": {
            "@type": "Roles(item)",
            "description": "String",
            "id": "String",
            "short-name": "String"
          }
        }
      ],
      "locations": [
        {
          "locations(item)": {
            "@type": "Locations(item)",
            "address": {
              "@type": "Address",
              "type": "String",
              "addr-lines": [
                {
                  "addr-lines(item)": "String"
                }
              ],
              "city": "String",
              "state": "String",
              "postal-code": "String",
              "country": "String"
            },
            "email-addresses": [
              {
                "email-addresses(item)": "String"
              }
            ],
            "telephone-numbers": [
              {
                "telephone-numbers(item)": "TelephoneNumber"
              }
            ],
            "urls": [
              {
                "urls(item)": "URI"
              }
            ]
          }
        }
      ],
      "parties": [
        {
          "parties(item)": {
            "@type": "Parties(item)",
            "external-ids": [
              {
                "external-ids(item)": {
                  "@type": "External-ids(item)"
                }
              }
            ],
            "addresses": [
              {
                "addresses(item)": {
                  "@type": "Addresses(item)"
                }
              }
            ],
            "member-of-organizations": [
              {
                "member-of-organizations(item)": "String"
              }
            ],
            "location-uuids": [
              {
                "location-uuids(item)": "String"
              }
            ]
          }
        }
      ],
      "responsible-parties": [
        {
          "responsible-parties(item)": {
            "@type": "Responsible-parties(item)",
            "role-id": "String",
            "party-uuids": [
              {
                "party-uuids(item)": "String"
              }
            ]
          }
        }
      ],
      "actions": [
        {
          "actions(item)": {
            "@type": "Actions(item)",
            "date": "Datetime",
            "system": "URI"
          }
        }
      ]
    },
    "params": [
      {
        "params(item)": {
          "@type": "Params(item)",
          "depends-on": "String",
          "label": "String",
          "usage": "String",
          "constraints": [
            {
              "constraints(item)": {
                "@type": "Constraints(item)",
                "tests": [
                  {
                    "tests(item)": {
                      "@type": "Tests(item)",
                      "expression": "String"
                    }
                  }
                ]
              }
            }
          ],
          "guidelines": [
            {
              "guidelines(item)": {
                "@type": "Guidelines(item)",
                "prose": "String"
              }
            }
          ],
          "values": [
            {
              "values(item)": "String"
            }
          ],
          "select": {
            "@type": "Select",
            "how-many": "String",
            "choice": [
              {
                "choice(item)": "String"
              }
            ]
          }
        }
      }
    ],
    "controls": [
      {
        "controls(item)": {
          "@type": "Controls(item)",
          "parts": [
            {
              "parts(item)": {
                "@type": "Parts(item)"
              }
            }
          ]
        }
      }
    ],
    "groups": [
      {
        "groups(item)": {
          "@type": "Groups(item)",
          "insert-controls": [
            {
              "insert-controls(item)": {
                "@type": "Insert-controls(item)",
                "order": "String",
                "include-all": "String",
                "exclude-controls": [
                  {
                    "exclude-controls(item)": {
                      "@type": "Exclude-controls(item)",
                      "with-child-controls": "String",
                      "control-id": "String",
                      "with-ids": [
                        {
                          "with-ids(item)": "String"
                        }
                      ],
                      "statement-ids": [
                        {
                          "statement-ids(item)": "String"
                        }
                      ],
                      "matching": [
                        {
                          "matching(item)": {
                            "@type": "Matching(item)",
                            "pattern": "String"
                          }
                        }
                      ]
                    }
                  }
                ],
                "include-controls": [
                  {
                    "include-controls(item)": {
                      "@type": "Include-controls(item)"
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    ],
    "back-matter": {
      "@type": "Back-matter",
      "resources": [
        {
          "resources(item)": {
            "@type": "Resources(item)",
            "citation": {
              "@type": "Citation"
            },
            "rlinks": [
              {
                "rlinks(item)": {
                  "@type": "Rlinks(item)",
                  "hashes": [
                    {
                      "hashes(item)": {
                        "@type": "Hashes(item)",
                        "algorithm": "String"
                      }
                    }
                  ]
                }
              }
            ],
            "base64": {
              "@type": "Base64",
              "filename": "String"
            }
          }
        }
      ]
    }
  }
}