OSCAL Foundation Model Reference Documentation
JSON XML
Models
Catalog Profile Component Definition System Security Plan Assessment Plan Assessment Results Plan of Action and Milestones
Definitions
Local Definitions Assessment Plan Terms and Conditions Security Assessment Plan (SAP) Document Title Revision History Entry Role Short Name Role Description Role Location URL Location Party Name Party External Identifier Organizational Affiliation Party Document Metadata Citation Text Citation Resource link Base64 Resource Back matter Property Link Responsible Party Action Responsible Role City State Postal Code Country Code Address Location Universally Unique Identifier Reference Party Universally Unique Identifier Reference Role Identifier Reference Hash Remarks Publication Timestamp Last Modified Timestamp Document Version OSCAL Version Email Address Telephone Number Address line Document Identifier Import System Security Plan Assessment-Specific Control Objective Assessment Method Step Activity On Date Condition On Date Range Condition Frequency Condition Event Timing Task Dependency Associated Activity Task Assessed Controls Referenced Control Objectives Reviewed Controls and Control Objectives Include Specific Statements Select Control Select Objective Assessment Subject Source Assessment Subject Placeholder Subject of Assessment Select Assessment Subject Identifies the Subject Uses Component Assessment Platform Assessment Assets Objective Status Objective Status Implementation Statement UUID Finding Related Observation Associated Risk Relevant Evidence Observation Method Observation Type Collected Field Expires Field Observation Origin Originating Actor Identified Subject Task Reference Mitigating Factor Risk Response Reference Start End Risk Log Entry Risk Log Risk Statement Risk Resolution Deadline Identified Risk Logged By Facet Characterization Required Asset Risk Response Part Text Assessment Part Threat ID Risk Status Part Parameter Label Parameter Usage Description Parameter Constraint test Constraint Test Constraint Guideline Choice Selection Include All Match Controls by Pattern Parameter Value Match Controls by Identifier Purpose Component Service Protocol Information Port Range Implementation Status System User Privilege Implemented Component Inventory Item Parameter Value Set Parameter Value Functions Performed System Identification

Assessment Plan

JSON Format Outline

Click the triangle next to any property to expand its structure. Property names link to their definitions below.

assessment-plan [1]: {
uuid [1]: uuid ,
metadata [1 to 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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
party-uuids [1 to ∞]: [ ... ],
remarks [0 or 1]: remarks
} ],
actions [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
party-uuids [1 to ∞]: [ ... ],
remarks [0 or 1]: remarks
} ],
remarks [0 or 1]: remarks
} ],
published [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
published [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]: title
} ],
roles [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
remarks [0 or 1]: remarks,
title [1]: title,
short-name [0 or 1]: short-name,
description [0 or 1]: description
} ],
locations [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]: country
},
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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
email-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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
email-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]: country
} ],
location-uuids [0 to ∞]: [ ... ]
} ],
title [1]: title
},
import-ssp [1 to 1]: {
href [1]: uri-reference ,
remarks [0 to 1]: remarks
},
reviewed-controls [1 to 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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
remarks [0 to 1]: remarks,
control-selections [1 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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
exclude-controls [0 to ∞]: [ {
statement-ids [0 to ∞]: [ ... ]
} ],
remarks [0 to 1]: remarks,
description [0 to 1]: description,
include-all [1]: include-all,
include-controls [1 to ∞]: [ {
statement-ids [0 to ∞]: [ ... ]
} ]
} ],
control-objective-selections [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
exclude-objectives [0 to ∞]: [ {
remarks [0 to 1]: remarks
} ],
remarks [0 to 1]: remarks,
description [0 to 1]: description,
include-all [1]: include-all,
include-objectives [1 to ∞]: [ {
remarks [0 to 1]: remarks
} ]
} ],
description [0 to 1]: description
},
assessment-subjects [0 to ∞]: [ {
type [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
exclude-subjects [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
remarks [0 to 1]: remarks
} ],
remarks [0 to 1]: remarks,
description [0 to 1]: description,
include-all [1]: include-all,
include-subjects [1 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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
remarks [0 to 1]: remarks
} ]
} ],
assessment-assets [0 to 1]: {
components [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
responsible-roles [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
party-uuids [0 to ∞]: [ ... ],
remarks [0 or 1]: remarks
} ],
protocols [0 to ∞]: [ {
uuid [0 or 1]: uuid ,
name [0 or 1]: string ,
port-ranges [0 to ∞]: [ {
start [0 or 1]: non-negative-integer ,
end [0 or 1]: non-negative-integer ,
transport [0 or 1]: token ,
remarks [0 to 1]: remarks
} ],
title [0 or 1]: title
} ],
remarks [0 or 1]: remarks,
status [1]: {
state [1]: token ,
reason [0 or 1]: token ,
remarks [0 to 1]: remarks
},
title [1]: title,
description [1]: description,
purpose [0 or 1]: purpose
} ],
assessment-platforms [1 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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
remarks [0 or 1]: remarks,
uses-components [0 to ∞]: [ {
component-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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
party-uuids [1 to ∞]: [ ... ],
remarks [0 or 1]: remarks
} ],
remarks [0 or 1]: remarks
} ],
title [0 to 1]: title
} ]
},
tasks [0 to ∞]: [ {
uuid [1]: uuid ,
type [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
tasks [0 to ∞]: [ ... ],
subjects [0 to ∞]: [ {
type [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
exclude-subjects [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
remarks [0 to 1]: remarks
} ],
remarks [0 to 1]: remarks,
description [0 to 1]: description,
include-all [1]: include-all,
include-subjects [1 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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
remarks [0 to 1]: remarks
} ]
} ],
responsible-roles [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
party-uuids [0 to ∞]: [ ... ],
remarks [0 or 1]: remarks
} ],
remarks [0 to 1]: remarks,
timing [0 or 1]: {
on-date [1]: {
date [1]: date-time-with-timezone ,
remarks [0 to 1]: remarks
},
within-date-range [1]: {
start [1]: date-time-with-timezone ,
end [1]: date-time-with-timezone ,
remarks [0 to 1]: remarks
},
at-frequency [1]: {
period [1]: positive-integer ,
unit [1]: string ,
remarks [0 to 1]: remarks
}
},
dependencies [0 to ∞]: [ {
task-uuid [1]: uuid ,
remarks [0 to 1]: remarks
} ],
associated-activities [0 to ∞]: [ {
activity-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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
responsible-roles [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
party-uuids [0 to ∞]: [ ... ],
remarks [0 or 1]: remarks
} ],
subjects [1 to ∞]: [ {
type [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
exclude-subjects [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
remarks [0 to 1]: remarks
} ],
remarks [0 to 1]: remarks,
description [0 to 1]: description,
include-all [1]: include-all,
include-subjects [1 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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
remarks [0 to 1]: remarks
} ]
} ],
remarks [0 to 1]: remarks
} ],
title [1]: title,
description [0 to 1]: description
} ],
back-matter [0 to 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]: remarks
} ],
document-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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
text [1]: text
},
rlinks [0 to ∞]: [ {
href [1]: uri-reference ,
hashes [0 to ∞]: [ ... ]
} ],
title [0 or 1]: title,
description [0 or 1]: description,
base64 [0 or 1]: { ... }
} ]
},
local-definitions [0 or 1]: {
components [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
responsible-roles [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
party-uuids [0 to ∞]: [ ... ],
remarks [0 or 1]: remarks
} ],
protocols [0 to ∞]: [ {
uuid [0 or 1]: uuid ,
name [0 or 1]: string ,
port-ranges [0 to ∞]: [ {
start [0 or 1]: non-negative-integer ,
end [0 or 1]: non-negative-integer ,
transport [0 or 1]: token ,
remarks [0 to 1]: remarks
} ],
title [0 or 1]: title
} ],
remarks [0 or 1]: remarks,
status [1]: {
state [1]: token ,
reason [0 or 1]: token ,
remarks [0 to 1]: remarks
},
title [1]: title,
description [1]: description,
purpose [0 or 1]: purpose
} ],
inventory-items [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
party-uuids [1 to ∞]: [ ... ],
remarks [0 or 1]: remarks
} ],
remarks [0 or 1]: remarks,
implemented-components [0 to ∞]: [ {
component-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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
party-uuids [1 to ∞]: [ ... ],
remarks [0 or 1]: remarks
} ],
remarks [0 or 1]: remarks
} ],
description [1]: description
} ],
users [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
authorized-privileges [0 to ∞]: [ {
functions-performed [1 to ∞]: [ ... ],
title [1]: title,
description [0 or 1]: description
} ],
role-ids [0 to ∞]: [ ... ],
remarks [0 or 1]: remarks,
title [0 or 1]: title,
short-name [0 or 1]: short-name,
description [0 or 1]: description
} ],
objectives-and-methods [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
parts [1 to ∞]: [ {
id [0 or 1]: token ,
name [1]: token ,
ns [0 or 1]: uri ,
class [0 or 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]: remarks
} ],
parts [0 to ∞]: [ ... ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
title [0 or 1]: title,
prose [0 or 1]: prose
} ],
remarks [0 to 1]: remarks,
description [0 to 1]: description
} ],
activities [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
reviewed-controls [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
remarks [0 to 1]: remarks,
control-selections [1 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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
exclude-controls [0 to ∞]: [ {
statement-ids [0 to ∞]: [ ... ]
} ],
remarks [0 to 1]: remarks,
description [0 to 1]: description,
include-all [1]: include-all,
include-controls [1 to ∞]: [ {
statement-ids [0 to ∞]: [ ... ]
} ]
} ],
control-objective-selections [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
exclude-objectives [0 to ∞]: [ {
remarks [0 to 1]: remarks
} ],
remarks [0 to 1]: remarks,
description [0 to 1]: description,
include-all [1]: include-all,
include-objectives [1 to ∞]: [ {
remarks [0 to 1]: remarks
} ]
} ],
description [0 to 1]: description
},
responsible-roles [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
party-uuids [0 to ∞]: [ ... ],
remarks [0 or 1]: remarks
} ],
remarks [0 to 1]: remarks,
steps [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
reviewed-controls [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
remarks [0 to 1]: remarks,
control-selections [1 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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
exclude-controls [0 to ∞]: [ {
statement-ids [0 to ∞]: [ ... ]
} ],
remarks [0 to 1]: remarks,
description [0 to 1]: description,
include-all [1]: include-all,
include-controls [1 to ∞]: [ {
statement-ids [0 to ∞]: [ ... ]
} ]
} ],
control-objective-selections [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
exclude-objectives [0 to ∞]: [ {
remarks [0 to 1]: remarks
} ],
remarks [0 to 1]: remarks,
description [0 to 1]: description,
include-all [1]: include-all,
include-objectives [1 to ∞]: [ {
remarks [0 to 1]: remarks
} ]
} ],
description [0 to 1]: description
},
responsible-roles [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]: remarks
} ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
party-uuids [0 to ∞]: [ ... ],
remarks [0 or 1]: remarks
} ],
remarks [0 to 1]: remarks,
title [0 to 1]: title,
description [1 to 1]: description
} ],
title [0 to 1]: title,
description [1 to 1]: description
} ],
remarks [0 to 1]: remarks
},
terms-and-conditions [0 or 1]: {
parts [0 to ∞]: [ {
uuid [0 or 1]: uuid ,
name [1]: token ,
ns [0 or 1]: uri ,
class [0 or 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]: remarks
} ],
parts [0 to ∞]: [ ... ],
links [0 to ∞]: [ {
href [1]: uri-reference ,
rel [0 or 1]: token ,
resource-fragment [0 or 1]: string ,
text [0 or 1]: text
} ],
title [0 to 1]: title,
prose [0 or 1]: prose
} ]
}
}

