Skip to main content

Assessment Plan Model v1.0.4 XML Format Reference

The following is the XML format reference for this model, which is organized hierarchically. Each entry represents the corresponding XML element or attribute in the model's XML format, and provides details about the semantics and use of the element or attribute. The XML Format Outline provides a streamlined, hierarchical representation of this model's XML format which can be used along with this reference to better understand the XML representation of this model.

XML namespace http://csrc.nist.gov/ns/oscal/1.0

The OSCAL assessment plan format is used to describe the information typically provided by an assessor during the preparation for an assessment.The root of the OSCAL assessment plan format is assessment-plan.

assessment-plan

element
(global definition)

Security Assessment Plan (SAP)

Description An assessment plan, such as those provided by a FedRAMP assessor.

Attribute (1)

uuid

uuid

[1]

Assessment Plan Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment plan in this or other OSCAL instances. The locally defined UUID of the assessment plan can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

Elements (9)

metadata

element
(global definition)

[1]

Publication metadata

Description Provides information about the publication and availability of the containing document.

Constraints (13)

index for role an index index-metadata-role-ids shall list values returned by targets role using keys constructed of key field(s) @id

is unique for document-id: any target value must be unique (i.e., occur only once)

is unique for prop: any target value must be unique (i.e., occur only once)

index for .//prop an index index-metadata-property-uuid shall list values returned by targets .//prop using keys constructed of key field(s) @uuid

is unique for link: any target value must be unique (i.e., occur only once)

index for role an index index-metadata-role-id shall list values returned by targets role using keys constructed of key field(s) @id

index for location an index index-metadata-location-uuid shall list values returned by targets location using keys constructed of key field(s) @uuid

index for party an index index-metadata-party-uuid shall list values returned by targets party using keys constructed of key field(s) @uuid

index for party[@type='organization'] an index index-metadata-party-organizations-uuid shall list values returned by targets party[@type='organization'] using keys constructed of key field(s) @uuid

is unique for responsible-party: any target value must be unique (i.e., occur only once)

allowed values for responsible-party/@role-id

The value may be locally defined, or one of the following:

  • creator: Indicates the organization that created this content.
  • prepared-by: Indicates the organization that prepared this content.
  • prepared-for: Indicates the organization for which this content was created.
  • content-approver: Indicates the organization responsible for all content represented in the "document".
  • contact: Indicates the organization to contact for questions or support related to this content.

allowed value for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name

The value must be one of the following:

  • keywords: The value identifies a comma-seperated listing of keywords associated with this content. These keywords may be used as search terms for indexing and other applications.

allowed values for link/@rel

The value may be locally defined, or one of the following:

  • canonical: The link identifies the authoritative location for this file. Defined by RFC 6596.
  • alternate: The link identifies an alternative location or format for this file. Defined by the HTML Living Standard
  • latest-version: This link identifies a resource containing the latest version in the version history. Defined by RFC 5829.
  • predecessor-version: This link identifies a resource containing the predecessor version in the version history. Defined by RFC 5829.
  • successor-version: This link identifies a resource containing the predecessor version in the version history. Defined by RFC 5829.
Elements (14)

title

markup-line

[1]

Document Title

Description A name given to the document, which may be used by a tool for display and navigation.

published

dateTime-with-timezone

[0 or 1]

Publication Timestamp

Description The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included.

Remarks

This value represents the point in time when the OSCAL document was published. Typically, this date value will be machine generated at the time the containing document is published.

In some cases, an OSCAL document may be derived from some source material in a different format. In such a case, the published value should indicate when the OSCAL document was published, not the source material. Where necessary, the publication date of the original source material can be captured as a named property or custom metadata construct.

A publisher of OSCAL content can use this data point along with its siblings last-modified and version to establish a sequence of successive revisions of a given OSCAL-based publication. The metadata for previous revisions can be represented as a revision in this object.

last-modified

dateTime-with-timezone

[1]

Last Modified Timestamp

Description The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included.

Remarks

This value represents the point in time when the OSCAL document was last updated, or at the point of creation the creation date. Typically, this date value will be machine generated at time of creation or modification.

In some cases, an OSCAL document may be derived from some source material in a different format. In such a case, the last-modified value should indicate the modification time of the OSCAL document, not the source material.

A publisher of OSCAL content can use this data point along with its siblings published and version to establish a sequence of successive revisions of a given OSCAL-based publication. The metadata for previous revisions can be represented as a revision in this object.

version

string

[1]

Document Version

Description A string used to distinguish the current version of the document from other previous (and future) versions.

Remarks

A version string may be a release number, sequence number, date, or other identifier suffcient to distinguish between different document versions. This version is typically set by the document owner or by the tool used to maintain the content.

While not required, it is recommended that OSCAL content authors use Semantic Versioning as a format for version strings. This allows for the easy identification of a version tree consisting of major, minor, and patch numbers.

A publisher of OSCAL content can use this data point along with its siblings published and last-modified to establish a sequence of successive revisions of a given OSCAL-based publication. The metadata for previous revisions can be represented as a revision in this object.

oscal-version

string

[1]

OSCAL version

Description The OSCAL model version the document was authored against.

Remarks

Indicates the version of the OSCAL model to which this data set conforms, for example 1.1.0 or 1.0.0-M1. That can be used as a hint by a tool to indicate which version of the OSCAL XML or JSON schema to use for validation.

revisions

element

[0 or 1]

Element (1)

revision

element

[0 to ∞]

Revision History Entry

Description An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first).

Remarks

While published, last-modified, oscal-version, and version are not required, values for these entries should be provided if the information is known. For a revision entry to be considered valid, at least one of the following items must be provided: published, last-modified, version, or a link with a rel of source.

Constraint (1)

allowed values for link/@rel

The value may be locally defined, or one of the following:

  • canonical: The link identifies the authoritative location for this file. Defined by RFC 6596.
  • alternate: The link identifies an alternative location or format for this file. Defined by the HTML Living Standard
  • predecessor-version: This link identifies a resource containing the predecessor version in the version history. Defined by RFC 5829.
  • successor-version: This link identifies a resource containing the predecessor version in the version history. Defined by RFC 5829.
Elements (8)
title

markup-line

[0 or 1]

Document Title

Description A name given to the document revision, which may be used by a tool for display and navigation.

published

dateTime-with-timezone

[0 or 1]

Publication Timestamp

Description The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included.

Remarks

This value represents the point in time when the OSCAL document was published. Typically, this date value will be machine generated at the time the containing document is published.

In some cases, an OSCAL document may be derived from some source material in a different format. In such a case, the published value should indicate when the OSCAL document was published, not the source material. Where necessary, the publication date of the original source material can be captured as a named property or custom metadata construct.

A publisher of OSCAL content can use this data point along with its siblings last-modified and version to establish a sequence of successive revisions of a given OSCAL-based publication. The metadata for previous revisions can be represented as a revision in this object.

last-modified

dateTime-with-timezone

[0 or 1]

Last Modified Timestamp

Description The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included.

Remarks

This value represents the point in time when the OSCAL document was last updated, or at the point of creation the creation date. Typically, this date value will be machine generated at time of creation or modification.

In some cases, an OSCAL document may be derived from some source material in a different format. In such a case, the last-modified value should indicate the modification time of the OSCAL document, not the source material.

A publisher of OSCAL content can use this data point along with its siblings published and version to establish a sequence of successive revisions of a given OSCAL-based publication. The metadata for previous revisions can be represented as a revision in this object.

version

string

[1]

Document Version

Description A string used to distinguish the current version of the document from other previous (and future) versions.

Remarks

A version string may be a release number, sequence number, date, or other identifier suffcient to distinguish between different document versions. This version is typically set by the document owner or by the tool used to maintain the content.

While not required, it is recommended that OSCAL content authors use Semantic Versioning as a format for version strings. This allows for the easy identification of a version tree consisting of major, minor, and patch numbers.

A publisher of OSCAL content can use this data point along with its siblings published and last-modified to establish a sequence of successive revisions of a given OSCAL-based publication. The metadata for previous revisions can be represented as a revision in this object.

oscal-version

string

[0 or 1]

OSCAL version

Description The OSCAL model version the document was authored against.

Remarks

Indicates the version of the OSCAL model to which this data set conforms, for example 1.1.0 or 1.0.0-M1. That can be used as a hint by a tool to indicate which version of the OSCAL XML or JSON schema to use for validation.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

document-id

string

[0 to ∞]

Document Identifier

Description A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of "document-id" is equal to the value of the "uuid" flag of the top-level root element.

Remarks

This element is optional, but it will always have a valid value, as if it is missing the value of "document-id" is assumed to be equal to the UUID of the root. This requirement allows for document creators to retroactively link an update to the original version, by providing a document-id on the new document that is equal to the uuid of the original document.

Attribute (1)

scheme

uri

[0 or 1]

Document Identification Scheme

Description Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • http://www.doi.org/: A Digital Object Identifier (DOI); use is preferred, since this allows for retrieval of a full bibliographic record.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)

name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.

uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)

href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference

media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)

text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

role

element
(global definition)

[0 to ∞]

Role

Description Defines a function assumed or expected to be assumed by a party in a specific situation.

Remarks

Permissible values to be determined closer to the application (e.g. by a receiving authority).

OSCAL has defined a set of standardized roles for consistent use in OSCAL documents. This allows tools consuming OSCAL content to infer specific semantics when these roles are used. These roles are documented in the specific contexts of their use (e.g., responsible-party, responsible-role). When using such a role, it is necessary to define these roles in this list, which will then allow such a role to be referenced.

Attribute (1)

id

token

[1]

Role Identifier

Description A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

Elements (6)

title

markup-line

[1]

Role Title

Description A name given to the role, which may be used by a tool for display and navigation.

short-name

string

[0 or 1]

Role Short Name

Description A short common name, abbreviation, or acronym for the role.

description

markup-multiline

[0 or 1]

Role Description

Description A summary of the role's purpose and associated responsibilities.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

location

element
(global definition)

[0 to ∞]

Location

Description A location, with associated metadata that can be referenced.

Constraints (3)

allowed value for prop/@name

The value may be locally defined, or the following:

  • type: Characterizes the kind of location.

allowed value for prop[@name='type']/@value

The value may be locally defined, or the following:

  • data-center: A location that contains computing assets. A class can be used to indicate the sub-type of data-center as primary or alternate.

allowed values for prop[@name='type' and @value='data-center']/@class

The value may be locally defined, or one of the following:

  • primary: The location is a data-center used for normal operations.
  • alternate: The location is a data-center used for fail-over or backup operations.
Attribute (1)

uuid

uuid

[1]

Location Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

Elements (8)

title

markup-line

[0 or 1]

Location Title

Description A name given to the location, which may be used by a tool for display and navigation.

address

element

[1]

Address

Description A postal address for the location.

Remarks

Typically, the physical address of the location will be used here. If this information is sensitive, then a mailing address can be used instead.

Attribute (1)
type

token

[0 or 1]

Address Type

Description Indicates the type of address.

Constraint (1)

allowed values

The value may be locally defined, or one of the following:

  • home: A home address.
  • work: A work address.
Elements (5)
addr-line

string

[0 to ∞]

Address line

Description A single line of an address.

city

string

[0 or 1]

City

Description City, town or geographical region for the mailing address.

state

string

[0 or 1]

State

Description State, province or analogous geographical region for mailing address

postal-code

string

[0 or 1]

Postal Code

Description Postal or ZIP code for mailing address

country

string

[0 or 1]

Country Code

Description The ISO 3166-1 alpha-2 country code for the mailing address.

Constraint (1)

matches: a target (value) must match the regular expression '[A-Z]{2}'.

