OSCAL Control Mapping Model
JSON Format Outline
Click the triangle next to any property to expand its structure. Property names link to their definitions below.
mapping-collection [1]: {
uuid [1]: uuid , metadata [1]: {
props [0 to ∞]: [ {
name [1]: token , uuid [0 or 1]: uuid , ns [0 or 1]: uri , value [1]: string , class [0 or 1]: token , group [0 or 1]: token , remarks [0 or 1]: remarkslinks [0 to ∞]: [ {
href [1]: uri-reference , rel [0 or 1]: token , resource-fragment [0 or 1]: string , text [0 or 1]: textresponsible-parties [0 to ∞]: [ {
role-id [1]: token , props [0 to ∞]: [ {
name [1]: token , uuid [0 or 1]: uuid , ns [0 or 1]: uri , value [1]: string , class [0 or 1]: token , group [0 or 1]: token , remarks [0 or 1]: remarkslinks [0 to ∞]: [ {
href [1]: uri-reference , rel [0 or 1]: token , resource-fragment [0 or 1]: string , text [0 or 1]: textparty-uuids [1 to ∞]: [ ... ],remarks [0 or 1]: remarksactions [0 to ∞]: [ {
uuid [1]: uuid , date [0 or 1]: date-time-with-timezone , type [1]: token , system [1]: uri , props [0 to ∞]: [ {
name [1]: token , uuid [0 or 1]: uuid , ns [0 or 1]: uri , value [1]: string , class [0 or 1]: token , group [0 or 1]: token , remarks [0 or 1]: remarkslinks [0 to ∞]: [ {
href [1]: uri-reference , rel [0 or 1]: token , resource-fragment [0 or 1]: string , text [0 or 1]: textresponsible-parties [0 to ∞]: [ {
role-id [1]: token , props [0 to ∞]: [ {
name [1]: token , uuid [0 or 1]: uuid , ns [0 or 1]: uri , value [1]: string , class [0 or 1]: token , group [0 or 1]: token , remarks [0 or 1]: remarkslinks [0 to ∞]: [ {
href [1]: uri-reference , rel [0 or 1]: token , resource-fragment [0 or 1]: string , text [0 or 1]: textparty-uuids [1 to ∞]: [ ... ],remarks [0 or 1]: remarksremarks [0 or 1]: remarkspublished [0 or 1]: published,last-modified [1]: last-modified,version [1]: version,oscal-version [1]: oscal-version,document-ids [0 to ∞]: [ ... ],remarks [0 or 1]: remarks,revisions [0 to ∞]: [ {
props [0 to ∞]: [ {
name [1]: token , uuid [0 or 1]: uuid , ns [0 or 1]: uri , value [1]: string , class [0 or 1]: token , group [0 or 1]: token , remarks [0 or 1]: remarkslinks [0 to ∞]: [ {
href [1]: uri-reference , rel [0 or 1]: token , resource-fragment [0 or 1]: string , text [0 or 1]: textpublished [0 or 1]: published,last-modified [0 or 1]: last-modified,version [1]: version,oscal-version [0 or 1]: oscal-version,remarks [0 or 1]: remarks,title [0 or 1]: titleroles [0 to ∞]: [ {
id [1]: token , props [0 to ∞]: [ {
name [1]: token , uuid [0 or 1]: uuid , ns [0 or 1]: uri , value [1]: string , class [0 or 1]: token , group [0 or 1]: token , remarks [0 or 1]: remarkslinks [0 to ∞]: [ {
href [1]: uri-reference , rel [0 or 1]: token , resource-fragment [0 or 1]: string , text [0 or 1]: textremarks [0 or 1]: remarks,title [1]: title,short-name [0 or 1]: short-name,description [0 or 1]: descriptionlocations [0 to ∞]: [ {
uuid [1]: uuid , address [0 or 1]: {
addr-lines [0 to ∞]: [ ... ],city [0 or 1]: city,state [0 or 1]: state,postal-code [0 or 1]: postal-code,country [0 or 1]: countryprops [0 to ∞]: [ {
name [1]: token , uuid [0 or 1]: uuid , ns [0 or 1]: uri , value [1]: string , class [0 or 1]: token , group [0 or 1]: token , remarks [0 or 1]: remarkslinks [0 to ∞]: [ {
href [1]: uri-reference , rel [0 or 1]: token , resource-fragment [0 or 1]: string , text [0 or 1]: textemail-addresses [0 to ∞]: [ ... ],telephone-numbers [0 to ∞]: [ ... ],remarks [0 or 1]: remarks,title [0 or 1]: title,urls [0 to ∞]: [ ... ]parties [0 to ∞]: [ {
uuid [1]: uuid , type [1]: string , props [0 to ∞]: [ {
name [1]: token , uuid [0 or 1]: uuid , ns [0 or 1]: uri , value [1]: string , class [0 or 1]: token , group [0 or 1]: token , remarks [0 or 1]: remarkslinks [0 to ∞]: [ {
href [1]: uri-reference , rel [0 or 1]: token , resource-fragment [0 or 1]: string , text [0 or 1]: textemail-addresses [0 to ∞]: [ ... ],telephone-numbers [0 to ∞]: [ ... ],remarks [0 or 1]: remarks,name [0 or 1]: name,short-name [0 or 1]: short-name,external-ids [0 to ∞]: [ ... ],member-of-organizations [0 to ∞]: [ ... ],addresses [0 to ∞]: [ {
addr-lines [0 to ∞]: [ ... ],city [0 or 1]: city,state [0 or 1]: state,postal-code [0 or 1]: postal-code,country [0 or 1]: countrylocation-uuids [0 to ∞]: [ ... ]title [1]: titlemapping-provenance [1]: {
responsible-parties [0 to ∞]: [ {
role-id [1]: token , props [0 to ∞]: [ {
name [1]: token , uuid [0 or 1]: uuid , ns [0 or 1]: uri , value [1]: string , class [0 or 1]: token , group [0 or 1]: token , remarks [0 or 1]: remarkslinks [0 to ∞]: [ {
href [1]: uri-reference , rel [0 or 1]: token , resource-fragment [0 or 1]: string , text [0 or 1]: textparty-uuids [1 to ∞]: [ ... ],remarks [0 or 1]: remarksprops [0 to ∞]: [ {
name [1]: token , uuid [0 or 1]: uuid , ns [0 or 1]: uri , value [1]: string , class [0 or 1]: token , group [0 or 1]: token , remarks [0 or 1]: remarkslinks [0 to ∞]: [ {
href [1]: uri-reference , rel [0 or 1]: token , resource-fragment [0 or 1]: string , text [0 or 1]: textcoverage [0 to 1]: { ... },mapping-description [1 to 1]: mapping-description,remarks [0 to 1]: remarksmappings [1 to ∞]: [ {
uuid [1]: uuid , mapping-resource-reference [1]: {
ns [0 or 1]: uri , type [1]: token , href [1]: uri-reference , props [0 to ∞]: [ {
name [1]: token , uuid [0 or 1]: uuid , ns [0 or 1]: uri , value [1]: string , class [0 or 1]: token , group [0 or 1]: token , remarks [0 or 1]: remarkslinks [0 to ∞]: [ {
href [1]: uri-reference , rel [0 or 1]: token , resource-fragment [0 or 1]: string , text [0 or 1]: textremarks [0 to 1]: remarksmapping-resource-reference [1]: {
ns [0 or 1]: uri , type [1]: token , href [1]: uri-reference , props [0 to ∞]: [ {
name [1]: token , uuid [0 or 1]: uuid , ns [0 or 1]: uri , value [1]: string , class [0 or 1]: token , group [0 or 1]: token , remarks [0 or 1]: remarkslinks [0 to ∞]: [ {
href [1]: uri-reference , rel [0 or 1]: token , resource-fragment [0 or 1]: string , text [0 or 1]: textremarks [0 to 1]: remarksmaps [1 to ∞]: [ {
uuid [1]: uuid , ns [0 or 1]: uri , sources [1 to ∞]: [ {
type [1]: token , id-ref [1]: string , props [0 to ∞]: [ {
name [1]: token , uuid [0 or 1]: uuid , ns [0 or 1]: uri , value [1]: string , class [0 or 1]: token , group [0 or 1]: token , remarks [0 or 1]: remarkslinks [0 to ∞]: [ {
href [1]: uri-reference , rel [0 or 1]: token , resource-fragment [0 or 1]: string , text [0 or 1]: textremarks [0 to 1]: remarkstargets [1 to ∞]: [ {
type [1]: token , id-ref [1]: string , props [0 to ∞]: [ {
name [1]: token , uuid [0 or 1]: uuid , ns [0 or 1]: uri , value [1]: string , class [0 or 1]: token , group [0 or 1]: token , remarks [0 or 1]: remarkslinks [0 to ∞]: [ {
href [1]: uri-reference , rel [0 or 1]: token , resource-fragment [0 or 1]: string , text [0 or 1]: textremarks [0 to 1]: remarksqualifiers [0 to ∞]: [ {
subject [1]: string , predicate [1]: string , category [1]: string , remarks [0 or 1]: remarks,description [1]: descriptionprops [0 to ∞]: [ {
name [1]: token , uuid [0 or 1]: uuid , ns [0 or 1]: uri , value [1]: string , class [0 or 1]: token , group [0 or 1]: token , remarks [0 or 1]: remarkslinks [0 to ∞]: [ {
href [1]: uri-reference , rel [0 or 1]: token , resource-fragment [0 or 1]: string , text [0 or 1]: textcoverage [0 to 1]: { ... },remarks [0 to 1]: remarks,relationship [1]: relationshipprops [0 to ∞]: [ {
name [1]: token , uuid [0 or 1]: uuid , ns [0 or 1]: uri , value [1]: string , class [0 or 1]: token , group [0 or 1]: token , remarks [0 or 1]: remarkslinks [0 to ∞]: [ {
href [1]: uri-reference , rel [0 or 1]: token , resource-fragment [0 or 1]: string , text [0 or 1]: textremarks [0 to 1]: remarks,mapping-description [0 to 1]: mapping-description,coverage [0 to 1]: { ... }back-matter [0 or 1]: {
resources [0 to ∞]: [ {
uuid [1]: uuid , props [0 to ∞]: [ {
name [1]: token , uuid [0 or 1]: uuid , ns [0 or 1]: uri , value [1]: string , class [0 or 1]: token , group [0 or 1]: token , remarks [0 or 1]: remarksdocument-ids [0 to ∞]: [ ... ],remarks [0 or 1]: remarks,citation [0 or 1]: {
props [0 to ∞]: [ {
name [1]: token , uuid [0 or 1]: uuid , ns [0 or 1]: uri , value [1]: string , class [0 or 1]: token , group [0 or 1]: token , remarks [0 or 1]: remarkslinks [0 to ∞]: [ {
href [1]: uri-reference , rel [0 or 1]: token , resource-fragment [0 or 1]: string , text [0 or 1]: texttext [1]: texttitle [0 or 1]: title,description [0 or 1]: description,base64 [0 or 1]: { ... }Assemblies (33)
A mapping collection affirmatively declares the relationships that exist between sets of controls and/or control statements in a source and target. It is expected that inferences can be made based on what is mapped; however, no inferences should be made based on what is not mapped, since it is impossible to quantify how complete or granular a given mapping is.
Keys (5)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
uuid | uuid | [1] | A globally unique identifier with cross-instance scope for this catalog instance. This UUID should be changed when this document is revised. |
metadata | Document Metadata | [1] | Provides information about the containing document, and defines concepts that are shared across the document. |
mapping-provenance | Mapping Provenance | [1] | Describes requirements, incompatibilities and gaps that are identified between a target and source in a mapping item. |
mappings | Control Mapping | [1 to ∞] | A mapping between two target resources. |
back-matter | Back matter | [0 or 1] | A collection of resources that may be referenced from within the OSCAL document instance. |
All OSCAL documents use the same metadata structure, that provides a consistent way of expressing OSCAL document metadata across all OSCAL models. The metadata section also includes declarations of individual objects (i.e., roles, location, parties) that may be referenced within and across linked OSCAL documents.
The metadata in an OSCAL document has few required fields, representing only the bare minimum data needed to differentiate one instance from another. Tools and users creating OSCAL documents may choose to use any of the optional fields, as well as extension mechanisms (e.g., properties, links) to go beyond this minimum to suit their use cases.
A publisher of OSCAL content can use the published, last-modified, and version fields to establish information about an individual in a sequence of successive revisions of a given OSCAL-based publication. The metadata for a previous revision can be represented as a revision within this object. Links may also be provided using the predecessor-version and successor-version link relations to provide for direct access to the related resource. These relations can be provided as a link child of this object or as link within a given revision.
A responsible-party entry in this context refers to roles and parties that have responsibility relative to the production, review, publication, and use of the containing document.
Keys (15)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
props | Property | [0 to ∞] | An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. |
links | Link | [0 to ∞] | A reference to a local or remote resource, that has a specific relation to the containing object. |
responsible-parties | Responsible Party | [0 to ∞] | A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. |
actions | Action | [0 to ∞] | An action applied by a role within a given party to the content. |
published | Publication Timestamp | [0 or 1] | The date and time the document was last made available. |
last-modified | Last Modified Timestamp | [1] | The date and time the document was last stored for later retrieval. |
version | Document Version | [1] | Used to distinguish a specific revision of an OSCAL document from other previous and future versions. |
oscal-version | OSCAL Version | [1] | The OSCAL model version the document was authored against and will conform to as valid. |
document-ids | Document Identifier | [0 to ∞] | A document identifier qualified by an identifier
scheme. |
remarks | Remarks | [0 or 1] | Additional commentary about the containing object. |
revisions | Revision History Entry | [0 to ∞] | An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first). |
roles | Role | [0 to ∞] | Defines a function, which might be assigned to a party in a specific situation. |
locations | Location | [0 to ∞] | A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document. |
parties | Party | [0 to ∞] | An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document. |
title | Document Title | [1] | An optional name given to the resource, which may be used by a tool for display and navigation. |
Constraints (9)
- allowed-values
for
responsible-party/@role-id- creator: Indicates the person or organization that created this content.
- prepared-by: Indicates the person or organization that prepared this content.
- prepared-for: Indicates the person or organization for which this content was created.
- content-approver: Indicates the person or organization responsible for all content represented in the "document".
- contact: Indicates the person or organization to contact for questions or support related to this content.
- allowed-values
for
prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name- 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- canonical: The link identifies the authoritative location for this resource. Defined by RFC 6596.
- alternate: The link identifies an alternative location or format for this resource. 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.
- index
for
roleIndex "index-metadata-role-ids" on role - index
for
.//propIndex "index-metadata-property-uuid" on .//prop - index
for
roleIndex "index-metadata-role-id" on role - index
for
locationIndex "index-metadata-location-uuid" on location - index
for
partyIndex "index-metadata-party-uuid" on party - index
for
party[@type='organization']Index "index-metadata-party-organizations-uuid" on party[@type='organization']
Keys (7)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
confidence-score | Confidence Score | [0 to 1] | This records either a string category or a decimal value from 0-1 representing a percentage. Both of these values describe an estimation of the author's confidence that this mapping is correct and accurate. |
responsible-parties | Responsible Party | [0 to ∞] | A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. |
props | Property | [0 to ∞] | An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. |
links | Link | [0 to ∞] | A reference to a local or remote resource, that has a specific relation to the containing object. |
coverage | Coverage | [0 to 1] | A decimal value from 0-1, representing the percentage coverage of the targets by the sources. |
mapping-description | Mapping Description | [1 to 1] | Description of the context and intended use of the mapping set. |
remarks | Remarks | [0 to 1] | Additional commentary about the containing object. |
Keys (12)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
uuid | uuid | [1] | A
machine-oriented, globally
unique identifier with
cross-instance scope that can be used to reference this mapping gap summary
elsewhere in this
or other OSCAL instances. The locally defined UUID of the SSP
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. |
mapping-resource-reference | Mapped Resource Reference | [1] | A reference to a resource that is either the source or the target of a mapping. |
mapping-resource-reference | Mapped Resource Reference | [1] | A reference to a resource that is either the source or the target of a mapping. |
maps | Mapping Entry | [1 to ∞] | A relationship-based mapping between a source and target set consisting of members (i.e., controls, control statements) from the respective source and target. |
props | Property | [0 to ∞] | An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. |
links | Link | [0 to ∞] | A reference to a local or remote resource, that has a specific relation to the containing object. |
gap-summary | Gap Summary | [0 or 1] | A by-id collection of all controls that were not mapped at all in this
mapping-collection. If a control is partially mapped, the parts of the control
are not mappable, the gap and discrepancies should be documented in the
relationship-gal. |
gap-summary | Gap Summary | [0 or 1] | A by-id collection of all controls that were not mapped at all in this
mapping-collection. If a control is partially mapped, the parts of the control
are not mappable, the gap and discrepancies should be documented in the
relationship-gal. |
confidence-score | Confidence Score | [0 to 1] | This records either a string category or a decimal value from 0-1 representing a percentage. Both of these values describe an estimation of the author's confidence that this mapping is correct and accurate. |
remarks | Remarks | [0 to 1] | Additional commentary about the containing object. |
mapping-description | Mapping Description | [0 to 1] | Description of the context and intended use of the mapping set. |
coverage | Coverage | [0 to 1] | A decimal value from 0-1, representing the percentage coverage of the targets by the sources. |
Provides a collection of identified resource objects that can be referenced by a link with a rel value of "reference" and an href value that is a fragment "#" followed by a reference to a reference's uuid. Other specialized link "rel" values also use this pattern when indicated in that context of use.
Keys (1)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
resources | Resource | [0 to ∞] | A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources. |
Constraints (1)
- index
for
resourceIndex "index-back-matter-resource" on resource
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.
Keys (7)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
name | token | [1] | A textual label, within a namespace, that identifies a specific attribute, characteristic, or quality of the property's containing object. |
uuid | uuid | [0 or 1] | A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. |
ns | uri | [0 or 1] | A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name. |
value | string | [1] | Indicates the value of the attribute, characteristic, or quality. |
class | token | [0 or 1] | A textual label that provides a sub-type or characterization of the
property's name. |
group | token | [0 or 1] | An identifier for relating distinct sets of properties. |
remarks | Remarks | [0 or 1] | Additional commentary about the containing object. |
Constraints (1)
- allowed-values
for
.[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name- 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.
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.
Keys (4)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
href | uri-reference | [1] | A resolvable URL reference to a resource. |
rel | token | [0 or 1] | Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose. |
resource-fragment | string | [0 or 1] | In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded. |
text | Citation Text | [0 or 1] | A textual label to associate with the link, which may be used for presentation in a tool. |
Constraints (1)
- expect
for
.[starts-with(@href,'#')]Test: not(exists(@media-type))
A responsible-party requires one or more party-uuid references creating a strong relationship arc between the referenced role-id and the reference parties. This differs in semantics from responsible-role which doesn't require that a party-uuid is referenced.
The scope of use of this object determines if the responsibility has been performed or will be performed in the future. The containing object will describe the intent.
Keys (5)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
role-id | token | [1] | A human-oriented identifier reference to a role performed. |
props | Property | [0 to ∞] | An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. |
links | Link | [0 to ∞] | A reference to a local or remote resource, that has a specific relation to the containing object. |
party-uuids | Party Universally Unique Identifier Reference | [1 to ∞] | Reference to a party by UUID. |
remarks | Remarks | [0 or 1] | Additional commentary about the containing object. |
Keys (8)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
uuid | uuid | [1] | A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. |
date | date-time-with-timezone | [0 or 1] | The date and time when the action occurred. |
type | token | [1] | Indicates the type of phone number. |
system | uri | [1] | Specifies the action type system used. |
props | Property | [0 to ∞] | An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. |
links | Link | [0 to ∞] | A reference to a local or remote resource, that has a specific relation to the containing object. |
responsible-parties | Responsible Party | [0 to ∞] | A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. |
remarks | Remarks | [0 or 1] | Additional commentary about the containing object. |
Constraints (2)
- allowed-values
for
./system/@value- http://csrc.nist.gov/ns/oscal: This value identifies action types defined in the NIST OSCAL namespace.
- allowed-values
for
./type[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@value- approval: An approval of a document instance's content.
- request-changes: A request from the responsible party or parties to change the content.
While published, last-modified, and oscal-version are not required, values for these entries should be provided if the information is known. A link with a rel of source
should be provided if the information is known.
Keys (8)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
props | Property | [0 to ∞] | An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. |
links | Link | [0 to ∞] | A reference to a local or remote resource, that has a specific relation to the containing object. |
published | Publication Timestamp | [0 or 1] | The date and time the document was last made available. |
last-modified | Last Modified Timestamp | [0 or 1] | The date and time the document was last stored for later retrieval. |
version | Document Version | [1] | Used to distinguish a specific revision of an OSCAL document from other previous and future versions. |
oscal-version | OSCAL Version | [0 or 1] | The OSCAL model version the document was authored against and will conform to as valid. |
remarks | Remarks | [0 or 1] | Additional commentary about the containing object. |
title | Document Title | [0 or 1] | An optional name given to the resource, which may be used by a tool for display and navigation. |
Constraints (1)
- allowed-values
for
link/@rel- canonical: The link identifies the authoritative location for this resource. Defined by RFC 6596.
- alternate: The link identifies an alternative location or format for this resource. 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.
- version-history: This link identifies a resource containing the version history of this document. Defined by RFC 5829.
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.
Keys (7)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
id | token | [1] | A unique identifier for the role. |
props | Property | [0 to ∞] | An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. |
links | Link | [0 to ∞] | A reference to a local or remote resource, that has a specific relation to the containing object. |
remarks | Remarks | [0 or 1] | Additional commentary about the containing object. |
title | Document Title | [1] | An optional name given to the resource, which may be used by a tool for display and navigation. |
short-name | Role Short Name | [0 or 1] | A short common name, abbreviation, or acronym for the party. |
description | Role Description | [0 or 1] | An optional short summary of the resource used to indicate the purpose of the resource. |
An address might be sensitive in nature. In such cases a title, mailing address, email-address, and/or phone number may be used instead.
Keys (9)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
uuid | uuid | [1] | A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. |
address | Address | [0 or 1] | A postal address for the location. |
props | Property | [0 to ∞] | An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. |
links | Link | [0 to ∞] | A reference to a local or remote resource, that has a specific relation to the containing object. |
email-addresses | Email Address | [0 to ∞] | An email address as defined by RFC 5322 Section 3.4.1. |
telephone-numbers | Telephone Number | [0 to ∞] | A telephone service number as defined by ITU-T E.164. |
remarks | Remarks | [0 or 1] | Additional commentary about the containing object. |
title | Document Title | [0 or 1] | An optional name given to the resource, which may be used by a tool for display and navigation. |
urls | Location URL | [0 to ∞] | The uniform resource locator (URL) for a web site or other resource associated with the location. |
Constraints (3)
- allowed-values
for
prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name- type: Identifies the type of resource represented. The most specific appropriate type value SHOULD be used.
- allowed-values
for
prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name='type']/@value- data-center: A location that contains computing assets. A
classcan be used to indicate the sub-type of data-center as primary or alternate.
- data-center: A location that contains computing assets. A
- allowed-values
for
prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name='type' and @value='data-center']/@class- primary: The location is a data-center used for normal operations.
- alternate: The link identifies an alternative location or format for this resource. Defined by the HTML Living Standard
A party can be optionally associated with either an address or a location. While providing a meaningful location for a party is desired, there are some cases where it might not be possible to provide an exact location or even any location.
Keys (13)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
uuid | uuid | [1] | A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. |
type | string | [1] | Indicates the type of phone number. |
props | Property | [0 to ∞] | An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. |
links | Link | [0 to ∞] | A reference to a local or remote resource, that has a specific relation to the containing object. |
email-addresses | Email Address | [0 to ∞] | An email address as defined by RFC 5322 Section 3.4.1. |
telephone-numbers | Telephone Number | [0 to ∞] | A telephone service number as defined by ITU-T E.164. |
remarks | Remarks | [0 or 1] | Additional commentary about the containing object. |
name | Party Name | [0 or 1] | The full name of the party. This is typically the legal name associated with the party. |
short-name | Role Short Name | [0 or 1] | A short common name, abbreviation, or acronym for the party. |
external-ids | Party External Identifier | [0 to ∞] | An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID). |
member-of-organizations | Organizational Affiliation | [0 to ∞] | A reference to another party by UUID, typically an organization, that this subject is associated with. |
addresses | Address | [0 to ∞] | A postal address for the location. |
location-uuids | Location Universally Unique Identifier Reference | [0 to ∞] | Reference to a location by UUID. |
Constraints (1)
- allowed-values
for
prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name- mail-stop: A mail stop associated with the party.
- office: An office phone number.
- job-title: The formal job title of a person.
Keys (2)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
percentage | Percentage | [0 or 1] | A decimal value from 0-1, representing a percentage. |
category | category | [0 or 1] |
Keys (6)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
ns | uri | [0 or 1] | An optional namespace qualifying the resource's type. |
type | token | [1] | The semantic type of the resource. |
href | uri-reference | [1] | A resolvable URL reference to the base catalog or profile that this profile is tailoring. |
props | Property | [0 to ∞] | An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. |
links | Link | [0 to ∞] | A reference to a local or remote resource, that has a specific relation to the containing object. |
remarks | Remarks | [0 to 1] | Additional commentary about the containing object. |
Keys (11)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
uuid | uuid | [1] | A
machine-oriented, globally
unique identifier with
cross-instance scope that can be used to reference this mapping gap summary
elsewhere in this
or other OSCAL instances. The locally defined UUID of the SSP
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. |
ns | uri | [0 or 1] | An optional namespace qualifying the resource's type. |
sources | Mapping Entry Item (source or target) | [1 to ∞] | A specific edge within a source or target that is the subject of a mapping. |
targets | Mapping Entry Item (source or target) | [1 to ∞] | A specific edge within a source or target that is the subject of a mapping. |
qualifiers | Relationship Qualifier | [0 to ∞] | Describes requirements, incompatibilities and gaps that are identified between a target and source in a mapping item. |
confidence-score | Confidence Score | [0 to 1] | This records either a string category or a decimal value from 0-1 representing a percentage. Both of these values describe an estimation of the author's confidence that this mapping is correct and accurate. |
props | Property | [0 to ∞] | An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. |
links | Link | [0 to ∞] | A reference to a local or remote resource, that has a specific relation to the containing object. |
coverage | Coverage | [0 to 1] | A decimal value from 0-1, representing the percentage coverage of the targets by the sources. |
remarks | Remarks | [0 to 1] | Additional commentary about the containing object. |
relationship | Mapping Entry Relationship | [1] | The relationship type for the mapping entry, which describes the
relationship between the effective requirements of the specified source and
target sets in the context of the matching-rationale method globaly
defined in the provenance unless overwritten locally in the
map. The relationship type and the matching-rationale
must be used together. However, more than one matching-rationale
method may apply to a source and target pair. |
mapping-collection. If a control is partially mapped, the parts of the control
are not mappable, the gap and discrepancies should be documented in the
relationship-gal. Keys (2)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
uuid | uuid | [1] | A
machine-oriented, globally
unique identifier with
cross-instance scope that can be used to reference this mapping gap summary
elsewhere in this
or other OSCAL instances. The locally defined UUID of the SSP
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. |
unmapped-controls | Select Control | [1 to ∞] | Select a control or controls from an imported control set. |
A resource can be used in two ways. 1) it may point to an specific retrievable network resource using a rlink, or 2) it may be included as an attachment using a base64. A resource may contain multiple rlink and base64 entries that represent alternative download locations (rlink) and attachments (base64) for the same resource.
Both rlink and base64 allow for a media-type to be specified, which is used to distinguish between different representations of the same resource (e.g., Microsoft Word, PDF). When multiple rlink and base64 items are included for a given resource, all items must contain equivalent information. This allows the document consumer to choose a preferred item to process based on a the selected item's media-type. This is extremely important when the items represent OSCAL content that is represented in alternate formats (i.e., XML, JSON, YAML), allowing the same OSCAL data to be processed from any of the available formats indicated by the items.
When a resource includes a citation, then the title and citation properties must both be included.
Keys (9)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
uuid | uuid | [1] | A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. |
props | Property | [0 to ∞] | An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. |
document-ids | Document Identifier | [0 to ∞] | A document identifier qualified by an identifier
scheme. |
remarks | Remarks | [0 or 1] | Additional commentary about the containing object. |
citation | Citation | [0 or 1] | An optional citation consisting of end note text using structured markup. |
rlinks | Resource link | [0 to ∞] | A URL-based pointer to an external resource with an optional hash for verification and change detection. |
title | Document Title | [0 or 1] | An optional name given to the resource, which may be used by a tool for display and navigation. |
description | Role Description | [0 or 1] | An optional short summary of the resource used to indicate the purpose of the resource. |
base64 | Base64 | [0 or 1] | A resource encoded using the Base64 alphabet defined by RFC 2045. |
Constraints (3)
- allowed-values
for
prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name- type: Identifies the type of resource represented. The most specific appropriate type value SHOULD be used.
- version: For resources representing a published document, this represents the version number of that document.
- published: For resources representing a published document, this represents the publication date of that document.
- allowed-values
for
prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name='type']/@value- logo: Indicates the resource is an organization's logo.
- image: Indicates the resource represents an image.
- screen-shot: Indicates the resource represents an image of screen content.
- law: Indicates the resource represents an applicable law.
- regulation: Indicates the resource represents an applicable regulation.
- standard: Indicates the resource represents an applicable standard.
- external-guidance: Indicates the resource represents applicable guidance.
- acronyms: Indicates the resource provides a list of relevant acronyms.
- citation: Indicates the resource cites relevant information.
- policy: Indicates the resource is a policy.
- procedure: Indicates the resource is a procedure.
- system-guide: Indicates the resource is guidance document related to the subject system of an SSP.
- users-guide: Indicates the resource is guidance document a user's guide or administrator's guide.
- administrators-guide: Indicates the resource is guidance document a administrator's guide.
- rules-of-behavior: Indicates the resource represents rules of behavior content.
- plan: Indicates the resource represents a plan.
- artifact: Indicates the resource represents an artifact, such as may be reviewed by an assessor.
- evidence: Indicates the resource represents evidence, such as to support an assessment finding.
- tool-output: Indicates the resource represents output from a tool.
- raw-data: Indicates the resource represents machine data, which may require a tool or analysis for interpretation or presentation.
- interview-notes: Indicates the resource represents notes from an interview, such as may be collected during an assessment.
- questionnaire: Indicates the resource is a set of questions, possibly with responses.
- report: Indicates the resource is a report.
- agreement: Indicates the resource is a formal agreement between two or more parties.
- expect
for
.[citation]Test: title
Keys (5)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
addr-lines | Address line | [0 to ∞] | A single line of an address. |
city | City | [0 or 1] | City, town or geographical region for the mailing address. |
state | State | [0 or 1] | State, province or analogous geographical region for a mailing address. |
postal-code | Postal Code | [0 or 1] | Postal or ZIP code for mailing address. |
country | Country Code | [0 or 1] | The ISO 3166-1 alpha-2 country code for the mailing address. |
Keys (5)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
type | token | [1] | The semantic type of the resource. |
id-ref | string | [1] | A reference to an identified subject that is of the specified type
. |
props | Property | [0 to ∞] | An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. |
links | Link | [0 to ∞] | A reference to a local or remote resource, that has a specific relation to the containing object. |
remarks | Remarks | [0 to 1] | Additional commentary about the containing object. |
Keys (5)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
subject | string | [1] | The focus of the qualifier. |
predicate | string | [1] | The predicate describes how the qualifer applies to the subject. |
category | string | [1] | The category expresses the resolvable nature of the predicate. |
remarks | Remarks | [0 or 1] | Additional commentary about the containing object. |
description | Role Description | [1] | An optional short summary of the resource used to indicate the purpose of the resource. |
If with-child-controls is yes
on the call to a control, no sibling callelements need to be used to call any controls appearing within it. Since generally, this is how control enhancements are represented (as controls within controls), this provides a way to include controls with all their dependent controls (enhancements) without having to call them individually.
Keys (2)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
matching | Match Controls by Pattern | [0 to ∞] | Selecting a set of controls by matching their IDs with a wildcard pattern. |
with-ids | Match Controls by Identifier | [0 to ∞] | Selecting a control by its ID given as a literal. |
Keys (3)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
props | Property | [0 to ∞] | An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. |
links | Link | [0 to ∞] | A reference to a local or remote resource, that has a specific relation to the containing object. |
text | Citation Text | [1] | A textual label to associate with the link, which may be used for presentation in a tool. |
Multiple rlink objects can be included for a resource. In such a case, all provided rlink items are intended to be equivalent in content, but may differ in structure or format.
A media-type is used to identify the format of a given rlink, and can be used to differentiate items in a collection of rlinks. The media-type provides a hint to the OSCAL document consumer about the structure of the resource referenced by the rlink.
Keys (2)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
href | uri-reference | [1] | A resolvable URL reference to a resource. |
hashes | Hash | [0 to ∞] | A representation of a cryptographic digest generated over a resource using a specified hash algorithm. |
Keys (1)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
remarks | Remarks | [0 to 1] | Additional commentary about the containing object. |
A responsible-role allows zero or more party-uuid references, each of which creates a relationship arc between the referenced role-id and the referenced party. This differs in semantics from responsible-party, which requires that at least one party-uuid is referenced.
The scope of use of this object determines if the responsibility has been performed or will be performed in the future. The containing object will describe the intent.
Keys (5)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
role-id | token | [1] | A human-oriented identifier reference to a role performed. |
props | Property | [0 to ∞] | An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. |
links | Link | [0 to ∞] | A reference to a local or remote resource, that has a specific relation to the containing object. |
party-uuids | Party Universally Unique Identifier Reference | [0 to ∞] | Reference to a party by UUID. |
remarks | Remarks | [0 or 1] | Additional commentary about the containing object. |
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 references to this part from within a catalog, or within an instance of another OSCAL model that has a need to reference the part. Examples of where part referencing is used in OSCAL include:
- Referencing a part by id to tailor (make modifications to) a control statement in a profile.
- Referencing a control statement represented by a part in a system security plan implemented-requirement where a statement-level response is desired.
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.
Keys (9)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
id | token | [0 or 1] | A unique identifier for the parameter. |
name | token | [1] | A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns. |
ns | uri | [0 or 1] | An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. |
class | token | [0 or 1] | A textual label that provides a characterization of the type, purpose, use or scope of the parameter. |
props | Property | [0 to ∞] | An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. |
parts | Part | [0 to ∞] | An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part. |
links | Link | [0 to ∞] | A reference to a local or remote resource, that has a specific relation to the containing object. |
title | Document Title | [0 or 1] | An optional name given to the resource, which may be used by a tool for display and navigation. |
prose | Part Text | [0 or 1] | Prose permits multiple paragraphs, lists, tables etc. |
Constraints (1)
- allowed-values
for
prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name- 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.
In a catalog, a parameter is typically used as a placeholder for the future assignment of a parameter value, although the OSCAL model allows for the direct assignment of a value if desired by the control author. The value may be optionally used to specify one or more values. If no value is provided, then it is expected that the value will be provided at the Profile or Implementation layer.
A parameter can include a variety of metadata options that support the future solicitation of one or more values. A label provides a textual placeholder that can be used in a tool to solicit parameter value input, or to display in catalog documentation. The desc provides a short description of what the parameter is used for, which can be used in tooling to help a user understand how to use the parameter. A constraint can be used to provide criteria for the allowed values. A guideline provides a recommendation for the use of a parameter.
Keys (12)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
id | token | [1] | A unique identifier for the parameter. |
class | token | [0 or 1] | A textual label that provides a characterization of the type, purpose, use or scope of the parameter. |
depends-on | token | [0 or 1] | (deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used. |
props | Property | [0 to ∞] | An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. |
links | Link | [0 to ∞] | A reference to a local or remote resource, that has a specific relation to the containing object. |
constraints | Constraint | [0 to ∞] | A formal or informal expression of a constraint or test. |
guidelines | Guideline | [0 to ∞] | A prose statement that provides a recommendation for the use of a parameter. |
remarks | Remarks | [0 or 1] | Additional commentary about the containing object. |
label | Parameter Label | [0 or 1] | A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. |
usage | Parameter Usage Description | [0 or 1] | Describes the purpose and use of a parameter. |
parameter-selection | Selection | [0 or 1] | Presenting a choice among alternatives. |
values | Parameter Value | [0 to ∞] | A parameter value or set of values. |
Constraints (3)
- allowed-values
for
prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name- 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.
- alt-label: An alternate to the value provided by the parameter's label. This will typically be qualified by a class.
- allowed-values
for
prop[has-oscal-namespace('http://csrc.nist.gov/ns/rmf')]/@name- aggregates: The parent parameter provides an aggregation of two or more other parameters, each described by this property.
- expect
for
.Test: not(exists(@depends-on))
Keys (2)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
remarks | Remarks | [0 or 1] | Additional commentary about the containing object. |
expression | Constraint test | [1] | A formal (executable) expression of a constraint. |
Keys (2)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
tests | Constraint Test | [0 to ∞] | A test expression which is expected to be evaluated by a tool. |
description | Role Description | [0 or 1] | An optional short summary of the resource used to indicate the purpose of the resource. |
Keys (1)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
prose | Part Text | [1] | Prose permits multiple paragraphs, lists, tables etc. |
A set of parameter value choices, that may be picked from to set the parameter value.
Keys (2)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
how-many | token | [0 or 1] | Describes the number of selections that must occur. Without this setting, only one value should be assumed to be permitted. |
choice | Choice | [0 to ∞] | A value selection among several such options. |
This element provides an alternative to calling controls individually from a catalog.
Fields (38)
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 provided in a different format. In such a case, the published value should indicate when the OSCAL document instance was last published, not the source material.
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. Ideally, this field will be managed by the editing tool or service used to make modifications when storing the modified document.
The intent of the last modified timestamp is to distinguish between significant change milestones when the document may be accessed by multiple entities. This allows a given entity to differentiate between multiple document states at specific points in time. It is possible to make multiple modifications to the document without storing these changes. In such a case, the last modified timestamp might not be updated until the document is finally stored.
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 last modification time of the OSCAL document instance, not the source material.
A version may be a release number, sequence number, date, or other identifier sufficient to distinguish between different document revisions.
While not required, it is recommended that OSCAL content authors use Semantic Versioning as the version format. This allows for the easy identification of a version tree consisting of major, minor, and patch numbers.
A version is typically set by the document owner or by the tool used to maintain the content.
Indicates the version of the OSCAL model to which the document conforms, for example 1.1.0
or 1.0.0-milestone1
. That can be used as a hint for a tool indicating which version of the OSCAL XML or JSON schema to use for validation.
The OSCAL version serves a different purpose from the document version and is used to represent a different concept. If both have the same value, this is coincidental.
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, representations or digital surrogates of the same document.
A document identifier provides an additional data point for identifying a document that can be assigned by a publisher or organization for purposes in a wider system, such as a digital object identifier (DOI) or a local content management system identifier.
Use of a document identifier allows for document creators to associate sets of documents that are related in some way by the same document-id.
An OSCAL document always has an implicit document identifier provided by the document's UUID, defined by the uuid on the top-level object. Having a default UUID-based identifier ensures all documents can be minimally identified when other document identifiers are not provided.
Keys (1)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
scheme | uri | [0 or 1] | 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. |
The remarks field SHOULD not be used to store arbitrary data. Instead, a prop or link should be used to annotate or reference any additional data not formally supported by OSCAL.
This field is scoped - that is, it can be used at the document-level, the mapping level, or the individual map item level. It only applies to targets and sources within it's scope.
Coverage is calculated by taking the full set of all targets in-scope and the full set of all sources in-scope, then applying the "generation-method" to the two sets. By default the method is an arbitrary estimation of coverage.
In a general sense "coverage" is defined as the percent of the set of targets that have mapped to by the set of sources, where each map is an "equivalent-to" or "equal-to" valued "relationship". Where relationship is "subset-of" or otherwise, it counts as an appropriate fraction of a full map.
Since coverage is derived from mapping relationships, it is defined in the context of the mapping's "matching-rationale" - that is, the method used to determine relationships.
Keys (1)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
generation-method | string | [0 or 1] | The method used to determine the coverage value. |
The value of this field applies to the entire document if found in the top-level mapping provenance, otherwise it applies to the specific mapping in which it is found.
If this field appears in both locations, the lower-scoped value overrides while within it's scope.
Keys (1)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
type | string | [0 or 1] | Indicates the type of phone number. |
This data field is deprecated in favor of using a link with an appropriate relationship.
Keys (1)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
scheme | uri | [1] | 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. |
party by UUID, typically an organization, that this subject is associated with. Since the reference target of an organizational affiliation must be another party (whether further qualified as person or organization) as indicated by its uuid. As a machine-oriented identifier with uniqueness across document and trans-document scope, this uuid value is sufficient to reference the data item locally or globally across related documents, e.g., in an imported OSCAL instance.
Parties of both the person or organization type can be associated with an organization using the member-of-organization.
Constraints (1)
- allowed-values
for
.[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]- unspecified: No category is specified for the confidence score.
- high: High confidence in the mapping.
- medium: Medium confidence in the mapping.
- low: Low confidence in the mapping.
matching-rationale method globaly
defined in the provenance unless overwritten locally in the
map. The relationship type and the matching-rationale
must be used together. However, more than one matching-rationale
method may apply to a source and target pair. For example, consider the CSF 1.1's PR.AC-1, "Identities and credentials are issued, managed, verified, revoked, and audited for authorized devices, users and processes", and the Privacy Framework's PR.AC-P1, "Identities and credentials are issued, managed, verified, and devices."
These two requirements have identical wording except for "users” versus “individuals” and the order of the last few words. With a `matching-rationale` of syntactic, the relationship type would beintersects with because the two overlap, but each includes content that the other does not. However, with a rationale of semantic, the relationship type would be equal if “users” and “individuals” have the same meaning in their respective sources, subset if “users” was a subset of “individuals,” and so on.
When establishing relationships, mapping SHOULD be done at the control statement level where possible. This approach allows for a more accurate relationship.
Constraints (1)
- allowed-values
for
.[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]- equivalent-to: The
sourceandtargetrequirements are similar, although not necessarily identical. The words may differ, but both mapped sets convey similar information with the same effective meaning. This relationship may be reversed, since `A equivalent-to B` also means that `B equivalent-to A`. This relationship is less suitable for a syntacticmatching-rationale. - equal-to: The
sourceandtargetrequirements are the same. Differences in capitalization, spelling, and grammar can be ignored, if these differences do not change the meaning. This relationship may be reversed, since `A equal-to B` also means that `B equal-to A`. - subset-of: The
sourcerequirements are a subset oftargetrequirements. In other words,targetcontains allsourcerequirements and aditional others. This relationship may be reversed as a `superset-of`, since `A subset-of B` also means that `B superset-of A`. - superset-of: The
sourcerequirements are a superset oftargetrequirements. In other words,sourcecontains alltargetrequirements and aditional others. This relationship may be reversed as a `subset-of`, since `A superset-of B` also means that `B subset-of A`. - intersects-with: The
sourceandtargetrequirements have some overlap, but each includes content that the other does not. This relationship may be reversed, since `A intersects-with B` also means that `B intersects-with A`. A mapping at statement level could result onrelationshipsmapping that allows for more inference than using this relationship type. - no-relationship: The
sourceandtargetrequirements are not related; their content does not overlap. This relation is introduced not with the intention to support exhaustiv mapping of all requirements and statements that have no overlap, but rather to support edge cases such is the need to tailor arelationshipin the context of a component or system to better align with the implementation and configuration of the respective component or system. Also, thisrelationshipis provided in support of the NIST IR 8477.
- equivalent-to: The
Keys (1)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
filename | token | [0 or 1] | Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. |
Keys (1)
| Name | Definition | Cardinality | Description |
|---|---|---|---|
algorithm | string | [1] | The digest method by which a hash is derived. |
value if no value is assigned. The label value is intended use when rendering a parameter in generated documentation or a user interface when a parameter is referenced. Note that labels are not required to be distinctive, which means that parameters within the same control may have the same label.