Definitions (131)

local-definitions assembly
Local Definitions
Used to define data objects that are used in the assessment plan, that do not appear in the referenced SSP.

Keys (6)

Name Definition Cardinality Description
components Component [0 to ∞] A defined component that can be part of an implemented system.
inventory-items Inventory Item [0 to ∞] A single managed inventory item within the system.
users System User [0 to ∞] A type of user that interacts with the system based on an associated role.
objectives-and-methods Assessment-Specific Control Objective [0 to ∞] A local definition of a control objective for this assessment. Uses catalog syntax for control objective and assessment actions.
activities Activity [0 to ∞] 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.
remarks Remarks [0 to 1] Additional commentary about the containing object.
terms-and-conditions assembly
Assessment Plan Terms and Conditions
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.

Keys (1)

Name Definition Cardinality Description
parts Assessment Part [0 to ∞] A partition of an assessment plan or results or a child of another part.

Constraints (1)

  • allowed-values for part[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name
    • 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.
assessment-plan assembly
Security Assessment Plan (SAP)
An assessment plan, such as those provided by a FedRAMP assessor.

Keys (10)

Name Definition Cardinality Description
uuid uuid [1] 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.
metadata Document Metadata [1 to 1] Provides information about the containing document, and defines concepts that are shared across the document.
import-ssp Import System Security Plan [1 to 1] Used by the assessment plan and POA&M to import information about the system.
reviewed-controls Reviewed Controls and Control Objectives [1 to 1] Identifies the controls being assessed and their control objectives.
assessment-subjects Subject of Assessment [0 to ∞] 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.
assessment-assets Assessment Assets [0 to 1] Identifies the assets used to perform this assessment, such as the assessment team, scanning tools, and assumptions.
tasks Task [0 to ∞] Represents a scheduled event or milestone, which may be associated with a series of assessment actions.
back-matter Back matter [0 to 1] A collection of resources that may be referenced from within the OSCAL document instance.
local-definitions Local Definitions [0 or 1] Used to define data objects that are used in the assessment plan, that do not appear in the referenced SSP.
terms-and-conditions Assessment Plan Terms and Conditions [0 or 1] 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.
title field
Document Title
An optional name given to the resource, which may be used by a tool for display and navigation.
revision assembly
Revision History Entry
An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first).

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.
short-name field
Role Short Name
A short common name, abbreviation, or acronym for the party.
description field
Role Description
An optional short summary of the resource used to indicate the purpose of the resource.
role assembly
Role
Defines a function, which might be assigned to a party in a specific situation.

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.
url field
Location URL
The uniform resource locator (URL) for a web site or other resource associated with the location.

This data field is deprecated in favor of using a link with an appropriate relationship.

location assembly
Location
A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document.

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 class can be used to indicate the sub-type of data-center as primary or alternate.
  • 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
name field
Party Name
The full name of the party. This is typically the legal name associated with the party.
external-id field
Party External Identifier
An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID).

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.
member-of-organization field
Organizational Affiliation
A reference to another 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.

party assembly
Party
An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document.

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.
metadata assembly
Document Metadata
Provides information about the containing document, and defines concepts that are shared across the document.

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 role Index "index-metadata-role-ids" on role
  • index for .//prop Index "index-metadata-property-uuid" on .//prop
  • index for role Index "index-metadata-role-id" on role
  • index for location Index "index-metadata-location-uuid" on location
  • index for party Index "index-metadata-party-uuid" on party
  • index for party[@type='organization'] Index "index-metadata-party-organizations-uuid" on party[@type='organization']
text field
Citation Text
A textual label to associate with the link, which may be used for presentation in a tool.
citation assembly
Citation
An optional citation consisting of end note text using structured markup.

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.
rlink assembly
Resource link
A URL-based pointer to an external resource with an optional hash for verification and change detection.

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.
base64 field
Base64
A resource encoded using the Base64 alphabet defined by RFC 2045.

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.
resource assembly
Resource
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.

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
back-matter assembly
Back matter
A collection of resources that may be referenced from within the OSCAL document instance.

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 resource Index "index-back-matter-resource" on resource
property assembly
Property
An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair.

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.
link assembly
Link
A reference to a local or remote resource, that has a specific relation to the containing object.

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))
responsible-party assembly
Responsible Party
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.

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.
action assembly
Action
An action applied by a role within a given party to the content.

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.
responsible-role assembly
Responsible Role
A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role.

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.
city field
City
City, town or geographical region for the mailing address.
state field
State
State, province or analogous geographical region for a mailing address.
postal-code field
Postal Code
Postal or ZIP code for mailing address.
country field
Country Code
The ISO 3166-1 alpha-2 country code for the mailing address.
address assembly
Address
A postal address for the location.

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.
location-uuid field
Location Universally Unique Identifier Reference
Reference to a location by UUID.
party-uuid field
Party Universally Unique Identifier Reference
Reference to a party by UUID.
role-id field
Role Identifier Reference
Reference to a role by UUID.
hash field
Hash
A representation of a cryptographic digest generated over a resource using a specified hash algorithm.

Keys (1)

Name Definition Cardinality Description
algorithm string [1] The digest method by which a hash is derived.
remarks field
Remarks
Additional commentary about the containing object.

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.

published field
Publication Timestamp
The date and time the document was last made available.

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.

last-modified field
Last Modified Timestamp
The date and time the document was last stored for later retrieval.

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.