email-address

email

[0 to ∞]

Email Address

Description An email address as defined by RFC 5322 Section 3.4.1.

Remarks

This is a contact email associated with the location.

telephone-number

string

[0 to ∞]

Telephone Number

Description Contact number by telephone.

Remarks

A phone number used to contact the location.

Attribute (1)
type

string

[0 or 1]

type flag

Description Indicates the type of phone number.

Constraint (1)

allowed values

The value may be locally defined, or one of the following:

  • home: A home phone number.
  • office: An office phone number.
  • mobile: A mobile phone number.

url

uri

[0 to ∞]

Location URL

Description The uniform resource locator (URL) for a web site or Internet presence associated with the location.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

party

element
(global definition)

[0 to ∞]

Party (organization or person)

Description A responsible entity which is either a person or an organization.

Constraint (1)

allowed values for prop/@name

The value must be one of the following:

  • mail-stop: A mail stop associated with the party.
  • office: The name or number of the party's office.
  • job-title: The formal job title of a person.
Attributes (2)

uuid

uuid

[1]

Party Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

type

string

[1]

Party Type

Description A category describing the kind of party the object describes.

Constraint (1)

allowed values

The value must be one of the following:

  • person: An individual.
  • organization: A group of individuals formed for a specific purpose.
Elements (11)

name

string

[0 or 1]

Party Name

Description The full name of the party. This is typically the legal name associated with the party.

short-name

string

[0 or 1]

Party Short Name

Description A short common name, abbreviation, or acronym for the party.

external-id

string

[0 to ∞]

Party External Identifier

Description An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID)

Attribute (1)
scheme

uri

[1]

External Identifier Schema

Description Indicates the type of external identifier.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • http://orcid.org/: The identifier is Open Researcher and Contributor ID (ORCID).

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

email-address

email

[0 to ∞]

Email Address

Description An email address as defined by RFC 5322 Section 3.4.1.

Remarks

This is a contact email associated with the party.

telephone-number

string

[0 to ∞]

Telephone Number

Description Contact number by telephone.

Remarks

A phone number used to contact the party.

Attribute (1)
type

string

[0 or 1]

type flag

Description Indicates the type of phone number.

Constraint (1)

allowed values

The value may be locally defined, or one of the following:

  • home: A home phone number.
  • office: An office phone number.
  • mobile: A mobile phone number.

A choice:

address

element

[0 to ∞]

Address

Description A postal address for the location.

Attribute (1)
type

token

[0 or 1]

Address Type

Description Indicates the type of address.

Constraint (1)

allowed values

The value may be locally defined, or one of the following:

  • home: A home address.
  • work: A work address.
Elements (5)
addr-line

string

[0 to ∞]

Address line

Description A single line of an address.

city

string

[0 or 1]

City

Description City, town or geographical region for the mailing address.

state

string

[0 or 1]

State

Description State, province or analogous geographical region for mailing address

postal-code

string

[0 or 1]

Postal Code

Description Postal or ZIP code for mailing address

country

string

[0 or 1]

Country Code

Description The ISO 3166-1 alpha-2 country code for the mailing address.

Constraint (1)

matches: a target (value) must match the regular expression '[A-Z]{2}'.

location-uuid

uuid

[0 to ∞]

Location Reference

Description A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).

Remarks

See the Concepts - Identifier Use page for additional information about the referenced identifier's scope.

Constraint (1)

index has keythis value must correspond to a listing in the index index-metadata-location-uuid using a key constructed of key field(s) .

member-of-organization

uuid

[0 to ∞]

Organizational Affiliation

Description A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).

Remarks

Parties of both the person or organization type can be associated with an organization using the member-of-organization.

Constraint (1)

index has keythis value must correspond to a listing in the index index-metadata-party-organizations-uuid using a key constructed of key field(s) .

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

responsible-party

element
(global definition)

[0 to ∞]

Responsible Party

Description A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object.

Constraints (2)

index has keythis value must correspond to a listing in the index index-metadata-role-id using a key constructed of key field(s) @role-id

index has key for party-uuidthis value must correspond to a listing in the index index-metadata-party-uuid using a key constructed of key field(s) .

Attribute (1)

role-id

token

[1]

Responsible Role

Description A human-oriented identifier reference to roles served by the user.

Elements (4)

party-uuid

uuid

[1 to ∞]

Party Reference

Description A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).

Remarks

See the Concepts - Identifier Use page for additional information about the referenced identifier's scope.

Specifies one or more parties that are responsible for performing the associated role.

Constraint (1)

index has keythis value must correspond to a listing in the index index-metadata-party-uuid using a key constructed of key field(s) .

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

import-ssp

element
(global definition)

[1]

Import System Security Plan

Description Used by the assessment plan and POA&M to import information about the system.

Remarks

Used by the SAP to import information about the system being assessed.

Attribute (1)

href

uri-reference

[1]

System Security Plan Reference

Description A resolvable URL reference to the system security plan for the system being assessed.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

Element (1)

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

local-definitions

element

[0 or 1]

Local Definitions

Description Used to define data objects that are used in the assessment plan, that do not appear in the referenced SSP.

Constraints (2)

is unique for component: any target value must be unique (i.e., occur only once)

is unique for user: any target value must be unique (i.e., occur only once)

Elements (6)

component

element
(global definition)

[0 to ∞]

Component

Description A defined component that can be part of an implemented system.

Remarks

Components may be products, services, application programming interface (APIs), policies, processes, plans, guidance, standards, or other tangible items that enable security and/or privacy.

The type indicates which of these component types is represented.

When defining a service component where are relationship to other components is known, one or more link entries with rel values of provided-by and used-by can be used to link to the specific component identifier(s) that provide and use the service respectively.

Used to add any components, not defined via the System Security Plan (AR->AP->SSP)

Constraints (24)

allowed values for prop/@name

The value may be locally defined, or one of the following:

  • implementation-point: Relative placement of component ('internal' or 'external') to the system.
  • leveraged-authorization-uuid: UUID of the related leveraged-authorization assembly in this SSP.
  • inherited-uuid: UUID of the component as it was assigned in the leveraged system's SSP.
  • asset-type: Simple indication of the asset's function, such as Router, Storage Array, DNS Server.
  • asset-id: An organizationally specific identifier that is used to uniquely identify a logical or tangible item by the organization that owns the item.
  • asset-tag: An asset tag assigned by the organization responsible for maintaining the logical or tangible item.
  • public: Identifies whether the asset is publicly accessible (yes/no)
  • virtual: Identifies whether the asset is virtualized (yes/no)
  • vlan-id: Virtual LAN identifier of the asset.
  • network-id: The network identifier of the asset.
  • label: A human-readable label for the parent context.
  • sort-id: An alternative identifier, whose value is easily sortable among other such values in the document.
  • baseline-configuration-name: The name of the baseline configuration for the asset.
  • allows-authenticated-scan: Can the asset be check with an authenticated scan? (yes/no)
  • function: The function provided by the asset for the system.
  • version: The version of the component.
  • patch-level: The specific patch level of the component.
  • model: The model of the component.
  • release-date: The date the component was released, such as a software release date or policy publication date.
  • validation-type: Used with component-type='validation' to provide a well-known name for a kind of validation.
  • validation-reference: Used with component-type='validation' to indicate the validating body's assigned identifier for their validation of this component.

allowed values for link/@rel

The value may be locally defined, or one of the following:

  • depends-on: A reference to another component that this component has a dependency on.
  • validation: A reference to another component of component-type=validation, that is a validation (e.g., FIPS 140-2) for this component
  • proof-of-compliance: A pointer to a validation record (e.g., FIPS 140-2) or other compliance information.
  • baseline-template: A reference to the baseline template used to configure the asset.
  • uses-service: This service is used by the referenced component identifier.
  • system-security-plan: A link to the system security plan of the external system.
  • uses-network: This component uses the network provided by the identified network component.

allowed values for responsible-role/@role-id

The value may be locally defined, or one of the following:

  • asset-owner: Accountable for ensuring the asset is managed in accordance with organizational policies and procedures.
  • asset-administrator: Responsible for administering a set of assets.
  • security-operations: Members of the security operations center (SOC).
  • network-operations: Members of the network operations center (NOC).
  • incident-response: Responsible for responding to an event that could lead to loss of, or disruption to, an organization's operations, services or functions.
  • help-desk: Responsible for providing information and support to users.
  • configuration-management: Responsible for the configuration management processes governing changes to the asset.
  • maintainer: Responsible for the creation and maintenance of a component.
  • provider: Organization responsible for providing the component, if this is different from the "maintainer" (e.g., a reseller).

allowed values for prop[@name='asset-type']/@value

The value must be one of the following:

  • operating-system: System software that manages computer hardware, software resources, and provides common services for computer programs.
  • database: An electronic collection of data, or information, that is specially organized for rapid search and retrieval.
  • web-server: A system that delivers content or services to end users over the Internet or an intranet.
  • dns-server: A system that resolves domain names to internet protocol (IP) addresses.
  • email-server: A computer system that sends and receives electronic mail messages.
  • directory-server: A system that stores, organizes and provides access to directory information in order to unify network resources.
  • pbx: A private branch exchange (PBX) provides a a private telephone switchboard.
  • firewall: A network security system that monitors and controls incoming and outgoing network traffic based on predetermined security rules.
  • router: A physical or virtual networking device that forwards data packets between computer networks.
  • switch: A physical or virtual networking device that connects devices within a computer network by using packet switching to receive and forward data to the destination device.
  • storage-array: A consolidated, block-level data storage capability.
  • appliance: A physical or virtual machine that centralizes hardware, software, or services for a specific purpose.

allowed values for prop[@name='allows-authenticated-scan']/@value

The value must be one of the following:

  • yes: The component allows an authenticated scan.
  • no: The component does not allow an authenticated scan.

allowed values for prop[@name='public']/@value

The value must be one of the following:

  • yes: The component is publicly accessible.
  • no: The component is not publicly accessible.

allowed values for prop[@name='virtual']/@value

The value must be one of the following:

  • yes: The component is virtualized.
  • no: The component is not virtualized.

allowed values for prop[@name='implementation-point']/@value

The value must be one of the following:

  • internal: The component is implemented within the system boundary.
  • external: The component is implemented outside the system boundary.

index has key for prop[@name='physical-location']this value must correspond to a listing in the index index-metadata-location-uuid using a key constructed of key field(s) @value

matches for prop[@name='inherited-uuid']/@value: the target value must match the lexical form of the 'uuid' data type.

matches for prop[@name='release-date']/@value: the target value must match the lexical form of the 'date' data type.

allowed value for (.)[@type=('software', 'hardware', 'service')]/prop/@name

The value may be locally defined, or the following:

  • vendor-name: The name of the company or organization

allowed value for (.)[@type='validation']/link/@rel

The value may be locally defined, or the following:

  • validation-details: A link to an online information provided by the authorizing body.

allowed value for (.)[@type='software']/prop/@name

The value may be locally defined, or the following:

  • software-identifier: If a "software" component-type, the identifier, such as a SWID tag, for the software component.

allowed values for (.)[@type='service']/link/@rel

The value may be locally defined, or one of the following:

  • provided-by: This service is provided by the referenced component identifier.
  • used-by: This service is used by the referenced component identifier.

allowed values for (.)[@type='interconnection']/prop/@name

The value may be locally defined, or one of the following:

  • isa-title: Title of the Interconnection Security Agreement (ISA).
  • isa-date: Date of the Interconnection Security Agreement (ISA).
  • isa-remote-system-name: The name of the remote interconnected system.
  • ipv4-address: An Internet Protocol Version 4 interconnection address
  • ipv6-address: An Internet Protocol Version 6 interconnection address
  • direction: An Internet Protocol Version 6 interconnection address

