Overview

This includes overview topics of the OSCAL Foundation Patterns Library

Welcome

The goal of the OSCAL Patterns Library is to maximize interoperability across OSCAL tools. The library accomplishes this by defining the recommended OSCAL representation for specific use cases. Recommendations are based on the consensus of participating Foundation members.

Adoption

The OSCAL Foundation has defined the following adoption strategies:

Leave Comments

If you have feedback on any of the content, please leave a comment on the page. Commenting is enabled after you self-register using the "Log in" button in the upper right.

Library Organization

Project Status and Next Steps

The OSCAL Foundation jumpstarted this library using prior content created by former FedRAMP PMO members. The initial deployment focuses on deployment and cleanup of that FedRAMP-specific content in response to new OSCAL requirements for FedRAMP-authorized systems.

See the Milestones, Approach and Status for completed work, current status and future steps.

Governance

Content in this library is drafted by Technical Focus Groups (TFG). Each TFG reports status at the weekly Technology Working Group (TWG) meeting, held each Tuesday at 11:00 AM Eastern Time.

All content is subject to potential review and approval by the Technical Advisory Group (TAG). Steering Committee and/or Board. approval is also required for more changes to core OSCAL, strategic or broad-reaching topics; and to resolve conflicts.

The organizational structure of the Foundation is as follows:

* There are other OSCAL Foundation working groups, which are not currently involved in this effort.

Getting Involved

The OSCAL Foundation TWG and TFGs are open to the public. Join the appropriate OSCAL Foundation group lists to see meeting details and receive announcements.

Paid membership is required for approval or voting rights, and to ensure the Foundation's future viability. See the Get Involved page to enquire about membership.


Milestones, Approach and Status

The OSCAL Foundation's FedRAMP Technical Focus Group (TFG) is enabling FedRAMP stakeholders to adopt OSCAL for FedRAMP package deliverables. The following is our plan of work:

Milestones

Target Dates

Approach

Work within each of the above phases occurs in this sequence:

  1. Define the OSCAL MVP Representation
  2. Address Validation:
  3. Communicate Availability
  4. Expand and Refine Representation

Status Log

Last Updated April 8, 2026


Metaschema Authoring Principles

The original OSCAL Technical Team had normalized on several guiding principles for authoring metaschema content that were not captured. Going forward, as topics come up, they will be added here as suggested principles and/or to capture historic guiding principles for awareness and discussion.

Nothing in this chapter is authoritative at this time, but could become authoritative in the future if reviewed and approved by an appropriate governing body.

Metaschema Authoring Principles

Defining Allowed Values

This page is still under development.

The <allowed-values> assembly provides a consistent and unambiguous list of machine-readable tokens to be used as data for an identified OSCAL field or flag values.

Human readability is coincidental and not their intended purpose.

Taxonomy

In metaschema, allowed values are a type of constraint applied to a metaschema flag or field. They are applied to the target of the <constraint>.

The <allowed-values> assembly consists of:

Example: Party Type Allowed Values


NEED DIFFERENT EXAMPLE

This example says, "{{INSERT}}".

In this example, the constraint's target is implied by its placement within the {{INSERT}}. Some constraint targets are explicitly defined using <target />.


Guiding Principles

When defining or modifying an allowed values set, the following principles should be applied to the greatest degree practical:

When a set of values has been well researched and consensus agrees the set is both mutually exclusive and collectively exhaustive, the allow-other should be set to no.

When it is not practical to achieve collectively exhaustive, allow-other should be set to yes. This can happen when a an allowed value set needs to be able to grow to accomodate an evolving industry and when an exhaustive research effort to identify all possible values is not practical due to resource constraints.

Applying the Principles

The above example {{INSERT}}, and does not allow other values.

This is mutually exclusive in that it separates {{INSERT}}.

They reflect the concepts of {{INSERT}}.

It would ...{{INSERT}}

Reference

Read more about the Mutually Exclusive / Collectively Exhaustive (MECE) Principle.