version field
Document Version
Used to distinguish a specific revision of an OSCAL document from other previous and future versions.

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.

oscal-version field
OSCAL Version
The OSCAL model version the document was authored against and will conform to as valid.

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.

email-address field
Email Address
An email address as defined by RFC 5322 Section 3.4.1.
telephone-number field
Telephone Number
A telephone service number as defined by ITU-T E.164.

Keys (1)

Name Definition Cardinality Description
type string [0 or 1] Indicates the type of phone number.
addr-line field
Address line
A single line of an address.
document-id field
Document Identifier
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, 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.
import-ssp assembly
Import System Security Plan
Used by the assessment plan and POA&M to import information about the system.

Keys (2)

Name Definition Cardinality Description
href uri-reference [1] An optional location for the threat data, from which this ID originates.
remarks Remarks [0 to 1] Additional commentary about the containing object.
local-objective assembly
Assessment-Specific Control Objective
A local definition of a control objective for this assessment. Uses catalog syntax for control objective and assessment actions.

Keys (5)

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.
parts Part [1 to ∞] An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part.
remarks Remarks [0 to 1] Additional commentary about the containing object.
description Role Description [0 to 1] An optional short summary of the resource used to indicate the purpose of the resource.

Constraints (1)

  • allowed-values for part[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name
    • objective: Describes a set of control objectives.
    • assessment: **(deprecated)** Use 'assessment-method' instead.
    • assessment-objective: The part defines an assessment objective.
    • assessment-method: The part defines an assessment method.
assessment-method assembly
Assessment Method
A local definition of a control objective. Uses catalog syntax for control objective and assessment activities.

Keys (6)

Name Definition Cardinality Description
uuid uuid [1] 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.
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.
assessment-part Assessment Part [1 to 1] A partition of an assessment plan or results or a child of another part.
remarks Remarks [0 to 1] Additional commentary about the containing object.
description Role Description [0 to 1] An optional short summary of the resource used to indicate the purpose of the resource.
step assembly
Step
Identifies an individual step in a series of steps related to an activity, such as an assessment test or examination procedure.

Keys (8)

Name Definition Cardinality Description
uuid uuid [1] 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.
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.
reviewed-controls Reviewed Controls and Control Objectives [0 or 1] Identifies the controls being assessed and their control objectives.
responsible-roles Responsible Role [0 to ∞] A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role.
remarks Remarks [0 to 1] Additional commentary about the containing object.
title Document Title [0 to 1] An optional name given to the resource, which may be used by a tool for display and navigation.
description Role Description [1 to 1] An optional short summary of the resource used to indicate the purpose of the resource.
activity assembly
Activity
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.

Keys (9)

Name Definition Cardinality Description
uuid uuid [1] 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.
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.
reviewed-controls Reviewed Controls and Control Objectives [0 or 1] Identifies the controls being assessed and their control objectives.
responsible-roles Responsible Role [0 to ∞] A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role.
remarks Remarks [0 to 1] Additional commentary about the containing object.
steps Step [0 to ∞] Identifies an individual step in a series of steps related to an activity, such as an assessment test or examination procedure.
title Document Title [0 to 1] An optional name given to the resource, which may be used by a tool for display and navigation.
description Role Description [1 to 1] An optional short summary of the resource used to indicate the purpose of the resource.

Constraints (2)

  • allowed-values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name
    • method: The assessment method to use. This typically appears on parts with the name "objective".
  • allowed-values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name='method']/@value
    • 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.
on-date assembly
On Date Condition
The task is intended to occur on the specified date.

Keys (2)

Name Definition Cardinality Description
date date-time-with-timezone [1] The task must occur on the specified date.
remarks Remarks [0 to 1] Additional commentary about the containing object.
within-date-range assembly
On Date Range Condition
The task is intended to occur within the specified date range.

Keys (3)

Name Definition Cardinality Description
start date-time-with-timezone [1] The task must occur on or after the specified date.
end date-time-with-timezone [1] The task must occur on or before the specified date.
remarks Remarks [0 to 1] Additional commentary about the containing object.
at-frequency assembly
Frequency Condition
The task is intended to occur at the specified frequency.

Keys (3)

Name Definition Cardinality Description
period positive-integer [1] The task must occur after the specified period has elapsed.
unit string [1] The unit of time for the period.
remarks Remarks [0 to 1] Additional commentary about the containing object.
timing assembly
Event Timing
The timing under which the task is intended to occur.

Keys (3)

Name Definition Cardinality Description
on-date On Date Condition [1] The task is intended to occur on the specified date.
within-date-range On Date Range Condition [1] The task is intended to occur within the specified date range.
at-frequency Frequency Condition [1] The task is intended to occur at the specified frequency.
dependency assembly
Task Dependency
Used to indicate that a task is dependent on another task.

Keys (2)

Name Definition Cardinality Description
task-uuid uuid [1] A machine-oriented identifier reference to a unique task.
remarks Remarks [0 to 1] Additional commentary about the containing object.
associated-activity assembly
Associated Activity
Identifies an individual activity to be performed as part of a task.

Keys (6)

Name Definition Cardinality Description
activity-uuid uuid [1] A machine-oriented identifier reference to an activity defined in the list of activities.
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-roles Responsible Role [0 to ∞] A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role.
subjects Subject of Assessment [1 to ∞] 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 Remarks [0 to 1] Additional commentary about the containing object.
task assembly
Task
Represents a scheduled event or milestone, which may be associated with a series of assessment actions.

Keys (13)

Name Definition Cardinality Description
uuid uuid [1] 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.
type token [1] The kind of actor.
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.
tasks Task [0 to ∞] Represents a scheduled event or milestone, which may be associated with a series of assessment actions.
subjects Subject of Assessment [0 to ∞] 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.
responsible-roles Responsible Role [0 to ∞] A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role.
remarks Remarks [0 to 1] Additional commentary about the containing object.
timing Event Timing [0 or 1] The timing under which the task is intended to occur.
dependencies Task Dependency [0 to ∞] Used to indicate that a task is dependent on another task.
associated-activities Associated Activity [0 to ∞] Identifies an individual activity to be performed as part of a task.
title Document Title [1] An optional name given to the resource, which may be used by a tool for display and navigation.
description Role Description [0 to 1] An optional short summary of the resource used to indicate the purpose of the resource.
control-selection assembly
Assessed Controls
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.

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.

Keys (7)

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.
exclude-controls Select Control [0 to ∞] 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 assessment scope.
remarks Remarks [0 to 1] Additional commentary about the containing object.
description Role Description [0 to 1] An optional short summary of the resource used to indicate the purpose of the resource.
include-all Include All [1] Include all controls from the imported catalog or profile resources.
include-controls Select Control [1 to ∞] 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 assessment scope.
control-objective-selection assembly
Referenced Control Objectives
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.

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.

Keys (7)

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.
exclude-objectives Select Objective [0 to ∞] Used to select a control objective for inclusion/exclusion based on the control objective's identifier.
remarks Remarks [0 to 1] Additional commentary about the containing object.
description Role Description [0 to 1] An optional short summary of the resource used to indicate the purpose of the resource.
include-all Include All [1] Include all controls from the imported catalog or profile resources.
include-objectives Select Objective [1 to ∞] Used to select a control objective for inclusion/exclusion based on the control objective's identifier.
reviewed-controls assembly
Reviewed Controls and Control Objectives
Identifies the controls being assessed and their control objectives.

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.

Keys (6)

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.
remarks Remarks [0 to 1] Additional commentary about the containing object.
control-selections Assessed Controls [1 to ∞] 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.
control-objective-selections Referenced Control Objectives [0 to ∞] 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.
description Role Description [0 to 1] An optional short summary of the resource used to indicate the purpose of the resource.
statement-id field
Include Specific Statements
Used to constrain the selection to only specificity identified statements.
select-control-by-id assembly
Select Control
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 assessment scope.

Keys (1)

Name Definition Cardinality Description
statement-ids Include Specific Statements [0 to ∞] Used to constrain the selection to only specificity identified statements.
select-objective-by-id assembly
Select Objective
Used to select a control objective for inclusion/exclusion based on the control objective's identifier.

Keys (1)

Name Definition Cardinality Description
remarks Remarks [0 to 1] Additional commentary about the containing object.
source assembly
Assessment Subject Source
Assessment subjects will be identified while conducting the referenced activity-instance.

Keys (2)

Name Definition Cardinality Description
task-uuid uuid [1] A machine-oriented identifier reference to a unique task.
remarks Remarks [0 to 1] Additional commentary about the containing object.
assessment-subject-placeholder assembly
Assessment Subject Placeholder
Used when the assessment subjects will be determined as part of one or more other assessment activities. These assessment subjects will be recorded in the assessment results in the assessment log.