allowed values for prop[@name=('ipv4-address','ipv6-address')]/@class

The value may be locally defined, or one of the following:

  • local: The identified IP address is for this system.
  • remote: The identified IP address is for the remote system to which this system is connected.

allowed value for (.)[@type='interconnection']/link/@rel

The value may be locally defined, or the following:

  • isa-agreement: A link to the system interconnection agreement.

allowed values for (.)[@type='interconnection']/responsible-role/@role-id

The value may be locally defined, or one of the following:

  • isa-poc-local: Interconnection Security Agreement (ISA) point of contact (POC) for this system.
  • isa-poc-remote: Interconnection Security Agreement (ISA) point of contact (POC) for the remote interconnected system.
  • isa-authorizing-official-local: Interconnection Security Agreement (ISA) authorizing official for this system.
  • isa-authorizing-official-remote: Interconnection Security Agreement (ISA) authorizing official for the remote interconnected system.

matches for prop[@name='isa-date']/@value: the target value must match the lexical form of the 'dateTime' data type.

matches for prop[@name='ipv4-address']/@value: the target value must match the lexical form of the 'ip-v4-address' data type.

matches for prop[@name='ipv6-address']/@value: the target value must match the lexical form of the 'ip-v6-address' data type.

allowed values for prop[@name='direction']/@value

The value may be locally defined, or one of the following:

  • incoming: Data from the remote system flows into this system.
  • outgoing: Data from this system flows to the remote system.

is unique for responsible-role: any target value must be unique (i.e., occur only once)

Attributes (2)

uuid

uuid

[1]

Component Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

type

string

[1]

Component Type

Description A category describing the purpose of the component.

Constraint (1)

allowed values

The value may be locally defined, or one of the following:

  • this-system: The system as a whole.
  • system: An external system, which may be a leveraged system or the other side of an interconnection.
  • interconnection: A connection to something outside this system.
  • software: Any software, operating system, or firmware.
  • hardware: A physical device.
  • service: A service that may provide APIs.
  • policy: An enforceable policy.
  • physical: A tangible asset used to provide physical protections or countermeasures.
  • process-procedure: A list of steps or actions to take to achieve some end result.
  • plan: An applicable plan.
  • guidance: Any guideline or recommendation.
  • standard: Any organizational or industry standard.
  • validation: An external assessment performed on some other component, that has been validated by a third-party.
  • network: A physical or virtual network.
Elements (9)

title

markup-line

[1]

Component Title

Description A human readable name for the system component.

description

markup-multiline

[1]

Component Description

Description A description of the component, including information about its function.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

purpose

markup-line

[0 or 1]

Purpose

Description A summary of the technological or business purpose of the component.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

status

element

[1]

Status

Description Describes the operational status of the system component.

Attribute (1)
state

token

[1]

State

Description The operational status.

Constraint (1)

allowed values

The value must be one of the following:

  • under-development: The component is being designed, developed, or implemented.
  • operational: The component is currently operational and is available for use in the system.
  • disposition: The component is no longer operational.
  • other: Some other state.
Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

responsible-role

element
(global definition)

[0 to ∞]

Responsible Role

Description A reference to one or more roles with responsibility for performing a function relative to the containing object.

Attribute (1)
role-id

token

[1]

Responsible Role ID

Description A human-oriented identifier reference to roles responsible for the business function.

Elements (4)
prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

party-uuid

uuid

[0 to ∞]

Party Reference

Description A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).

Remarks

See the Concepts - Identifier Use page for additional information about the referenced identifier's scope.

Constraint (1)

index has keythis value must correspond to a listing in the index index-metadata-party-uuid using a key constructed of key field(s) .

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

protocol

element
(global definition)

[0 to ∞]

Service Protocol Information

Description Information about the protocol used to provide a service.

Remarks

Used for service components to define the protocols supported by the service.

Attributes (2)
uuid

uuid

[0 or 1]

Service Protocol Information Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

name

string

[1]

Protocol Name

Description The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry.

Remarks

The short name of the protocol (e.g., https).

Elements (2)
title

markup-line

[0 or 1]

Protocol Title

Description A human readable name for the protocol (e.g., Transport Layer Security).

port-range

empty

[0 to ∞]

Port Range

Description Where applicable this is the IPv4 port range on which the service operates.

Remarks

To be validated as a natural number (integer >= 1). A single port uses the same value for start and end. Use multiple 'port-range' entries for non-contiguous ranges.

Attributes (3)

Description Indicates the starting port number in a port range

Remarks

Should be a number within a permitted range

Description Indicates the ending port number in a port range

Remarks

Should be a number within a permitted range

transport

token

[0 or 1]

Transport

Description Indicates the transport type.

Constraint (1)

allowed values

The value must be one of the following:

  • TCP: Transmission Control Protocol
  • UDP: User Datagram Protocol

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

inventory-item

element
(global definition)

[0 to ∞]

Inventory Item

Description A single managed inventory item within the system.

Remarks

Used to add any inventory-items, not defined via the System Security Plan (AR->AP->SSP)

Constraints (9)

allowed values for prop/@name

The value may be locally defined, or one of the following:

  • ipv4-address: The Internet Protocol v4 Address of the asset.
  • ipv6-address: The Internet Protocol v6 Address of the asset.
  • fqdn: The full-qualified domain name (FQDN) of the asset.
  • uri: A Uniform Resource Identifier (URI) for the asset.
  • serial-number: A serial number for the asset.
  • netbios-name: The NetBIOS name for the asset.
  • mac-address: The media access control (MAC) address for the asset.
  • physical-location: The physical location of the asset's hardware (e.g., Data Center ID, Cage#, Rack#, or other meaningful location identifiers).
  • is-scanned: is the asset subjected to network scans? (yes/no)
  • hardware-model: The model number of the hardware used by the asset.
  • os-name: The name of the operating system used by the asset.
  • os-version: The version of the operating system used by the asset.
  • software-name: The software product name used by the asset.
  • software-version: The software product version used by the asset.
  • software-patch-level: The software product patch level used by the asset.
  • asset-type: Simple indication of the asset's function, such as Router, Storage Array, DNS Server.
  • asset-id: An organizationally specific identifier that is used to uniquely identify a logical or tangible item by the organization that owns the item.
  • asset-tag: An asset tag assigned by the organization responsible for maintaining the logical or tangible item.
  • public: Identifies whether the asset is publicly accessible (yes/no)
  • virtual: Identifies whether the asset is virtualized (yes/no)
  • vlan-id: Virtual LAN identifier of the asset.
  • network-id: The network identifier of the asset.
  • label: A human-readable label for the parent context.
  • sort-id: An alternative identifier, whose value is easily sortable among other such values in the document.
  • baseline-configuration-name: The name of the baseline configuration for the asset.
  • allows-authenticated-scan: Can the asset be check with an authenticated scan? (yes/no)
  • function: The function provided by the asset for the system.

allowed values for prop[@name='asset-type']/@value

The value must be one of the following:

  • operating-system: System software that manages computer hardware, software resources, and provides common services for computer programs.
  • database: An electronic collection of data, or information, that is specially organized for rapid search and retrieval.
  • web-server: A system that delivers content or services to end users over the Internet or an intranet.
  • dns-server: A system that resolves domain names to internet protocol (IP) addresses.
  • email-server: A computer system that sends and receives electronic mail messages.
  • directory-server: A system that stores, organizes and provides access to directory information in order to unify network resources.
  • pbx: A private branch exchange (PBX) provides a a private telephone switchboard.
  • firewall: A network security system that monitors and controls incoming and outgoing network traffic based on predetermined security rules.
  • router: A physical or virtual networking device that forwards data packets between computer networks.
  • switch: A physical or virtual networking device that connects devices within a computer network by using packet switching to receive and forward data to the destination device.
  • storage-array: A consolidated, block-level data storage capability.
  • appliance: A physical or virtual machine that centralizes hardware, software, or services for a specific purpose.

allowed value for (.)[@type=('software', 'hardware', 'service')]/prop/@name

The value may be locally defined, or the following:

  • vendor-name: The name of the company or organization

allowed values for prop[@name='is-scanned']/@value

The value must be one of the following:

  • yes: The asset is included in periodic vulnerability scanning.
  • no: The asset is not included in periodic vulnerability scanning.

allowed value for link/@rel

The value may be locally defined, or the following:

  • baseline-template: A reference to the baseline template used to configure the asset.

allowed values for responsible-party/@role-id

The value may be locally defined, or one of the following:

  • asset-owner: Accountable for ensuring the asset is managed in accordance with organizational policies and procedures.
  • asset-administrator: Responsible for administering a set of assets.
  • security-operations: Members of the security operations center (SOC).
  • network-operations: Members of the network operations center (NOC).
  • incident-response: Responsible for responding to an event that could lead to loss of, or disruption to, an organization's operations, services or functions.
  • help-desk: Responsible for providing information and support to users.
  • configuration-management: Responsible for the configuration management processes governing changes to the asset.
  • maintainer: Responsible for the creation and maintenance of a component.
  • provider: Organization responsible for providing the component, if this is different from the "maintainer" (e.g., a reseller).

index has key for responsible-partythis value must correspond to a listing in the index index-metadata-role-id using a key constructed of key field(s) @role-id

index has key for responsible-partythis value must correspond to a listing in the index index-metadata-party-uuid using a key constructed of key field(s) party-uuid

is unique for responsible-party: any target value must be unique (i.e., occur only once)

Attribute (1)

uuid

uuid

[1]

Inventory Item Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

Elements (6)

description

markup-multiline

[1]

Inventory Item Description

Description A summary of the inventory item stating its purpose within the system.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

responsible-party

element
(global definition)

[0 to ∞]

Responsible Party

Description A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object.

Constraints (2)

index has keythis value must correspond to a listing in the index index-metadata-role-id using a key constructed of key field(s) @role-id

index has key for party-uuidthis value must correspond to a listing in the index index-metadata-party-uuid using a key constructed of key field(s) .

Attribute (1)
role-id

token

[1]

Responsible Role

Description A human-oriented identifier reference to roles served by the user.

Elements (4)
party-uuid

uuid

[1 to ∞]

Party Reference

Description A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).

Remarks

See the Concepts - Identifier Use page for additional information about the referenced identifier's scope.

Specifies one or more parties that are responsible for performing the associated role.

Constraint (1)

index has keythis value must correspond to a listing in the index index-metadata-party-uuid using a key constructed of key field(s) .

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

implemented-component

element

[0 to ∞]

Implemented Component

Description The set of components that are implemented in a given system inventory item.

Constraints (4)

allowed values for prop/@name

The value may be locally defined, or one of the following:

  • version: The version of the component.
  • patch-level: The specific patch level of the component.
  • model: The model of the component.
  • release-date: The date the component was released, such as a software release date or policy publication date.
  • validation-type: Used with component-type='validation' to provide a well-known name for a kind of validation.
  • validation-reference: Used with component-type='validation' to indicate the validating body's assigned identifier for their validation of this component.
  • asset-type: Simple indication of the asset's function, such as Router, Storage Array, DNS Server.
  • asset-id: An organizationally specific identifier that is used to uniquely identify a logical or tangible item by the organization that owns the item.
  • asset-tag: An asset tag assigned by the organization responsible for maintaining the logical or tangible item.
  • public: Identifies whether the asset is publicly accessible (yes/no)
  • virtual: Identifies whether the asset is virtualized (yes/no)
  • vlan-id: Virtual LAN identifier of the asset.
  • network-id: The network identifier of the asset.
  • label: A human-readable label for the parent context.
  • sort-id: An alternative identifier, whose value is easily sortable among other such values in the document.
  • baseline-configuration-name: The name of the baseline configuration for the asset.
  • allows-authenticated-scan: Can the asset be check with an authenticated scan? (yes/no)
  • function: The function provided by the asset for the system.