Keys (6)

Name Definition Cardinality Description
uuid uuid [1] 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.
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.
sources Assessment Subject Source [1 to ∞] Assessment subjects will be identified while conducting the referenced activity-instance.
description Role Description [0 or 1] An optional short summary of the resource used to indicate the purpose of the resource.
assessment-subject assembly
Subject of Assessment
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.

Processing of an include/exclude pair starts with processing the include, then removing matching entries in the exclude.

Keys (8)

Name Definition Cardinality Description
type token [1] The kind of actor.
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.
exclude-subjects Select Assessment Subject [0 to ∞] Identifies a set of assessment subjects to include/exclude by UUID.
remarks Remarks [0 to 1] Additional commentary about the containing object.
description Role Description [0 to 1] An optional short summary of the resource used to indicate the purpose of the resource.
include-all Include All [1] Include all controls from the imported catalog or profile resources.
include-subjects Select Assessment Subject [1 to ∞] Identifies a set of assessment subjects to include/exclude by UUID.
select-subject-by-id assembly
Select Assessment Subject
Identifies a set of assessment subjects to include/exclude by UUID.

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.
remarks Remarks [0 to 1] Additional commentary about the containing object.
subject-reference assembly
Identifies the Subject
A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else.

The subject reference UUID could point to an item defined in the SSP, AP, or AR.

Tools should check look for the ID in every file imported directly or indirectly.

Keys (4)

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.
remarks Remarks [0 to 1] Additional commentary about the containing object.
title Document Title [0 to 1] An optional name given to the resource, which may be used by a tool for display and navigation.
uses-component assembly
Uses Component
The set of components that are used by the assessment platform.

Keys (5)

Name Definition Cardinality Description
component-uuid uuid [1] A machine-oriented identifier reference to a component that is implemented as part of an inventory item.
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.
assessment-platform assembly
Assessment Platform
Used to represent the toolset used to perform aspects of the assessment.

Keys (6)

Name Definition Cardinality Description
uuid uuid [1] 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.
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.
uses-components Uses Component [0 to ∞] The set of components that are used by the assessment platform.
title Document Title [0 to 1] An optional name given to the resource, which may be used by a tool for display and navigation.
assessment-assets assembly
Assessment Assets
Identifies the assets used to perform this assessment, such as the assessment team, scanning tools, and assumptions.

Keys (2)

Name Definition Cardinality Description
components Component [0 to ∞] A defined component that can be part of an implemented system.
assessment-platforms Assessment Platform [1 to ∞] Used to represent the toolset used to perform aspects of the assessment.
status assembly
Objective Status
A determination of if the objective is satisfied or not within a given system.

Keys (3)

Name Definition Cardinality Description
state token [1] An indication as to whether the objective is satisfied or not.
reason token [0 or 1] The reason the objective was given it's status.
remarks Remarks [0 to 1] Additional commentary about the containing object.
finding-target assembly
Objective Status
Captures an assessor's conclusions regarding the degree to which an objective is satisfied.

Keys (9)

Name Definition Cardinality Description
type string [1] The kind of actor.
target-id token [1] A machine-oriented identifier reference for a specific target qualified by the 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.
implementation-status Implementation Status [0 or 1] Indicates the degree to which the a given control is implemented.
remarks Remarks [0 to 1] Additional commentary about the containing object.
status Objective Status [1] A determination of if the objective is satisfied or not within a given system.
title Document Title [0 to 1] An optional name given to the resource, which may be used by a tool for display and navigation.
description Role Description [0 to 1] An optional short summary of the resource used to indicate the purpose of the resource.
implementation-statement-uuid field
Implementation Statement UUID
A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related.
finding assembly
Finding
Describes an individual finding.

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 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.
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.
origins Origin [0 to ∞] Identifies the source of the finding, such as a tool, interviewed person, or activity.
finding-target Objective Status [1] Captures an assessor's conclusions regarding the degree to which an objective is satisfied.
related-observations Related Observation [0 to ∞] Relates the identified element to a set of referenced observations that were used to support its determination.
related-risks Associated Risk [0 to ∞] Relates the finding to a set of referenced risks that were used to determine the finding.
remarks Remarks [0 to 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.
description Role Description [1] An optional short summary of the resource used to indicate the purpose of the resource.
implementation-statement-uuid Implementation Statement UUID [0 to 1] A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related.
related-observation assembly
Related Observation
Relates the identified element to a set of referenced observations that were used to support its determination.

Keys (2)

Name Definition Cardinality Description
observation-uuid uuid [1] A machine-oriented identifier reference to an observation defined in the list of observations.
remarks Remarks [0 to 1] Additional commentary about the containing object.
associated-risk assembly
Associated Risk
Relates the finding to a set of referenced risks that were used to determine the finding.

Keys (2)

Name Definition Cardinality Description
risk-uuid uuid [1] A machine-oriented identifier reference to a risk defined in the list of risks.
remarks Remarks [0 to 1] Additional commentary about the containing object.
relevant-evidence assembly
Relevant Evidence
Links this observation to relevant evidence.

Keys (5)

Name Definition Cardinality Description
href uri-reference [0 or 1] An optional location for the threat data, from which this ID originates.
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.
description Role Description [1 to 1] An optional short summary of the resource used to indicate the purpose of the resource.
method field
Observation Method
Identifies how the observation was made.

Constraints (1)

  • allowed-values for .
    • EXAMINE: The process of reviewing, inspecting, observing, studying, or analyzing one or more assessment objects (i.e., specifications, mechanisms, or activities).
    • 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.
    • TEST: The process of exercising one or more assessment objects (i.e., activities or mechanisms) under specified conditions to compare actual with expected behavior.
    • UNKNOWN: This is only for use when converting historic content to OSCAL, where the conversion process cannot initially identify the appropriate method(s).
type field
Observation Type
Identifies the nature of the observation. More than one may be used to further qualify and enable filtering.

Constraints (1)

  • allowed-values for .
    • ssp-statement-issue: A difference between the SSP implementation statement, and actual implementation.
    • control-objective: An observation about the status of a the associated control objective.
    • mitigation: An activity was completed that reduces the likelihood or impact of this risk.
    • finding: **(deprecated)** Use 'discovery' instead.
    • discovery: An observation of potential risk in the system's implementation, identified through security scanning tools, penetration testing, and other means.
    • historic: An observation from a past assessment, which was converted to OSCAL at a later date.
collected field
Collected Field
Date/time stamp identifying when the finding information was collected.
expires field
Expires Field
Date/time identifying when the finding information is out-of-date and no longer valid. Typically used with continuous assessment scenarios.
observation assembly
Observation
Describes an individual observation.

Keys (13)

Name Definition Cardinality Description
uuid uuid [1] 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.
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.
origins Origin [0 to ∞] Identifies the source of the finding, such as a tool, interviewed person, or activity.
subjects Identifies the Subject [0 to ∞] A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else.
remarks Remarks [0 to 1] Additional commentary about the containing object.
relevant-evidence Relevant Evidence [0 to ∞] Links this observation to relevant evidence.
title Document Title [0 to 1] An optional name given to the resource, which may be used by a tool for display and navigation.
description Role Description [1 to 1] An optional short summary of the resource used to indicate the purpose of the resource.
methods Observation Method [1 to ∞] Identifies how the observation was made.
types Observation Type [0 to ∞] Identifies the nature of the observation. More than one may be used to further qualify and enable filtering.
collected Collected Field [1 to 1] Date/time stamp identifying when the finding information was collected.
expires Expires Field [0 to 1] Date/time identifying when the finding information is out-of-date and no longer valid. Typically used with continuous assessment scenarios.
origin assembly
Origin
Identifies the source of the finding, such as a tool, interviewed person, or activity.

Keys (2)

Name Definition Cardinality Description
actors Originating Actor [1 to ∞] The actor that produces an observation, a finding, or a risk. One or more actor type can be used to specify a person that is using a tool.
related-tasks Task Reference [0 to ∞] Identifies an individual task for which the containing object is a consequence of.
origin-actor assembly
Originating Actor
The actor that produces an observation, a finding, or a risk. One or more actor type can be used to specify a person that is using a tool.

Keys (5)

Name Definition Cardinality Description
type token [1] The kind of actor.
actor-uuid uuid [1] A machine-oriented identifier reference to the tool or person based on the associated type.
role-id token [0 or 1] A point to the role-id of the role in which the party is making the log entry.
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.
identified-subject assembly
Identified Subject
Used to detail assessment subjects that were identified by this task.

Keys (2)

Name Definition Cardinality Description
subject-placeholder-uuid uuid [1] A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task.
subjects Subject of Assessment [1 to ∞] 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.
related-task assembly
Task Reference
Identifies an individual task for which the containing object is a consequence of.

Keys (7)

Name Definition Cardinality Description
task-uuid uuid [1] A machine-oriented identifier reference to a unique task.
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.
subjects Subject of Assessment [0 to ∞] 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 Remarks [0 to 1] Additional commentary about the containing object.
identified-subject Identified Subject [0 or 1] Used to detail assessment subjects that were identified by this task.
mitigating-factor assembly
Mitigating Factor
Describes an existing mitigating factor that may affect the overall determination of the risk, with an optional link to an implementation statement in the SSP.

Keys (6)

Name Definition Cardinality Description
uuid uuid [1] 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.
implementation-uuid uuid [0 or 1] A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement 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.
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.
subjects Identifies the Subject [0 to ∞] A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else.
description Role Description [1 to 1] An optional short summary of the resource used to indicate the purpose of the resource.
related-response assembly
Risk Response Reference
Identifies an individual risk response that this log entry is for.

Keys (5)

Name Definition Cardinality Description
response-uuid uuid [1] A machine-oriented identifier reference to a unique risk response.
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.
related-tasks Task Reference [0 to ∞] Identifies an individual task for which the containing object is a consequence of.
remarks Remarks [0 to 1] Additional commentary about the containing object.
start field
Start
Identifies the start date and time of the event.
end field
End
Identifies the end date and time of the event. If the event is a point in time, the start and end will be the same date and time.
entry assembly
Risk Log Entry
Identifies an individual risk response that occurred as part of managing an identified risk.

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 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.
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.
logged-by Logged By [0 to ∞] Used to indicate who created a log entry in what role.
risk-status Risk Status [0 or 1] Describes the status of the associated risk.
remarks Remarks [0 to 1] Additional commentary about the containing object.
related-responses Risk Response Reference [0 to ∞] Identifies an individual risk response that this log entry is for.
title Document Title [0 to 1] An optional name given to the resource, which may be used by a tool for display and navigation.
description Role Description [0 to 1] An optional short summary of the resource used to indicate the purpose of the resource.
start Start [1 to 1] Identifies the start date and time of the event.
end End [0 to 1] Identifies the end date and time of the event. If the event is a point in time, the start and end will be the same date and time.

Constraints (2)

  • allowed-values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name
    • type: Risk Response Type
  • allowed-values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name='type']/@value
    • vendor-check-in: Contacted vendor to determine the status of a pending fix to a known vulnerability.
    • status-update: Information related to the current state of response to this risk.
    • milestone-complete: A significant step in the response plan has been achieved.
    • mitigation: An activity was completed that reduces the likelihood or impact of this risk.
    • remediated: An activity was completed that eliminates the likelihood or impact of this risk.
    • closed: The risk has been resolved.
    • dr-submission: A deviation request was made to the authorizing official.
    • dr-updated: A previously submitted deviation request has been modified.
    • dr-approved: The authorizing official approved the deviation.
    • dr-rejected: The authorizing official rejected the deviation.
risk-log assembly
Risk Log
A log of all risk-related tasks taken.

Keys (1)

Name Definition Cardinality Description
entries Risk Log Entry [1 to ∞] Identifies an individual risk response that occurred as part of managing an identified risk.
statement field
Risk Statement
An summary of impact for how the risk affects the system.
deadline field
Risk Resolution Deadline
The date/time by which the risk must be resolved.
risk assembly
Identified Risk
An identified risk.

Keys (15)

Name Definition Cardinality Description
uuid uuid [1] 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.
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.
origins Origin [0 to ∞] Identifies the source of the finding, such as a tool, interviewed person, or activity.
characterizations Characterization [0 to ∞] A collection of descriptive data about the containing object from a specific origin.
remediations Risk Response [0 to ∞] Describes either recommended or an actual plan for addressing the risk.
related-observations Related Observation [0 to ∞] Relates the identified element to a set of referenced observations that were used to support its determination.
risk-status Risk Status [1] Describes the status of the associated risk.
threat-ids Threat ID [0 to ∞] A pointer, by ID, to an externally-defined threat.
mitigating-factors Mitigating Factor [0 to ∞] Describes an existing mitigating factor that may affect the overall determination of the risk, with an optional link to an implementation statement in the SSP.
risk-log Risk Log [0 or 1] A log of all risk-related tasks taken.
title Document Title [1 to 1] An optional name given to the resource, which may be used by a tool for display and navigation.
description Role Description [1 to 1] An optional short summary of the resource used to indicate the purpose of the resource.
statement Risk Statement [1] An summary of impact for how the risk affects the system.
deadline Risk Resolution Deadline [0 or 1] The date/time by which the risk must be resolved.

Constraints (1)

  • allowed-values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name
    • false-positive: The risk has been confirmed to be a false positive.
    • accepted: The risk has been accepted. No further action will be taken.
    • risk-adjusted: The risk has been adjusted.
    • priority: A numeric value indicating the sequence in which risks should be addressed. (Lower numbers are higher priority)
logged-by assembly
Logged By
Used to indicate who created a log entry in what role.

Keys (3)

Name Definition Cardinality Description
party-uuid uuid [1] A machine-oriented identifier reference to the party who is making the log entry.
role-id token [0 or 1] A point to the role-id of the role in which the party is making the log entry.
remarks Remarks [0 to 1] Additional commentary about the containing object.
facet assembly
Facet
An individual characteristic that is part of a larger set produced by the same actor.

Keys (6)

Name Definition Cardinality Description
name token [1] A textual label that uniquely identifies the part's semantic type.
system uri [1] Specifies the naming system under which this risk metric is organized, which allows for the same names to be used in different systems controlled by different parties. This avoids the potential of a name clash.
value string [1] Indicates the value of the facet.
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.