has cardinality for prop[@name='asset-id'] the cardinality of prop[@name='asset-id'] is constrained: 1; maximum unbounded.

allowed values for responsible-party/@role-id

The value may be locally defined, or one of the following:

  • asset-owner: Accountable for ensuring the asset is managed in accordance with organizational policies and procedures.
  • asset-administrator: Responsible for administering a set of assets.
  • security-operations: Members of the security operations center (SOC).
  • network-operations: Members of the network operations center (NOC).
  • incident-response: Responsible for responding to an event that could lead to loss of, or disruption to, an organization's operations, services or functions.
  • help-desk: Responsible for providing information and support to users.
  • configuration-management: Responsible for the configuration management processes governing changes to the asset.

is unique for responsible-party: any target value must be unique (i.e., occur only once)

Attribute (1)
component-uuid

uuid

[1]

Component Universally Unique Identifier Reference

Description A machine-oriented identifier reference to a component that is implemented as part of an inventory item.

Elements (4)
prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

responsible-party

element
(global definition)

[0 to ∞]

Responsible Party

Description A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object.

Remarks

This construct is used to either: 1) associate a party or parties to a role defined on the component using the responsible-role construct, or 2) to define a party or parties that are responsible for a role defined within the context of the containing inventory-item.

Constraints (2)

index has keythis value must correspond to a listing in the index index-metadata-role-id using a key constructed of key field(s) @role-id

index has key for party-uuidthis value must correspond to a listing in the index index-metadata-party-uuid using a key constructed of key field(s) .

Attribute (1)
role-id

token

[1]

Responsible Role

Description A human-oriented identifier reference to roles served by the user.

Elements (4)
party-uuid

uuid

[1 to ∞]

Party Reference

Description A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).

Remarks

See the Concepts - Identifier Use page for additional information about the referenced identifier's scope.

Specifies one or more parties that are responsible for performing the associated role.

Constraint (1)

index has keythis value must correspond to a listing in the index index-metadata-party-uuid using a key constructed of key field(s) .

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)

name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.

uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)

href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference

media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)

text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

user

element
(global definition)

[0 to ∞]

System User

Description A type of user that interacts with the system based on an associated role.

Remarks

Permissible values to be determined closer to the application, such as by a receiving authority.

Used to add any users, not defined via the System Security Plan (AR->AP->SSP)

Constraints (4)

allowed values for prop/@name

The value may be locally defined, or one of the following:

  • type: The type of user, such as internal, external, or general-public.
  • privilege-level: The user's privilege level within the system, such as privileged, non-privileged, no-logical-access.

allowed values for prop[@name='type']/@value

The value must be one of the following:

  • internal: A user account for a person or entity that is part of the organization who owns or operates the system.
  • external: A user account for a person or entity that is not part of the organization who owns or operates the system.
  • general-public: A user of the system considered to be outside

allowed values for prop[@name='privilege-level']/@value

The value must be one of the following:

  • privileged: This role has elevated access to the system, such as a group or system administrator.
  • non-privileged: This role has typical user-level access to the system without elevated access.
  • no-logical-access: This role has no access to the system, such as a manager who approves access as part of a process.

allowed values for role-id

The value may be locally defined, or one of the following:

  • asset-owner: Accountable for ensuring the asset is managed in accordance with organizational policies and procedures.
  • asset-administrator: Responsible for administering a set of assets.
  • security-operations: Members of the security operations center (SOC).
  • network-operations: Members of the network operations center (NOC).
  • incident-response: Responsible for responding to an event that could lead to loss of, or disruption to, an organization's operations, services or functions.
  • help-desk: Responsible for providing information and support to users.
  • configuration-management: Responsible for the configuration management processes governing changes to the asset.
Attribute (1)

uuid

uuid

[1]

User Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

Elements (8)

title

markup-line

[0 or 1]

User Title

Description A name given to the user, which may be used by a tool for display and navigation.

short-name

string

[0 or 1]

User Short Name

Description A short common name, abbreviation, or acronym for the user.

description

markup-multiline

[0 or 1]

User Description

Description A summary of the user's purpose within the system.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

role-id

token

[0 to ∞]

Role Identifier Reference

Description A human-oriented identifier reference to roles served by the user.

Constraint (1)

index has keythis value must correspond to a listing in the index index-metadata-role-id using a key constructed of key field(s) .

authorized-privilege

element
(global definition)

[0 to ∞]

Privilege

Description Identifies a specific system privilege held by the user, along with an associated description and/or rationale for the privilege.

Elements (3)
title

markup-line

[1]

Privilege Title

Description A human readable name for the privilege.

description

markup-multiline

[0 or 1]

Privilege Description

Description A summary of the privilege's purpose within the system.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

function-performed

string

[1 to ∞]

Functions Performed

Description Describes a function performed for a given authorized privilege by this user class.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

objectives-and-methods

element
(global definition)

[0 to ∞]

Assessment-Specific Control Objective

Description A local definition of a control objective for this assessment. Uses catalog syntax for control objective and assessment actions.

Constraints (5)

allowed values for part[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]

The value must be one of the following:

  • objective: **(deprecated)** Use 'assessment-objective' instead.
  • assessment: **(deprecated)** Use 'assessment-method' instead.
  • assessment-objective: The part defines an assessment objective.
  • assessment-method: The part defines an assessment method.

has cardinality for part[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name=('objective','assessment-objective')] the cardinality of part[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name=('objective','assessment-objective')] is constrained: 0; maximum 1.

has cardinality for part[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name=('assessment','assessment-method')]/prop[has-oscal-namespace(('http://csrc.nist.gov/ns/oscal','http://csrc.nist.gov/ns/rmf')) and @name='method'] the cardinality of part[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name=('assessment','assessment-method')]/prop[has-oscal-namespace(('http://csrc.nist.gov/ns/oscal','http://csrc.nist.gov/ns/rmf')) and @name='method'] is constrained: 1; maximum 1.

has cardinality for part[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name=('assessment','assessment-method')]/part[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name=('objects','assessment-objects')] the cardinality of part[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name=('assessment','assessment-method')]/part[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name=('objects','assessment-objects')] is constrained: 1; maximum 1.

has cardinality for part[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name=('objective','assessment-objective')]/prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name='method-id'] the cardinality of part[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name=('objective','assessment-objective')]/prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name='method-id'] is constrained: 1; maximum unbounded.

Attribute (1)

control-id

token

[1]

Control Identifier Reference

Description A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).

Remarks

The specified control-id must be a valid value within the baseline identified by the target system's SSP via the import-profile statement.

Elements (5)

description

markup-multiline

[0 or 1]

Objective Description

Description A human-readable description of this control objective.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

part

element
(global definition)

[1 to ∞]

Part

Description A partition of a control's definition or a child of another part.

Remarks

A part provides for logical partitioning of prose, and can be thought of as a grouping structure (e.g., section). A part can have child parts allowing for arbitrary nesting of prose content (e.g., statement hierarchy). A part can contain prop objects that allow for enriching prose text with structured name/value information.

A part can be assigned an optional id, which allows for internal and external references to the textual concept contained within a part. A id provides a means for an OSCAL profile, or a higher layer OSCAL model to reference a specific part within a catalog. For example, an id can be used to reference or to make modifications to a control statement in a profile.

Use of part and prop provides for a wide degree of extensibility within the OSCAL catalog model. The optional ns provides a means to qualify a part's name, allowing for organization-specific vocabularies to be defined with clear semantics. Any organization that extends OSCAL in this way should consistently assign a ns value that represents the organization, making a given namespace qualified name unique to that organization. This allows the combination of ns and name to always be unique and unambiguous, even when mixed with extensions from other organizations. Each organization is responsible for governance of their own extensions, and is strongly encouraged to publish their extensions as standards to their user community. If no ns is provided, the name is expected to be in the "OSCAL" namespace.

To ensure a ns is unique to an organization and naming conflicts are avoided, a URI containing a DNS or other globally defined organization name should be used. For example, if FedRAMP and DoD both extend OSCAL, FedRAMP will use the ns http://fedramp.gov/ns/oscal, while DoD might use the ns https://defense.gov for any organization specific name.

Tools that process OSCAL content are not required to interpret unrecognized OSCAL extensions; however, OSCAL compliant tools should not modify or remove unrecognized extensions, unless there is a compelling reason to do so, such as data sensitivity.

Constraint (1)

allowed values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name

The value must be one of the following:

  • label: A human-readable label for the parent context, which may be rendered in place of the actual identifier for some use cases.
  • sort-id: An alternative identifier, whose value is easily sortable among other such values in the document.
  • alt-identifier: An alternate or aliased identifier for the parent context.
Attributes (4)
id

token

[0 or 1]

Part Identifier

Description A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

name

token

[1]

Part Name

Description A textual label that uniquely identifies the part's semantic type.

ns

uri

[0 or 1]

Part Namespace

Description A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated text used in a part. This allows the semantics associated with a given name to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

class

token

[0 or 1]

Part Class

Description A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

A class can also be used in an OSCAL profile as a means to target an alteration to control content.

Elements (4+)
title

markup-line

[0 or 1]

Part Title

Description A name given to the part, which may be used by a tool for display and navigation.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

part

element
(global definition)

[0 to ∞]

Part

Description A partition of a control's definition or a child of another part.

Remarks

A part provides for logical partitioning of prose, and can be thought of as a grouping structure (e.g., section). A part can have child parts allowing for arbitrary nesting of prose content (e.g., statement hierarchy). A part can contain prop objects that allow for enriching prose text with structured name/value information.

A part can be assigned an optional id, which allows for internal and external references to the textual concept contained within a part. A id provides a means for an OSCAL profile, or a higher layer OSCAL model to reference a specific part within a catalog. For example, an id can be used to reference or to make modifications to a control statement in a profile.

Use of part and prop provides for a wide degree of extensibility within the OSCAL catalog model. The optional ns provides a means to qualify a part's name, allowing for organization-specific vocabularies to be defined with clear semantics. Any organization that extends OSCAL in this way should consistently assign a ns value that represents the organization, making a given namespace qualified name unique to that organization. This allows the combination of ns and name to always be unique and unambiguous, even when mixed with extensions from other organizations. Each organization is responsible for governance of their own extensions, and is strongly encouraged to publish their extensions as standards to their user community. If no ns is provided, the name is expected to be in the "OSCAL" namespace.

To ensure a ns is unique to an organization and naming conflicts are avoided, a URI containing a DNS or other globally defined organization name should be used. For example, if FedRAMP and DoD both extend OSCAL, FedRAMP will use the ns http://fedramp.gov/ns/oscal, while DoD might use the ns https://defense.gov for any organization specific name.

Tools that process OSCAL content are not required to interpret unrecognized OSCAL extensions; however, OSCAL compliant tools should not modify or remove unrecognized extensions, unless there is a compelling reason to do so, such as data sensitivity.

Constraint (1)

allowed values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name

The value must be one of the following:

  • label: A human-readable label for the parent context, which may be rendered in place of the actual identifier for some use cases.
  • sort-id: An alternative identifier, whose value is easily sortable among other such values in the document.
  • alt-identifier: An alternate or aliased identifier for the parent context.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

activity

element
(global definition)

[0 to ∞]

Activity

Description Identifies an assessment or related process that can be performed. In the assessment plan, this is an intended activity which may be associated with an assessment task. In the assessment results, this an activity that was actually performed as part of an assessment.

Constraints (4)

allowed value for prop/@name

The value may be locally defined, or the following:

  • method: The assessment method to use. This typically appears on parts with the name "assessment".

has cardinality for prop[@name='method'] the cardinality of prop[@name='method'] is constrained: 1; maximum unbounded.

allowed values for prop[@name='method']/@value

The value must be one of the following:

  • INTERVIEW: The process of holding discussions with individuals or groups of individuals within an organization to once again, facilitate assessor understanding, achieve clarification, or obtain evidence.
  • EXAMINE: The process of reviewing, inspecting, observing, studying, or analyzing one or more assessment objects (i.e., specifications, mechanisms, or activities).
  • TEST: The process of exercising one or more assessment objects (i.e., activities or mechanisms) under specified conditions to compare actual with expected behavior.

is unique for responsible-role: any target value must be unique (i.e., occur only once)

Attribute (1)

uuid

uuid

[1]

Assessment Activity Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

Elements (8)

title

markup-line

[0 or 1]

Included Activity Title

Description The title for this included activity.

description

markup-multiline

[1]

Included Activity Description

Description A human-readable description of this included activity.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

step

element

[0 to ∞]

Step

Description Identifies an individual step in a series of steps related to an activity, such as an assessment test or examination procedure.

Constraint (1)

is unique for responsible-role: any target value must be unique (i.e., occur only once)

Attribute (1)
uuid

uuid

[1]

Step Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

Elements (7)
title

markup-line

[0 or 1]

Step Title

Description The title for this step.

description

markup-multiline

[1]

Step Description

Description A human-readable description of this step.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

reviewed-controls

element
(global definition)

[0 or 1]

Reviewed Controls and Control Objectives

Description Identifies the controls being assessed and their control objectives.

Remarks

In the context of an assessment plan, this construct is used to identify the controls and control objectives that are to be assessed. In the context of an assessment result, this construct is used to identify the actual controls and objectives that were assessed, reflecting any changes from the plan.

When resolving the selection of controls and control objectives, the following processing will occur:

1. Controls will be resolved by creating a set of controls based on the control-selections by first handling the includes, and then removing any excluded controls.

2. The set of control objectives will be resolved from the set of controls that was generated in the previous step. The set of control objectives is based on the control-objective-selection by first handling the includes, and then removing any excluded control objectives.

This can be optionally used to define the set of controls and control objectives that are assessed by this step.

Elements (6)
description

markup-multiline

[0 or 1]

Control Objective Description

Description A human-readable description of control objectives.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)

name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.

uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)

href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference

media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)

text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

control-selection

element

[1 to ∞]

Assessed Controls

Description Identifies the controls being assessed. In the assessment plan, these are the planned controls. In the assessment results, these are the actual controls, and reflects any changes from the plan.

Remarks

The include-all, specifies all control identified in the baseline are included in the scope if this assessment, as specified by the include-profile statement within the linked SSP.

Any control specified within exclude-controls must first be within a range of explicitly included controls, via include-controls or include-all.

Elements (7)

description

markup-multiline

[0 or 1]

Assessed Controls Description

Description A human-readable description of in-scope controls specified for assessment.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)

name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.

uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)

href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference

media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)

text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

A choice:

include-all

empty

[1]

Include All

Description Include all controls from the imported catalog or profile resources.

Remarks

This element provides an alternative to calling controls individually from a catalog.

include-control

element

[1 to ∞]

Select Control

Description Used to select a control for inclusion/exclusion based on one or more control identifiers. A set of statement identifiers can be used to target the inclusion/exclusion to only specific control statements providing more granularity over the specific statements that are within the asessment scope.

Remarks

Used to select a control for inclusion by the control's identifier. Specific control statements can be selected by their statement identifier.

Attribute (1)

control-id

token

[1]

Control Identifier Reference

Description A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).

Element (1)

statement-id

token

[0 to ∞]

Include Specific Statements

Description Used to constrain the selection to only specificity identified statements.

exclude-control

element

[0 to ∞]

Select Control

Description Used to select a control for inclusion/exclusion based on one or more control identifiers. A set of statement identifiers can be used to target the inclusion/exclusion to only specific control statements providing more granularity over the specific statements that are within the asessment scope.

Remarks

Used to select a control for exclusion by the control's identifier. Specific control statements can be excluded by their statement identifier.

Attribute (1)

control-id

token

[1]

Control Identifier Reference

Description A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).

Element (1)

statement-id

token

[0 to ∞]

Include Specific Statements

Description Used to constrain the selection to only specificity identified statements.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

control-objective-selection

element

[0 to ∞]

Referenced Control Objectives

Description Identifies the control objectives of the assessment. In the assessment plan, these are the planned objectives. In the assessment results, these are the assessed objectives, and reflects any changes from the plan.

Remarks

The include-all field, specifies all control objectives for any in-scope control. In-scope controls are defined in the control-selection.

Any control objective specified within exclude-controls must first be within a range of explicitly included control objectives, via include-objectives or include-all.

Elements (7)

description

markup-multiline

[0 or 1]

Control Objectives Description

Description A human-readable description of this collection of control objectives.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)

name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.

uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)

href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference

media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)

text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

A choice:

include-all

empty

[1]

Include All

Description Include all controls from the imported catalog or profile resources.

Remarks

This element provides an alternative to calling controls individually from a catalog.

include-objective

empty

[1 to ∞]

Select Objective

Description Used to select a control objective for inclusion/exclusion based on the control objective's identifier.

Remarks

Used to select a control objective for inclusion by the control objective's identifier.

Attribute (1)

objective-id

token

[1]

Objective ID

Description Points to an assessment objective.

exclude-objective

empty

[0 to ∞]

Select Objective

Description Used to select a control objective for inclusion/exclusion based on the control objective's identifier.

Remarks

Used to select a control objective for exclusion by the control objective's identifier.

Attribute (1)

objective-id

token

[1]

Objective ID

Description Points to an assessment objective.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

responsible-role

element
(global definition)

[0 to ∞]

Responsible Role

Description A reference to one or more roles with responsibility for performing a function relative to the containing object.

Remarks

Identifies the roles, and optionally the parties, associated with this step that is part of an assessment activity.

Attribute (1)
role-id

token

[1]

Responsible Role ID

Description A human-oriented identifier reference to roles responsible for the business function.

Elements (4)
prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)

name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.

uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)

href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference

media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)

text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

party-uuid

uuid

[0 to ∞]

Party Reference

Description A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).

Remarks

See the Concepts - Identifier Use page for additional information about the referenced identifier's scope.

Constraint (1)

index has keythis value must correspond to a listing in the index index-metadata-party-uuid using a key constructed of key field(s) .

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

related-controls

element
(global definition)

[0 or 1]

Reviewed Controls and Control Objectives

Description Identifies the controls being assessed and their control objectives.

Remarks

In the context of an assessment plan, this construct is used to identify the controls and control objectives that are to be assessed. In the context of an assessment result, this construct is used to identify the actual controls and objectives that were assessed, reflecting any changes from the plan.

When resolving the selection of controls and control objectives, the following processing will occur:

1. Controls will be resolved by creating a set of controls based on the control-selections by first handling the includes, and then removing any excluded controls.

2. The set of control objectives will be resolved from the set of controls that was generated in the previous step. The set of control objectives is based on the control-objective-selection by first handling the includes, and then removing any excluded control objectives.

This can be optionally used to define the set of controls and control objectives that are assessed or remediated by this activity.

Elements (6)
description

markup-multiline

[0 or 1]

Control Objective Description

Description A human-readable description of control objectives.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

control-selection

element

[1 to ∞]

Assessed Controls

Description Identifies the controls being assessed. In the assessment plan, these are the planned controls. In the assessment results, these are the actual controls, and reflects any changes from the plan.

Remarks

The include-all, specifies all control identified in the baseline are included in the scope if this assessment, as specified by the include-profile statement within the linked SSP.

Any control specified within exclude-controls must first be within a range of explicitly included controls, via include-controls or include-all.

Elements (7)
description

markup-multiline

[0 or 1]

Assessed Controls Description

Description A human-readable description of in-scope controls specified for assessment.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)

name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.

uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)

href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference

media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)

text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

A choice:

include-all

empty

[1]

Include All

Description Include all controls from the imported catalog or profile resources.

Remarks

This element provides an alternative to calling controls individually from a catalog.

include-control

element

[1 to ∞]

Select Control

Description Used to select a control for inclusion/exclusion based on one or more control identifiers. A set of statement identifiers can be used to target the inclusion/exclusion to only specific control statements providing more granularity over the specific statements that are within the asessment scope.

Remarks

Used to select a control for inclusion by the control's identifier. Specific control statements can be selected by their statement identifier.

Attribute (1)

control-id

token

[1]

Control Identifier Reference

Description A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).

Element (1)

statement-id

token

[0 to ∞]

Include Specific Statements

Description Used to constrain the selection to only specificity identified statements.

exclude-control

element

[0 to ∞]

Select Control

Description Used to select a control for inclusion/exclusion based on one or more control identifiers. A set of statement identifiers can be used to target the inclusion/exclusion to only specific control statements providing more granularity over the specific statements that are within the asessment scope.

Remarks

Used to select a control for exclusion by the control's identifier. Specific control statements can be excluded by their statement identifier.

Attribute (1)

control-id

token

[1]

Control Identifier Reference

Description A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).

Element (1)

statement-id

token

[0 to ∞]

Include Specific Statements

Description Used to constrain the selection to only specificity identified statements.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

control-objective-selection

element

[0 to ∞]

Referenced Control Objectives

Description Identifies the control objectives of the assessment. In the assessment plan, these are the planned objectives. In the assessment results, these are the assessed objectives, and reflects any changes from the plan.

Remarks

The include-all field, specifies all control objectives for any in-scope control. In-scope controls are defined in the control-selection.

Any control objective specified within exclude-controls must first be within a range of explicitly included control objectives, via include-objectives or include-all.

Elements (7)
description

markup-multiline

[0 or 1]

Control Objectives Description

Description A human-readable description of this collection of control objectives.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)

name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.

uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)

href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference

media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)

text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

A choice:

include-all

empty

[1]

Include All

Description Include all controls from the imported catalog or profile resources.

Remarks

This element provides an alternative to calling controls individually from a catalog.

include-objective

empty

[1 to ∞]

Select Objective

Description Used to select a control objective for inclusion/exclusion based on the control objective's identifier.

Remarks

Used to select a control objective for inclusion by the control objective's identifier.

Attribute (1)

objective-id

token

[1]

Objective ID

Description Points to an assessment objective.

exclude-objective

empty

[0 to ∞]

Select Objective

Description Used to select a control objective for inclusion/exclusion based on the control objective's identifier.

Remarks

Used to select a control objective for exclusion by the control objective's identifier.

Attribute (1)

objective-id

token

[1]

Objective ID

Description Points to an assessment objective.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

responsible-role

element
(global definition)

[0 to ∞]

Responsible Role

Description A reference to one or more roles with responsibility for performing a function relative to the containing object.

Remarks

Since responsible-role associates multiple party-uuid entries with a single role-id, each role-id must be referenced only once.

Attribute (1)
role-id

token

[1]

Responsible Role ID

Description A human-oriented identifier reference to roles responsible for the business function.

Elements (4)
prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

party-uuid

uuid

[0 to ∞]

Party Reference

Description A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).

Remarks

See the Concepts - Identifier Use page for additional information about the referenced identifier's scope.

Constraint (1)