Constraints (51)

  • allowed-values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name
    • state: Indicates if the facet is 'initial' as first identified, or 'adjusted' indicating that the value has be changed after some adjustments have been made (e.g., to identify residual risk).
  • allowed-values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name='state']/@value
    • initial: As first identified.
    • adjusted: Indicates that residual risk remains after some adjustments have been made.
  • allowed-values for (.)[@system='http://csrc.nist.gov/ns/oscal']/@name
    • likelihood: Likelihood as defined by FedRAMP. The class can be used to specify 'initial' and 'adjusted' risk states.
    • impact: Impact as defined by FedRAMP. The class can be used to specify 'initial' and 'adjusted' risk states.
    • risk: Risk as calculated according to FedRAMP. The class can be used to specify 'initial' and 'adjusted' risk states.
    • severity: General severity rating.
  • allowed-values for (.)[@system=('http://fedramp.gov','http://fedramp.gov/ns/oscal')]/@name
    • likelihood: Likelihood as defined by FedRAMP. The class can be used to specify 'initial' and 'adjusted' risk states.
    • impact: Impact as defined by FedRAMP. The class can be used to specify 'initial' and 'adjusted' risk states.
    • risk: Risk as calculated according to FedRAMP. The class can be used to specify 'initial' and 'adjusted' risk states.
  • allowed-values for (.)[@system='http://cve.mitre.org']/@name
    • cve-id: An identifier managed by the CVE program (see https://cve.mitre.org/).
  • allowed-values for (.)[@system='http://www.first.org/cvss/v2.0']/@name
    • access-vector: Base: Access Vector
    • access-complexity: Base: Attack Complexity
    • authentication: Base: Authentication
    • confidentiality-impact: Base: Confidentiality Impact
    • integrity-impact: Base: Integrity Impact
    • availability-impact: Base: Availability Impact
    • exploitability: Temporal: Exploitability
    • remediation-level: Temporal: Remediation Level
    • report-confidence: Temporal: Report Confidence
    • collateral-damage-potential: Environmental: Collateral Damage Potential
    • target-distribution: Environmental: Target Distribution
    • confidentiality-requirement: Environmental: Confidentiality Requirement Modifier
    • integrity-requirement: Environmental: Integrity Requirement Modifier
    • availability-requirement: Environmental: Availability Requirement Modifier
  • allowed-values for (.)[@system='http://www.first.org/cvss/v2.0' and @name='access-vector']/@value
    • local: Local
    • adjacent-network: Network Adjacent
    • network: Network
  • allowed-values for (.)[@system='http://www.first.org/cvss/v2.0' and @name='access-complexity']/@value
    • high: High
    • medium: Medium
    • low: Low
  • allowed-values for (.)[@system='http://www.first.org/cvss/v2.0' and @name='authentication']/@value
    • multiple: Multiple
    • single: Single
    • none: No response, such as when the identified risk is found to be a false positive.
  • allowed-values for (.)[@system='http://www.first.org/cvss/v2.0' and @name=('confidentiality-impact', 'integrity-impact', 'availability-impact')]/@value
    • none: No response, such as when the identified risk is found to be a false positive.
    • partial: Partial
    • complete: Complete
  • allowed-values for (.)[@system='http://www.first.org/cvss/v2.0' and @name='exploitability']/@value
    • unproven: Unproven
    • proof-of-concept: Proof-of-Concept
    • functional: Functional
    • high: High
    • not-defined: Not Defined
  • allowed-values for (.)[@system='http://www.first.org/cvss/v2.0' and @name='remediation-level']/@value
    • official-fix: Official Fix
    • temporary-fix: Temporary Fix
    • workaround: Workaround
    • unavailable: Unavailable
    • not-defined: Not Defined
  • allowed-values for (.)[@system='http://www.first.org/cvss/v2.0' and @name='report-confidence']/@value
    • unconfirmed: Unconfirmed
    • uncorroborated: Uncorroborated
    • confirmed: Confirmed
    • not-defined: Not Defined
  • allowed-values for (.)[@system='http://www.first.org/cvss/v2.0' and @name='collateral-damage-potential']/@value
    • none: No response, such as when the identified risk is found to be a false positive.
    • low: Low
    • low-medium: Low Medium
    • medium-high: Medium High
    • high: High
    • not-defined: Not Defined
  • allowed-values for (.)[@system='http://www.first.org/cvss/v2.0' and @name=('target-distribution', 'confidentiality-requirement', 'integrity-requirement', 'availability-requirement')]/@value
    • none: No response, such as when the identified risk is found to be a false positive.
    • low: Low
    • medium: Medium
    • high: High
    • not-defined: Not Defined
  • allowed-values for (.)[@system=('http://www.first.org/cvss/v3.0', 'http://www.first.org/cvss/v3.1')]/@name
    • attack-vector: Base: Attack Vector
    • access-complexity: Base: Attack Complexity
    • privileges-required: Base: Privileges Required
    • user-interaction: Base: User Interaction
    • scope: Base: Scope
    • confidentiality-impact: Base: Confidentiality Impact
    • integrity-impact: Base: Integrity Impact
    • availability-impact: Base: Availability Impact
    • exploit-code-maturity: Temporal: Exploit Code Maturity
    • remediation-level: Temporal: Remediation Level
    • report-confidence: Temporal: Report Confidence
    • modified-attack-vector: Environmental: Modified Attack Vector
    • modified-attack-complexity: Environmental: Modified Attack Complexity
    • modified-privileges-required: Environmental: Modified Privileges Required
    • modified-user-interaction: Environmental: Modified User Interaction
    • modified-scope: Environmental: Modified Scope
    • modified-confidentiality: Environmental: Modified Confidentiality
    • modified-integrity: Environmental: Modified Integrity
    • modified-availability: Environmental: Modified Availability
    • confidentiality-requirement: Environmental: Confidentiality Requirement Modifier
    • integrity-requirement: Environmental: Integrity Requirement Modifier
    • availability-requirement: Environmental: Availability Requirement Modifier
  • allowed-values for (.)[@system=('http://www.first.org/cvss/v3.0', 'http://www.first.org/cvss/v3.1') and @name='access-vector']/@value
    • network: Network
    • adjacent: Adjacent
    • local: Local
    • physical: Physical
  • allowed-values for (.)[@system=('http://www.first.org/cvss/v3.0', 'http://www.first.org/cvss/v3.1') and @name='access-complexity']/@value
    • high: High
    • low: Low
  • allowed-values for (.)[@system=('http://www.first.org/cvss/v3.0', 'http://www.first.org/cvss/v3.1') and @name=('privileges-required', 'confidentiality-impact', 'integrity-impact', 'availability-impact')]/@value
    • none: No response, such as when the identified risk is found to be a false positive.
    • low: Low
    • high: High
  • allowed-values for (.)[@system=('http://www.first.org/cvss/v3.0', 'http://www.first.org/cvss/v3.1') and @name='user-interaction']/@value
    • none: No response, such as when the identified risk is found to be a false positive.
    • required: Required
  • allowed-values for (.)[@system=('http://www.first.org/cvss/v3.0', 'http://www.first.org/cvss/v3.1') and @name='scope']/@value
    • unchanged: Unchanged
    • changed: Changed
  • allowed-values for (.)[@system=('http://www.first.org/cvss/v3.0', 'http://www.first.org/cvss/v3.1') and @name='exploit-code-maturity']/@value
    • not-defined: Not Defined
    • unproven: Unproven
    • proof-of-concept: Proof-of-Concept
    • functional: Functional
    • high: High
  • allowed-values for (.)[@system=('http://www.first.org/cvss/v3.0', 'http://www.first.org/cvss/v3.1') and @name='remediation-level']/@value
    • not-defined: Not Defined
    • official-fix: Official Fix
    • temporary-fix: Temporary Fix
    • workaround: Workaround
    • unavailable: Unavailable
  • allowed-values for (.)[@system=('http://www.first.org/cvss/v3.0', 'http://www.first.org/cvss/v3.1') and @name='report-confidence']/@value
    • not-defined: Not Defined
    • unknown: Unknown
    • reasonable: Reasonable
    • confirmed: Confirmed
  • allowed-values for (.)[@system=('http://www.first.org/cvss/v3.0', 'http://www.first.org/cvss/v3.1') and @name=('confidentiality-requirement', 'integrity-requirement', 'availability-requirement')]/@value
    • not-defined: Not Defined
    • low: Low
    • medium: Medium
    • high: High
  • allowed-values for (.)[@system=('http://www.first.org/cvss/v3.0', 'http://www.first.org/cvss/v3.1') and @name='modified-attack-vector']/@value
    • not-defined: Not Defined
    • network: Network
    • adjacent: Adjacent
    • local: Local
    • physical: Physical
  • allowed-values for (.)[@system=('http://www.first.org/cvss/v3.0', 'http://www.first.org/cvss/v3.1') and @name='modified-attack-complexity']/@value
    • not-defined: Not Defined
    • high: High
    • low: Low
  • allowed-values for (.)[@system=('http://www.first.org/cvss/v3.0', 'http://www.first.org/cvss/v3.1') and @name=('modified-privileges-required', 'modified-confidentiality', 'modified-integrity', 'modified-availability')]/@value
    • not-defined: Not Defined
    • none: No response, such as when the identified risk is found to be a false positive.
    • low: Low
    • high: High
  • allowed-values for (.)[@system=('http://www.first.org/cvss/v3.0', 'http://www.first.org/cvss/v3.1') and @name='modified-user-interaction']/@value
    • not-defined: Not Defined
    • none: No response, such as when the identified risk is found to be a false positive.
    • required: Required
  • allowed-values for (.)[@system=('http://www.first.org/cvss/v3.0', 'http://www.first.org/cvss/v3.1') and @name='modified-scope']/@value
    • not-defined: Not Defined
    • unchanged: Unchanged
    • changed: Changed
  • allowed-values for (.)[@system=('https://www.first.org/cvss/v4-0')]/@name
    • av: Base: Attack Vector
    • ac: Base: Attack Complexity
    • at: Base: Attack Requirements
    • pr: Base: Privileges Required
    • ui: Base: User Interaction
    • vc: Base: Vulnerable System Confidentiality Impact
    • vi: Base: Vulnerable System Integrity Impact
    • va: Base: Vulnerable System Availability Impact
    • sc: Base: Subsequent System Confidentiality Impact
    • si: Base: Vulnerable System Integrity Impact
    • sa: Base: Vulnerable System Availability Impact
    • s: Safety
    • au: Supplemental: Automatable
    • r: Supplemental: Recovery
    • v: Supplemental: Value Density
    • re: Supplemental: Vulnerability Response Effort
    • u: Unreported
    • mav: Environmental: Modified Attack Vector
    • mac: Environmental: Modified Attack Complexity
    • mat: Environmental: Modified Attack Requirements
    • mpr: Environmental: Modified Privileges Required
    • mui: Environmental: Modified User Interaction
    • mvc: Environmental: Modified Vulnerable System Confidentiality
    • mvi: Environmental: Modified Vulnerable System Integrity
    • mva: Environmental: Modified Vulnerable System Availability
    • msc: Environmental: Subsequent Vulnerable System Confidentiality
    • msi: Environmental: Subsequent Vulnerable System Integrity
    • msa: Environmental: Subsequent Vulnerable System Availability
    • cr: Environmental: Confidentiality Requirements
    • ir: Environmental: Integrity Requirements
    • ar: Environmental: Availability Requirements
    • e: Threat: Exploit Maturity
  • allowed-values for .[@system='https://www.first.org/cvss/v4-0' and @name='av']/@value
    • n: Negligible
    • a: Attacked
    • l: Low
    • p: PoC
  • allowed-values for .[@system='https://www.first.org/cvss/v4-0' and @name='ac']/@value
    • h: High
    • l: Low
  • allowed-values for .[@system='https://www.first.org/cvss/v4-0' and @name='at']/@value
    • n: Negligible
    • p: PoC
  • allowed-values for .[@system='https://www.first.org/cvss/v4-0' and @name=('pr','vc','vi','va','sc','si','sa')]/@value
    • n: Negligible
    • l: Low
    • h: High
  • allowed-values for .[@system='https://www.first.org/cvss/v4-0' and @name='ui']/@value
    • n: Negligible
    • p: PoC
    • a: Attacked
  • allowed-values for .[@system='https://www.first.org/cvss/v4-0' and @name='s']/@value
    • x: Not Defined
    • n: Negligible
    • p: PoC
  • allowed-values for .[@system='https://www.first.org/cvss/v4-0' and @name='au']/@value
    • x: Not Defined
    • n: Negligible
    • y: Yes
  • allowed-values for .[@system='https://www.first.org/cvss/v4-0' and @name='r']/@value
    • x: Not Defined
    • a: Attacked
    • u: Unreported
    • i: Irrecoverable
  • allowed-values for .[@system='https://www.first.org/cvss/v4-0' and @name='v']/@value
    • x: Not Defined
    • a: Attacked
    • u: Unreported
    • i: Irrecoverable
  • allowed-values for .[@system='https://www.first.org/cvss/v4-0' and @name='re']/@value
    • x: Not Defined
    • l: Low
    • m: Medium
    • h: High
  • allowed-values for .[@system='https://www.first.org/cvss/v4-0' and @name='u']/@value
    • x: Not Defined
    • clear: Clear
    • green: Green
    • amber: Amber
    • red: Red
  • allowed-values for .[@system='https://www.first.org/cvss/v4-0' and @name='mav']/@value
    • x: Not Defined
    • n: Negligible
    • a: Attacked
    • l: Low
    • p: PoC
  • allowed-values for .[@system='https://www.first.org/cvss/v4-0' and @name='mac']/@value
    • x: Not Defined
    • h: High
    • l: Low
  • allowed-values for .[@system='https://www.first.org/cvss/v4-0' and @name='mat']/@value
    • x: Not Defined
    • n: Negligible
    • p: PoC
  • allowed-values for .[@system='https://www.first.org/cvss/v4-0' and @name=('mpr','mvc','mvi')]/@value
    • x: Not Defined
    • n: Negligible
    • l: Low
    • h: High
  • allowed-values for .[@system='https://www.first.org/cvss/v4-0' and @name='mui']/@value
    • x: Not Defined
    • n: Negligible
    • p: PoC
    • a: Attacked
  • allowed-values for .[@system='https://www.first.org/cvss/v4-0' and @name='msc']/@value
    • x: Not Defined
    • n: Negligible
    • l: Low
    • h: High
  • allowed-values for .[@system='https://www.first.org/cvss/v4-0' and @name=('msi','msa')]/@value
    • x: Not Defined
    • n: Negligible
    • l: Low
    • h: High
    • s: Safety
  • allowed-values for .[@system='https://www.first.org/cvss/v4-0' and @name=('cr','ir','ar')]/@value
    • x: Not Defined
    • l: Low
    • m: Medium
    • h: High
  • allowed-values for .[@system='https://www.first.org/cvss/v4-0' and @name='e']/@value
    • x: Not Defined
    • a: Attacked
    • p: PoC
    • u: Unreported
characterization assembly
Characterization
A collection of descriptive data about the containing object from a specific origin.

Keys (4)

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.
origin Origin [1] Identifies the source of the finding, such as a tool, interviewed person, or activity.
facets Facet [1 to ∞] An individual characteristic that is part of a larger set produced by the same actor.
required-asset assembly
Required Asset
Identifies an asset required to achieve remediation.

Keys (7)

Name Definition Cardinality Description
uuid uuid [1] 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.
subjects Identifies the Subject [0 to ∞] A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else.
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.
title Document Title [0 to 1] An optional name given to the resource, which may be used by a tool for display and navigation.
description Role Description [1 to 1] An optional short summary of the resource used to indicate the purpose of the resource.
response assembly
Risk Response
Describes either recommended or an actual plan for addressing the risk.

Keys (10)

Name Definition Cardinality Description
uuid uuid [1] 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.
lifecycle token [1] Identifies whether this is a recommendation, such as from an assessor or tool, or an actual plan accepted by the system owner.
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.
origins Origin [0 to ∞] Identifies the source of the finding, such as a tool, interviewed person, or activity.
tasks Task [0 to ∞] Represents a scheduled event or milestone, which may be associated with a series of assessment actions.
remarks Remarks [0 to 1] Additional commentary about the containing object.
required-assets Required Asset [0 to ∞] Identifies an asset required to achieve remediation.
title Document Title [1 to 1] An optional name given to the resource, which may be used by a tool for display and navigation.
description Role Description [1 to 1] An optional short summary of the resource used to indicate the purpose of the resource.

Constraints (2)

  • allowed-values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name
    • type: Risk Response Type
  • allowed-values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name='type']/@value
    • avoid: The risk will be eliminated.
    • mitigate: The risk will be reduced.
    • transfer: The risk will be transferred to another organization or entity.
    • accept: The risk will continue to exist without further efforts to address it. (Sometimes referred to as "Operationally required")
    • share: The risk will be partially transferred to another organization or entity.
    • contingency: Plans will be made to address the risk impact if the risk occurs. (This is a form of mitigation.)
    • none: No response, such as when the identified risk is found to be a false positive.