index has keythis value must correspond to a listing in the index index-metadata-party-uuid using a key constructed of key field(s) .

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

terms-and-conditions

element

[0 or 1]

Assessment Plan Terms and Conditions

Description Used to define various terms and conditions under which an assessment, described by the plan, can be performed. Each child part defines a different type of term or condition.

Constraint (1)

allowed values for part/@name

The value must be one of the following:

  • rules-of-engagement: Defines the circumstances, conditions, degree, and manner in which the use of cyber-attack techniques or actions may be applied to the assessment.
  • disclosures: Any information the assessor should make known to the system owner or authorizing official. Has child 'item' parts for each individual disclosure.
  • assessment-inclusions: Defines any assessment activities which the system owner or authorizing official wishes to ensure are performed as part of the assessment.
  • assessment-exclusions: Defines any assessment activities which the system owner or authorizing official explicitly prohibits from being performed as part of the assessment.
  • results-delivery: Defines conditions related to the delivery of the assessment results, such as when to deliver, how, and to whom.
  • assumptions: Defines any supposition made by the assessor. Has child 'item' parts for each assumption.
  • methodology: An explanation of practices, procedures, and rules used in the course of the assessment.
Element (1)

part

element
(global definition)

[0 to ∞]

Assessment Part

Description A partition of an assessment plan or results or a child of another part.

Remarks

A part provides for logical partitioning of prose, and can be thought of as a grouping structure (e.g., section). A part can have child parts allowing for arbitrary nesting of prose content (e.g., statement hierarchy). A part can contain prop objects that allow for enriching prose text with structured name/value information.

A part can be assigned an optional id, which allows for internal and external references to the textual concept contained within a part. A id provides a means for an OSCAL profile, or a higher layer OSCAL model to reference a specific part within a catalog. For example, an id can be used to reference or to make modifications to a control statement in a profile.

Use of part and prop provides for a wide degree of extensibility within the OSCAL catalog model. The optional ns provides a means to qualify a part's name, allowing for organization-specific vocabularies to be defined with clear semantics. Any organization that extends OSCAL in this way should consistently assign a ns value that represents the organization, making a given namespace qualified name unique to that organization. This allows the combination of ns and name to always be unique and unambiguous, even when mixed with extensions from other organizations. Each organization is responsible for governance of their own extensions, and is strongly encouraged to publish their extensions as standards to their user community. If no ns is provided, the name is expected to be in the "OSCAL" namespace.

To ensure a ns is unique to an organization and naming conflicts are avoided, a URI containing a DNS or other globally defined organization name should be used. For example, if FedRAMP and DoD both extend OSCAL, FedRAMP will use the ns http://fedramp.gov/ns/oscal, while DoD might use the ns https://defense.gov for any organization specific name.

Tools that process OSCAL content are not required to interpret unrecognized OSCAL extensions; however, OSCAL compliant tools should not modify or remove unrecognized extensions, unless there is a compelling reason to do so, such as data sensitivity.

Constraints (3)

allowed value for .[@name='objective']/prop/@name

The value may be locally defined, or the following:

  • method: The assessment method to use. This typically appears on parts with the name "objective".

has cardinality for .[@name='objective']/prop[@name='method'] the cardinality of .[@name='objective']/prop[@name='method'] is constrained: 1; maximum unbounded.

allowed values for .[@name='objective']/prop[@name='method']/@value

The value must be one of the following:

  • INTERVIEW: The process of holding discussions with individuals or groups of individuals within an organization to once again, facilitate assessor understanding, achieve clarification, or obtain evidence.
  • EXAMINE: The process of reviewing, inspecting, observing, studying, or analyzing one or more assessment objects (i.e., specifications, mechanisms, or activities).
  • TEST: The process of exercising one or more assessment objects (i.e., activities or mechanisms) under specified conditions to compare actual with expected behavior.
Attributes (4)

uuid

uuid

[0 or 1]

Part Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

name

token

[1]

Part Name

Description A textual label that uniquely identifies the part's semantic type.

Constraint (1)

allowed values

The value may be locally defined, or one of the following:

  • asset: An assessment asset.
  • method: An assessment method.
  • objective: Describes a set of control objectives.

ns

uri

[0 or 1]

Part Namespace

Description A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated text used in a part. This allows the semantics associated with a given name to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

class

token

[0 or 1]

Part Class

Description A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

A class can also be used in an OSCAL profile as a means to target an alteration to control content.

Elements (4+)

title

markup-line

[0 or 1]

Part Title

Description A name given to the part, which may be used by a tool for display and navigation.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

part

element
(global definition)

[0 to ∞]

Assessment Part

Description A partition of an assessment plan or results or a child of another part.

Remarks

A part provides for logical partitioning of prose, and can be thought of as a grouping structure (e.g., section). A part can have child parts allowing for arbitrary nesting of prose content (e.g., statement hierarchy). A part can contain prop objects that allow for enriching prose text with structured name/value information.

A part can be assigned an optional id, which allows for internal and external references to the textual concept contained within a part. A id provides a means for an OSCAL profile, or a higher layer OSCAL model to reference a specific part within a catalog. For example, an id can be used to reference or to make modifications to a control statement in a profile.

Use of part and prop provides for a wide degree of extensibility within the OSCAL catalog model. The optional ns provides a means to qualify a part's name, allowing for organization-specific vocabularies to be defined with clear semantics. Any organization that extends OSCAL in this way should consistently assign a ns value that represents the organization, making a given namespace qualified name unique to that organization. This allows the combination of ns and name to always be unique and unambiguous, even when mixed with extensions from other organizations. Each organization is responsible for governance of their own extensions, and is strongly encouraged to publish their extensions as standards to their user community. If no ns is provided, the name is expected to be in the "OSCAL" namespace.

To ensure a ns is unique to an organization and naming conflicts are avoided, a URI containing a DNS or other globally defined organization name should be used. For example, if FedRAMP and DoD both extend OSCAL, FedRAMP will use the ns http://fedramp.gov/ns/oscal, while DoD might use the ns https://defense.gov for any organization specific name.

Tools that process OSCAL content are not required to interpret unrecognized OSCAL extensions; however, OSCAL compliant tools should not modify or remove unrecognized extensions, unless there is a compelling reason to do so, such as data sensitivity.

Constraints (3)

allowed value for .[@name='objective']/prop/@name

The value may be locally defined, or the following:

  • method: The assessment method to use. This typically appears on parts with the name "objective".

has cardinality for .[@name='objective']/prop[@name='method'] the cardinality of .[@name='objective']/prop[@name='method'] is constrained: 1; maximum unbounded.

allowed values for .[@name='objective']/prop[@name='method']/@value

The value must be one of the following:

  • INTERVIEW: The process of holding discussions with individuals or groups of individuals within an organization to once again, facilitate assessor understanding, achieve clarification, or obtain evidence.
  • EXAMINE: The process of reviewing, inspecting, observing, studying, or analyzing one or more assessment objects (i.e., specifications, mechanisms, or activities).
  • TEST: The process of exercising one or more assessment objects (i.e., activities or mechanisms) under specified conditions to compare actual with expected behavior.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

reviewed-controls

element
(global definition)

[1]

Reviewed Controls and Control Objectives

Description Identifies the controls being assessed and their control objectives.

Remarks

In the context of an assessment plan, this construct is used to identify the controls and control objectives that are to be assessed. In the context of an assessment result, this construct is used to identify the actual controls and objectives that were assessed, reflecting any changes from the plan.

When resolving the selection of controls and control objectives, the following processing will occur:

1. Controls will be resolved by creating a set of controls based on the control-selections by first handling the includes, and then removing any excluded controls.

2. The set of control objectives will be resolved from the set of controls that was generated in the previous step. The set of control objectives is based on the control-objective-selection by first handling the includes, and then removing any excluded control objectives.

Elements (6)

description

markup-multiline

[0 or 1]

Control Objective Description

Description A human-readable description of control objectives.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)

name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.

uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)

href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference

media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)

text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

control-selection

element

[1 to ∞]

Assessed Controls

Description Identifies the controls being assessed. In the assessment plan, these are the planned controls. In the assessment results, these are the actual controls, and reflects any changes from the plan.

Remarks

The include-all, specifies all control identified in the baseline are included in the scope if this assessment, as specified by the include-profile statement within the linked SSP.

Any control specified within exclude-controls must first be within a range of explicitly included controls, via include-controls or include-all.

Elements (7)

description

markup-multiline

[0 or 1]

Assessed Controls Description

Description A human-readable description of in-scope controls specified for assessment.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

A choice:

include-all

empty

[1]

Include All

Description Include all controls from the imported catalog or profile resources.

Remarks

This element provides an alternative to calling controls individually from a catalog.

include-control

element

[1 to ∞]

Select Control

Description Used to select a control for inclusion/exclusion based on one or more control identifiers. A set of statement identifiers can be used to target the inclusion/exclusion to only specific control statements providing more granularity over the specific statements that are within the asessment scope.

Remarks

Used to select a control for inclusion by the control's identifier. Specific control statements can be selected by their statement identifier.

Attribute (1)
control-id

token

[1]

Control Identifier Reference

Description A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).

Element (1)
statement-id

token

[0 to ∞]

Include Specific Statements

Description Used to constrain the selection to only specificity identified statements.

exclude-control

element

[0 to ∞]

Select Control

Description Used to select a control for inclusion/exclusion based on one or more control identifiers. A set of statement identifiers can be used to target the inclusion/exclusion to only specific control statements providing more granularity over the specific statements that are within the asessment scope.

Remarks

Used to select a control for exclusion by the control's identifier. Specific control statements can be excluded by their statement identifier.

Attribute (1)
control-id

token

[1]

Control Identifier Reference

Description A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).

Element (1)
statement-id

token

[0 to ∞]

Include Specific Statements

Description Used to constrain the selection to only specificity identified statements.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

control-objective-selection

element

[0 to ∞]

Referenced Control Objectives

Description Identifies the control objectives of the assessment. In the assessment plan, these are the planned objectives. In the assessment results, these are the assessed objectives, and reflects any changes from the plan.

Remarks

The include-all field, specifies all control objectives for any in-scope control. In-scope controls are defined in the control-selection.

Any control objective specified within exclude-controls must first be within a range of explicitly included control objectives, via include-objectives or include-all.

Elements (7)

description

markup-multiline

[0 or 1]

Control Objectives Description

Description A human-readable description of this collection of control objectives.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

A choice:

include-all

empty

[1]

Include All

Description Include all controls from the imported catalog or profile resources.

Remarks

This element provides an alternative to calling controls individually from a catalog.

include-objective

empty

[1 to ∞]

Select Objective

Description Used to select a control objective for inclusion/exclusion based on the control objective's identifier.

Remarks

Used to select a control objective for inclusion by the control objective's identifier.

Attribute (1)
objective-id

token

[1]

Objective ID

Description Points to an assessment objective.

exclude-objective

empty

[0 to ∞]

Select Objective

Description Used to select a control objective for inclusion/exclusion based on the control objective's identifier.

Remarks

Used to select a control objective for exclusion by the control objective's identifier.

Attribute (1)
objective-id

token

[1]

Objective ID

Description Points to an assessment objective.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

assessment-subject

element
(global definition)

[0 to ∞]

Subject of Assessment

Description Identifies system elements being assessed, such as components, inventory items, and locations. In the assessment plan, this identifies a planned assessment subject. In the assessment results this is an actual assessment subject, and reflects any changes from the plan. exactly what will be the focus of this assessment. Any subjects not identified in this way are out-of-scope.

Remarks

Processing of an include/exclude pair starts with processing the include, then removing matching entries in the exclude.

Attribute (1)

type

token

[1]

Subject Type

Description Indicates the type of assessment subject, such as a component, inventory, item, location, or party represented by this selection statement.

Constraint (1)

allowed values

The value may be locally defined, or one of the following:

  • component: The referenced assessment subject is a component defined in the SSP, or in the local-definitions of an Assessment Plan or Assessment Results.
  • inventory-item: The referenced assessment subject is a inventory item defined in the SSP, or in the local-definitions of an Assessment Plan or Assessment Results.
  • location: The referenced assessment subject is a location defined in the metadata of the SSP, Assessment Plan, or Assessment Results.
  • party: The referenced assessment subject is a person or team to interview, who is defined as a party in the metadata of the SSP, Assessment Plan, or Assessment Results.
  • user: The referenced assessment subject is a user defined in the SSP, or in the local-definitions of an Assessment Plan or Assessment Results.
Elements (7)

description

markup-multiline

[0 or 1]

Include Subjects Description

Description A human-readable description of the collection of subjects being included in this assessment.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)

name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.

uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)

href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference

media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)

text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

A choice:

include-all

empty

[1]

Include All

Description Include all controls from the imported catalog or profile resources.

Remarks

This element provides an alternative to calling controls individually from a catalog.

include-subject

element
(global definition)

[1 to ∞]

Select Assessment Subject

Description Identifies a set of assessment subjects to include/exclude by UUID.

Attributes (2)

subject-uuid

uuid

[1]

Subject Universally Unique Identifier Reference

Description A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.

type

token

[1]

Subject Universally Unique Identifier Reference Type

Description Used to indicate the type of object pointed to by the uuid-ref within a subject.

Constraint (1)

allowed values

The value may be locally defined, or one of the following:

  • component: Component
  • inventory-item: Inventory Item
  • location: Location
  • party: Interview Party
  • user: User
  • resource: Resource or Artifact
Elements (3)

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

exclude-subject

element
(global definition)

[0 to ∞]

Select Assessment Subject

Description Identifies a set of assessment subjects to include/exclude by UUID.

Attributes (2)

subject-uuid

uuid

[1]

Subject Universally Unique Identifier Reference

Description A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.

type

token

[1]

Subject Universally Unique Identifier Reference Type

Description Used to indicate the type of object pointed to by the uuid-ref within a subject.

Constraint (1)

allowed values

The value may be locally defined, or one of the following:

  • component: Component
  • inventory-item: Inventory Item
  • location: Location
  • party: Interview Party
  • user: User
  • resource: Resource or Artifact
Elements (3)

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

assessment-assets

element
(global definition)

[0 or 1]

Assessment Assets

Description Identifies the assets used to perform this assessment, such as the assessment team, scanning tools, and assumptions.

Constraint (1)

is unique for component: any target value must be unique (i.e., occur only once)

Elements (2)

component

element
(global definition)

[0 to ∞]

Component

Description A defined component that can be part of an implemented system.

Remarks

Components may be products, services, application programming interface (APIs), policies, processes, plans, guidance, standards, or other tangible items that enable security and/or privacy.

The type indicates which of these component types is represented.

When defining a service component where are relationship to other components is known, one or more link entries with rel values of provided-by and used-by can be used to link to the specific component identifier(s) that provide and use the service respectively.

Used to add any components for tools used during the assessment. These are represented here to avoid mixing with system components.

The technology tools used by the assessor to perform the assessment, such as vulnerability scanners. In the assessment plan these are the intended tools. In the assessment results, these are the actual tools used, including any differences from the assessment plan.

Constraints (24)

allowed values for prop/@name

The value may be locally defined, or one of the following:

  • implementation-point: Relative placement of component ('internal' or 'external') to the system.
  • leveraged-authorization-uuid: UUID of the related leveraged-authorization assembly in this SSP.
  • inherited-uuid: UUID of the component as it was assigned in the leveraged system's SSP.
  • asset-type: Simple indication of the asset's function, such as Router, Storage Array, DNS Server.
  • asset-id: An organizationally specific identifier that is used to uniquely identify a logical or tangible item by the organization that owns the item.
  • asset-tag: An asset tag assigned by the organization responsible for maintaining the logical or tangible item.
  • public: Identifies whether the asset is publicly accessible (yes/no)
  • virtual: Identifies whether the asset is virtualized (yes/no)
  • vlan-id: Virtual LAN identifier of the asset.
  • network-id: The network identifier of the asset.
  • label: A human-readable label for the parent context.
  • sort-id: An alternative identifier, whose value is easily sortable among other such values in the document.
  • baseline-configuration-name: The name of the baseline configuration for the asset.
  • allows-authenticated-scan: Can the asset be check with an authenticated scan? (yes/no)
  • function: The function provided by the asset for the system.
  • version: The version of the component.
  • patch-level: The specific patch level of the component.
  • model: The model of the component.
  • release-date: The date the component was released, such as a software release date or policy publication date.
  • validation-type: Used with component-type='validation' to provide a well-known name for a kind of validation.
  • validation-reference: Used with component-type='validation' to indicate the validating body's assigned identifier for their validation of this component.

allowed values for link/@rel

The value may be locally defined, or one of the following:

  • depends-on: A reference to another component that this component has a dependency on.
  • validation: A reference to another component of component-type=validation, that is a validation (e.g., FIPS 140-2) for this component
  • proof-of-compliance: A pointer to a validation record (e.g., FIPS 140-2) or other compliance information.
  • baseline-template: A reference to the baseline template used to configure the asset.
  • uses-service: This service is used by the referenced component identifier.
  • system-security-plan: A link to the system security plan of the external system.
  • uses-network: This component uses the network provided by the identified network component.

allowed values for responsible-role/@role-id

The value may be locally defined, or one of the following:

  • asset-owner: Accountable for ensuring the asset is managed in accordance with organizational policies and procedures.
  • asset-administrator: Responsible for administering a set of assets.
  • security-operations: Members of the security operations center (SOC).
  • network-operations: Members of the network operations center (NOC).
  • incident-response: Responsible for responding to an event that could lead to loss of, or disruption to, an organization's operations, services or functions.
  • help-desk: Responsible for providing information and support to users.
  • configuration-management: Responsible for the configuration management processes governing changes to the asset.
  • maintainer: Responsible for the creation and maintenance of a component.
  • provider: Organization responsible for providing the component, if this is different from the "maintainer" (e.g., a reseller).

allowed values for prop[@name='asset-type']/@value

The value must be one of the following:

  • operating-system: System software that manages computer hardware, software resources, and provides common services for computer programs.
  • database: An electronic collection of data, or information, that is specially organized for rapid search and retrieval.
  • web-server: A system that delivers content or services to end users over the Internet or an intranet.
  • dns-server: A system that resolves domain names to internet protocol (IP) addresses.
  • email-server: A computer system that sends and receives electronic mail messages.
  • directory-server: A system that stores, organizes and provides access to directory information in order to unify network resources.
  • pbx: A private branch exchange (PBX) provides a a private telephone switchboard.
  • firewall: A network security system that monitors and controls incoming and outgoing network traffic based on predetermined security rules.
  • router: A physical or virtual networking device that forwards data packets between computer networks.
  • switch: A physical or virtual networking device that connects devices within a computer network by using packet switching to receive and forward data to the destination device.
  • storage-array: A consolidated, block-level data storage capability.
  • appliance: A physical or virtual machine that centralizes hardware, software, or services for a specific purpose.

allowed values for prop[@name='allows-authenticated-scan']/@value

The value must be one of the following:

  • yes: The component allows an authenticated scan.
  • no: The component does not allow an authenticated scan.

allowed values for prop[@name='public']/@value

The value must be one of the following:

  • yes: The component is publicly accessible.
  • no: The component is not publicly accessible.

allowed values for prop[@name='virtual']/@value

The value must be one of the following:

  • yes: The component is virtualized.
  • no: The component is not virtualized.

allowed values for prop[@name='implementation-point']/@value

The value must be one of the following:

  • internal: The component is implemented within the system boundary.
  • external: The component is implemented outside the system boundary.

index has key for prop[@name='physical-location']this value must correspond to a listing in the index index-metadata-location-uuid using a key constructed of key field(s) @value

matches for prop[@name='inherited-uuid']/@value: the target value must match the lexical form of the 'uuid' data type.

matches for prop[@name='release-date']/@value: the target value must match the lexical form of the 'date' data type.

allowed value for (.)[@type=('software', 'hardware', 'service')]/prop/@name

The value may be locally defined, or the following:

  • vendor-name: The name of the company or organization

allowed value for (.)[@type='validation']/link/@rel

The value may be locally defined, or the following:

  • validation-details: A link to an online information provided by the authorizing body.

allowed value for (.)[@type='software']/prop/@name

The value may be locally defined, or the following:

  • software-identifier: If a "software" component-type, the identifier, such as a SWID tag, for the software component.

allowed values for (.)[@type='service']/link/@rel

The value may be locally defined, or one of the following:

  • provided-by: This service is provided by the referenced component identifier.
  • used-by: This service is used by the referenced component identifier.

allowed values for (.)[@type='interconnection']/prop/@name

The value may be locally defined, or one of the following:

  • isa-title: Title of the Interconnection Security Agreement (ISA).
  • isa-date: Date of the Interconnection Security Agreement (ISA).
  • isa-remote-system-name: The name of the remote interconnected system.
  • ipv4-address: An Internet Protocol Version 4 interconnection address
  • ipv6-address: An Internet Protocol Version 6 interconnection address
  • direction: An Internet Protocol Version 6 interconnection address

allowed values for prop[@name=('ipv4-address','ipv6-address')]/@class

The value may be locally defined, or one of the following:

  • local: The identified IP address is for this system.
  • remote: The identified IP address is for the remote system to which this system is connected.

allowed value for (.)[@type='interconnection']/link/@rel

The value may be locally defined, or the following:

  • isa-agreement: A link to the system interconnection agreement.

allowed values for (.)[@type='interconnection']/responsible-role/@role-id

The value may be locally defined, or one of the following:

  • isa-poc-local: Interconnection Security Agreement (ISA) point of contact (POC) for this system.
  • isa-poc-remote: Interconnection Security Agreement (ISA) point of contact (POC) for the remote interconnected system.
  • isa-authorizing-official-local: Interconnection Security Agreement (ISA) authorizing official for this system.
  • isa-authorizing-official-remote: Interconnection Security Agreement (ISA) authorizing official for the remote interconnected system.

matches for prop[@name='isa-date']/@value: the target value must match the lexical form of the 'dateTime' data type.

matches for prop[@name='ipv4-address']/@value: the target value must match the lexical form of the 'ip-v4-address' data type.

matches for prop[@name='ipv6-address']/@value: the target value must match the lexical form of the 'ip-v6-address' data type.

allowed values for prop[@name='direction']/@value

The value may be locally defined, or one of the following:

  • incoming: Data from the remote system flows into this system.
  • outgoing: Data from this system flows to the remote system.

is unique for responsible-role: any target value must be unique (i.e., occur only once)

Attributes (2)

uuid

uuid

[1]

Component Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

type

string

[1]

Component Type

Description A category describing the purpose of the component.

Constraint (1)

allowed values

The value may be locally defined, or one of the following:

  • this-system: The system as a whole.
  • system: An external system, which may be a leveraged system or the other side of an interconnection.
  • interconnection: A connection to something outside this system.
  • software: Any software, operating system, or firmware.
  • hardware: A physical device.
  • service: A service that may provide APIs.
  • policy: An enforceable policy.
  • physical: A tangible asset used to provide physical protections or countermeasures.
  • process-procedure: A list of steps or actions to take to achieve some end result.
  • plan: An applicable plan.
  • guidance: Any guideline or recommendation.
  • standard: Any organizational or industry standard.
  • validation: An external assessment performed on some other component, that has been validated by a third-party.
  • network: A physical or virtual network.