prose field
Part Text
Permits multiple paragraphs, lists, tables etc.
assessment-part assembly
Assessment Part
A partition of an assessment plan or results or a child of another part.

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.

Keys (9)

Name Definition Cardinality Description
uuid uuid [0 or 1] 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] A textual label that uniquely identifies the part's semantic type.
ns uri [0 or 1] A 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 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.
props Property [0 to ∞] An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair.
parts Assessment Part [0 to ∞] A partition of an assessment plan or results 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 to 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] Permits multiple paragraphs, lists, tables etc.

Constraints (2)

  • allowed-values for .[@name='objective']/prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name
    • method: The assessment method to use. This typically appears on parts with the name "objective".
  • allowed-values for .[@name='objective']/prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name='method']/@value
    • 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.
threat-id field
Threat ID
A pointer, by ID, to an externally-defined threat.

Keys (2)

Name Definition Cardinality Description
system uri [1] Specifies the naming system under which this risk metric is organized, which allows for the same names to be used in different systems controlled by different parties. This avoids the potential of a name clash.
href uri-reference [0 or 1] An optional location for the threat data, from which this ID originates.
risk-status field
Risk Status
Describes the status of the associated risk.

Constraints (1)

  • allowed-values for .
    • open: The risk has been identified.
    • investigating: The identified risk is being investigated. (Open risk)
    • remediating: Remediation activities are underway, but are not yet complete. (Open risk)
    • deviation-requested: A risk deviation, such as false positive, risk reduction, or operational requirement has been submitted for approval. (Open risk)
    • deviation-approved: A risk deviation, such as false positive, risk reduction, or operational requirement has been approved. (Open risk)
    • closed: The risk has been resolved.
part assembly
Part
An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part.

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] 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.
label field
Parameter Label
A short, placeholder name for the parameter, which can be used as a substitute for a 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.

usage field
Parameter Usage Description
Describes the purpose and use of a parameter.
parameter assembly
Parameter
Parameters provide a mechanism for the dynamic assignment of value(s) in a control.

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))
expression field
Constraint test
A formal (executable) expression of a constraint.
test assembly
Constraint Test
A test expression which is expected to be evaluated by a tool.

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.
parameter-constraint assembly
Constraint
A formal or informal expression of a constraint or test.

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.
parameter-guideline assembly
Guideline
A prose statement that provides a recommendation for the use of a parameter.

Keys (1)