Elements (9)

title

markup-line

[1]

Component Title

Description A human readable name for the system component.

description

markup-multiline

[1]

Component Description

Description A description of the component, including information about its function.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

purpose

markup-line

[0 or 1]

Purpose

Description A summary of the technological or business purpose of the component.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

status

element

[1]

Status

Description Describes the operational status of the system component.

Attribute (1)
state

token

[1]

State

Description The operational status.

Constraint (1)

allowed values

The value must be one of the following:

  • under-development: The component is being designed, developed, or implemented.
  • operational: The component is currently operational and is available for use in the system.
  • disposition: The component is no longer operational.
  • other: Some other state.
Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

responsible-role

element
(global definition)

[0 to ∞]

Responsible Role

Description A reference to one or more roles with responsibility for performing a function relative to the containing object.

Attribute (1)
role-id

token

[1]

Responsible Role ID

Description A human-oriented identifier reference to roles responsible for the business function.

Elements (4)
prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

party-uuid

uuid

[0 to ∞]

Party Reference

Description A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).

Remarks

See the Concepts - Identifier Use page for additional information about the referenced identifier's scope.

Constraint (1)

index has keythis value must correspond to a listing in the index index-metadata-party-uuid using a key constructed of key field(s) .

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

protocol

element
(global definition)

[0 to ∞]

Service Protocol Information

Description Information about the protocol used to provide a service.

Remarks

Used for service components to define the protocols supported by the service.

Attributes (2)
uuid

uuid

[0 or 1]

Service Protocol Information Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

name

string

[1]

Protocol Name

Description The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry.

Remarks

The short name of the protocol (e.g., https).

Elements (2)
title

markup-line

[0 or 1]

Protocol Title

Description A human readable name for the protocol (e.g., Transport Layer Security).

port-range

empty

[0 to ∞]

Port Range

Description Where applicable this is the IPv4 port range on which the service operates.

Remarks

To be validated as a natural number (integer >= 1). A single port uses the same value for start and end. Use multiple 'port-range' entries for non-contiguous ranges.

Attributes (3)

Description Indicates the starting port number in a port range

Remarks

Should be a number within a permitted range

Description Indicates the ending port number in a port range

Remarks

Should be a number within a permitted range

transport

token

[0 or 1]

Transport

Description Indicates the transport type.

Constraint (1)

allowed values

The value must be one of the following:

  • TCP: Transmission Control Protocol
  • UDP: User Datagram Protocol

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

assessment-platform

element

[1 to ∞]

Assessment Platform

Description Used to represent the toolset used to perform aspects of the assessment.

Attribute (1)

uuid

uuid

[1]

Assessment Platform Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

Elements (5)

title

markup-line

[0 or 1]

Assessment Platform Title

Description The title or name for the assessment platform.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

uses-component

element

[0 to ∞]

Uses Component

Description The set of components that are used by the assessment platform.

Constraint (1)

is unique for responsible-party: any target value must be unique (i.e., occur only once)

Attribute (1)
component-uuid

uuid

[1]

Component Universally Unique Identifier Reference

Description A machine-oriented identifier reference to a component that is implemented as part of an inventory item.

Elements (4)
prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

responsible-party

element
(global definition)

[0 to ∞]

Responsible Party

Description A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object.

Constraints (2)

index has keythis value must correspond to a listing in the index index-metadata-role-id using a key constructed of key field(s) @role-id

index has key for party-uuidthis value must correspond to a listing in the index index-metadata-party-uuid using a key constructed of key field(s) .

Attribute (1)
role-id

token

[1]

Responsible Role

Description A human-oriented identifier reference to roles served by the user.

Elements (4)
party-uuid

uuid

[1 to ∞]

Party Reference

Description A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).

Remarks

See the Concepts - Identifier Use page for additional information about the referenced identifier's scope.

Specifies one or more parties that are responsible for performing the associated role.

Constraint (1)

index has keythis value must correspond to a listing in the index index-metadata-party-uuid using a key constructed of key field(s) .

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)

name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.

uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)

href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference

media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)

text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

task

element
(global definition)

[0 to ∞]

Task

Description Represents a scheduled event or milestone, which may be associated with a series of assessment actions.

Attributes (2)

uuid

uuid

[1]

Task Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

type

token

[1]

Task Type

Description The type of task.

Constraint (1)

allowed values

The value may be locally defined, or one of the following:

  • milestone: The task represents a planned milestone.
  • action: The task represents a specific assessment action to be performed.
Elements (11)

title

markup-line

[1]

Task Title

Description The title for this task.

description

markup-multiline

[0 or 1]

Task Description

Description A human-readable description of this task.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)

name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.

uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)

href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference

media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)

text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

timing

element

[0 or 1]

Event Timing

Description The timing under which the task is intended to occur.

Elements (3)

A choice:

on-date

empty

[1]

On Date Condition

Description The task is intended to occur on the specified date.

Attribute (1)
date

dateTime-with-timezone

[1]

On Date Condition

Description The task must occur on the specified date.

within-date-range

empty

[1]

On Date Range Condition

Description The task is intended to occur within the specified date range.

Attributes (2)
start

dateTime-with-timezone

[1]

Start Date Condition

Description The task must occur on or after the specified date.

end

dateTime-with-timezone

[1]

End Date Condition

Description The task must occur on or before the specified date.

at-frequency

empty

[1]

Frequency Condition

Description The task is intended to occur at the specified frequency.

Attributes (2)

Description The task must occur after the specified period has elapsed.

unit

string

[1]

Time Unit

Description The unit of time for the period.

Constraint (1)

allowed values

The value must be one of the following:

  • seconds: The period is specified in seconds.
  • minutes: The period is specified in minutes.
  • hours: The period is specified in hours.
  • days: The period is specified in days.
  • months: The period is specified in calendar months.
  • years: The period is specified in calendar years.

dependency

element

[0 to ∞]

Task Dependency

Description Used to indicate that a task is dependent on another task.

Attribute (1)

task-uuid

uuid

[1]

Task Universally Unique Identifier Reference

Description A machine-oriented identifier reference to a unique task.

Element (1)

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)

(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

task

element
(global definition)

[0 to ∞]

Task

Description Represents a scheduled event or milestone, which may be associated with a series of assessment actions.

associated-activity

element

[0 to ∞]

Associated Activity

Description Identifies an individual activity to be performed as part of a task.

Constraint (1)

is unique for responsible-role: any target value must be unique (i.e., occur only once)

Attribute (1)

activity-uuid

uuid

[1]

Activity Universally Unique Identifier Reference

Description A machine-oriented identifier reference to an activity defined in the list of activities.

Elements (5)

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

responsible-role

element
(global definition)

[0 to ∞]

Responsible Role

Description A reference to one or more roles with responsibility for performing a function relative to the containing object.

Remarks

Identifies the person or organization responsible for performing a specific role defined by the activity.

Attribute (1)
role-id

token

[1]

Responsible Role ID

Description A human-oriented identifier reference to roles responsible for the business function.

Elements (4)
prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

party-uuid

uuid

[0 to ∞]

Party Reference

Description A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).

Remarks

See the Concepts - Identifier Use page for additional information about the referenced identifier's scope.

Constraint (1)

index has keythis value must correspond to a listing in the index index-metadata-party-uuid using a key constructed of key field(s) .

remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

subject

element
(global definition)

[1 to ∞]

Subject of Assessment

Description Identifies system elements being assessed, such as components, inventory items, and locations. In the assessment plan, this identifies a planned assessment subject. In the assessment results this is an actual assessment subject, and reflects any changes from the plan. exactly what will be the focus of this assessment. Any subjects not identified in this way are out-of-scope.

Remarks

Processing of an include/exclude pair starts with processing the include, then removing matching entries in the exclude.

Attribute (1)
type

token

[1]

Subject Type

Description Indicates the type of assessment subject, such as a component, inventory, item, location, or party represented by this selection statement.

Constraint (1)

allowed values

The value may be locally defined, or one of the following:

  • component: The referenced assessment subject is a component defined in the SSP, or in the local-definitions of an Assessment Plan or Assessment Results.
  • inventory-item: The referenced assessment subject is a inventory item defined in the SSP, or in the local-definitions of an Assessment Plan or Assessment Results.
  • location: The referenced assessment subject is a location defined in the metadata of the SSP, Assessment Plan, or Assessment Results.
  • party: The referenced assessment subject is a person or team to interview, who is defined as a party in the metadata of the SSP, Assessment Plan, or Assessment Results.
  • user: The referenced assessment subject is a user defined in the SSP, or in the local-definitions of an Assessment Plan or Assessment Results.
Elements (7)
description

markup-multiline

[0 or 1]

Include Subjects Description

Description A human-readable description of the collection of subjects being included in this assessment.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)
name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
uuid

uuid

[0 or 1]

Property Universally Unique Identifier

Description A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.

ns

uri

[0 or 1]

Property Namespace

Description A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.

Remarks

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

value

string

[1]

Property Value

Description Indicates the value of the attribute, characteristic, or quality.

class

token

[0 or 1]

Property Class

Description A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.

Remarks

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Element (1)
remarks

markup-multiline

[0 or 1]

Remarks

Description Additional commentary on the containing object.

Element (0+)
(unwrapped)

markup-multiline

[0 to ∞]

This use of the markup-multiline type permits unwrapped block-level markup.

element
(global definition)

[0 to ∞]

Link

Description A reference to a local or remote resource

Remarks

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

The OSCAL link is a roughly based on the HTML link element.

Constraints (3)

matches for .[@rel=('reference') and starts-with(@href,'#')]/@href: the target value must match the lexical form of the 'uri-reference' data type.

index has key for .[@rel=('reference') and starts-with(@href,'#')]this value must correspond to a listing in the index index-back-matter-resource using a key constructed of key field(s) @href

matches for .[@rel=('reference') and not(starts-with(@href,'#'))]/@href: the target value must match the lexical form of the 'uri' data type.

Attributes (3)
href

uri-reference

[1]

Hypertext Reference

Description A resolvable URL reference to a resource.

Remarks

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

rel

token

[0 or 1]

Relation

Description Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • reference: Reference
media-type

string

[0 or 1]

Media Type

Description Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.

Remarks

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

Element (1)
text

markup-line

[0 or 1]

Link Text

Description A textual label to associate with the link, which may be used for presentation in a tool.

A choice:

include-all

empty

[1]

Include All

Description Include all controls from the imported catalog or profile resources.

Remarks

This element provides an alternative to calling controls individually from a catalog.

include-subject

element
(global definition)

[1 to ∞]

Select Assessment Subject

Description Identifies a set of assessment subjects to include/exclude by UUID.

Attributes (2)
subject-uuid

uuid

[1]

Subject Universally Unique Identifier Reference

Description A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.

type

token

[1]

Subject Universally Unique Identifier Reference Type

Description Used to indicate the type of object pointed to by the uuid-ref within a subject.

Constraint (1)

allowed values

The value may be locally defined, or one of the following:

  • component: Component
  • inventory-item: Inventory Item
  • location: Location
  • party: Interview Party
  • user: User
  • resource: Resource or Artifact
Elements (3)
prop

element
(global definition)

[0 to ∞]

Property

Description An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

Remarks

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

Attributes (5)

name

token

[1]

Property Name

Description A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

Constraint (1)

allowed value

The value may be locally defined, or the following:

  • marking: A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.

uuid

uuid

[0 or 1]