Name Definition Cardinality Description
prose Part Text [1] Permits multiple paragraphs, lists, tables etc.
choice field
Choice
A value selection among several such options.
parameter-selection assembly
Selection
Presenting a choice among alternatives.

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.
include-all assembly
Include All
Include all controls from the imported catalog or profile resources.

This element provides an alternative to calling controls individually from a catalog.

matching assembly
Match Controls by Pattern
Selecting a set of controls by matching their IDs with a wildcard pattern.

Keys (1)

Name Definition Cardinality Description
remarks Remarks [0 to 1] Additional commentary about the containing object.
parameter-value field
Parameter Value
A parameter value or set of values.
with-id field
Match Controls by Identifier
Selecting a control by its ID given as a literal.
purpose field
Purpose
A summary of the technological or business purpose of the component.
system-component assembly
Component
A defined component that can be part of an implemented system.

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.

Keys (10)

Name Definition Cardinality Description
uuid uuid [1] 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.
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-roles Responsible Role [0 to ∞] A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role.
protocols Service Protocol Information [0 to ∞] Information about the protocol used to provide a service.
remarks Remarks [0 or 1] Additional commentary about the containing object.
status Objective Status [1] A determination of if the objective is satisfied or not within a given system.
title Document Title [1] An optional name given to the resource, which may be used by a tool for display and navigation.
description Role Description [1] An optional short summary of the resource used to indicate the purpose of the resource.
purpose Purpose [0 or 1] A summary of the technological or business purpose of the component.

Constraints (18)

  • allowed-values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name
    • 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.
    • hardware-model: **(deprecated)** Use 'model' instead.
    • model: The model of system 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.
    • version: The version of the component.
    • patch-level: The specific patch level of the component.
    • model: The model of system used by the asset.
    • 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
    • depends-on: A reference to another component that this component has a dependency on.
    • validation: An external assessment performed on some other component, that has been validated by a third-party.
    • 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.
    • imported-from: The hyperlink identifies a URI pointing to the component in a component-definition that originally defined the component.
  • allowed-values for responsible-role/@role-id
    • 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[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name='asset-type']/@value
    • 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[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name='allows-authenticated-scan']/@value
    • yes: The asset is included in periodic vulnerability scanning.
    • no: The asset is not included in periodic vulnerability scanning.
  • allowed-values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name='public']/@value
    • yes: The asset is included in periodic vulnerability scanning.
    • no: The asset is not included in periodic vulnerability scanning.
  • allowed-values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name='virtual']/@value
    • yes: The asset is included in periodic vulnerability scanning.
    • no: The asset is not included in periodic vulnerability scanning.
  • allowed-values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name='implementation-point']/@value
    • 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.
  • allowed-values for (.)[@type=('software', 'hardware', 'service')]/prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name
    • vendor-name: The name of the company or organization
  • allowed-values for (.)[@type='validation']/link/@rel
    • validation-details: A link to an online information provided by the authorizing body.
  • allowed-values for (.)[@type='software']/prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name
    • 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
    • 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[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name
    • 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: The Internet Protocol v4 Address of the asset.
    • ipv6-address: The Internet Protocol v6 Address of the asset.
    • direction: The direction categorizes the network connectivity of an interconnection, service, or software component.
    • uri: A Uniform Resource Identifier (URI) for the asset.
    • fqdn: The full-qualified domain name (FQDN) of the asset.
  • allowed-values for (.)[@type=('interconnection', 'service', 'software', 'system')]/prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name
    • ipv4-address: The Internet Protocol v4 Address of the asset.
    • ipv6-address: The Internet Protocol v6 Address of the asset.
    • direction: The direction categorizes the network connectivity of an interconnection, service, or software component.
    • uri: A Uniform Resource Identifier (URI) for the asset.
    • fqdn: The full-qualified domain name (FQDN) of the asset.
  • allowed-values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name=('ipv4-address','ipv6-address')]/@class
    • 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-values for (.)[@type='interconnection']/link/@rel
    • isa-agreement: A link to the system interconnection agreement.
  • allowed-values for (.)[@type='interconnection']/responsible-role/@role-id
    • 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.
  • allowed-values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name='direction']/@value
    • incoming: Data from the remote system flows into this system.
    • outgoing: Data from this system flows to the remote system.
protocol assembly
Service Protocol Information
Information about the protocol used to provide a service.

Keys (4)

Name Definition Cardinality Description
uuid uuid [0 or 1] 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.
name string [0 or 1] The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry.
port-ranges Port Range [0 to ∞] Where applicable this is the transport layer protocol port range an IPv4-based or IPv6-based service uses.
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)

  • expect for . Test: @uuid
port-range assembly
Port Range
Where applicable this is the transport layer protocol port range an IPv4-based or IPv6-based service uses.

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.

Keys (4)

Name Definition Cardinality Description
start non-negative-integer [0 or 1] Indicates the starting port number in a port range for a transport layer protocol
end non-negative-integer [0 or 1] Indicates the ending port number in a port range for a transport layer protocol
transport token [0 or 1] Indicates the transport type.
remarks Remarks [0 to 1] Additional commentary about the containing object.

Constraints (3)

  • expect for . Test: exists(@start)
  • expect for . Test: exists(@end)
  • expect for . Test: not(@start > @end)
implementation-status assembly
Implementation Status
Indicates the degree to which the a given control is implemented.

Keys (2)

Name Definition Cardinality Description
state token [1] Identifies the implementation status of the control or control objective.
remarks Remarks [0 to 1] Additional commentary about the containing object.
system-user assembly
System User
A type of user that interacts with the system based on an associated role.

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

Keys (9)

Name Definition Cardinality Description
uuid uuid [1] 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.
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.
authorized-privileges Privilege [0 to ∞] Identifies a specific system privilege held by the user, along with an associated description and/or rationale for the privilege.
role-ids Role Identifier Reference [0 to ∞] Reference to a role by UUID.
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.
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.

Constraints (4)

  • allowed-values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name
    • 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[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name='type']/@value
    • 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[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name='privilege-level']/@value
    • 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
    • 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.
authorized-privilege assembly
Privilege
Identifies a specific system privilege held by the user, along with an associated description and/or rationale for the privilege.

Keys (3)

Name Definition Cardinality Description
functions-performed Functions Performed [1 to ∞] Describes a function performed for a given authorized privilege by this user class.
title Document Title [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.
implemented-component assembly
Implemented Component
The set of components that are implemented in a given system inventory item.

Keys (5)

Name Definition Cardinality Description
component-uuid uuid [1] A machine-oriented identifier reference to a component that is implemented as part of an inventory item.
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 prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name
    • version: The version of the component.
    • patch-level: The specific patch level of the component.
    • model: The model of system used by the asset.
    • 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.
    • hardware-model: **(deprecated)** Use 'model' instead.
    • model: The model of system 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.
  • allowed-values for responsible-party/@role-id
    • 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.
inventory-item assembly
Inventory Item
A single managed inventory item within the system.

Keys (7)

Name Definition Cardinality Description
uuid uuid [1] 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.
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.
implemented-components Implemented Component [0 to ∞] The set of components that are implemented in a given system inventory item.
description Role Description [1] An optional short summary of the resource used to indicate the purpose of the resource.

Constraints (6)

  • allowed-values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name
    • 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)
    • 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.
    • hardware-model: **(deprecated)** Use 'model' instead.
    • model: The model of system 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.
  • allowed-values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name='asset-type']/@value
    • 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 (.)[@type=('software', 'hardware', 'service')]/prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@name
    • vendor-name: The name of the company or organization
  • allowed-values for prop[has-oscal-namespace('http://csrc.nist.gov/ns/oscal') and @name='is-scanned']/@value
    • yes: The asset is included in periodic vulnerability scanning.
    • no: The asset is not included in periodic vulnerability scanning.
  • allowed-values for link/@rel
    • baseline-template: A reference to the baseline template used to configure the asset.
  • allowed-values for responsible-party/@role-id
    • 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).
value field
Parameter Value
A parameter value or set of values.
set-parameter assembly
Set Parameter Value
Identifies the parameter that will be set by the enclosed value.

Keys (2)

Name Definition Cardinality Description
remarks Remarks [0 or 1] Additional commentary about the containing object.
values Parameter Value [1 to ∞] A parameter value or set of values.
function-performed field
Functions Performed
Describes a function performed for a given authorized privilege by this user class.
system-id field
System Identification
A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document.

Keys (1)

Name Definition Cardinality Description
identifier-type uri [0 or 1] Identifies the identification system from which the provided identifier was assigned.

Generated from OSCAL Metaschema sources. An OSCAL Foundation project.