Skip to main content

This website and its code are not currently under active development: read more details here.

U.S. flag

An official website of the United States government

Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

Skip to main content

OSCAL Deep Diff

OSCAL Deep Diff is an open-source command line application and library that can produce schema-agnostic comparisons of OSCAL JSON artifacts.

OSCAL Deep Diff was built with the following considerations:

  • Document comparisons can vary wildly in intention and desired output, so reliance on an input schema is undesirable. The same tool should be able to compare any OSCAL JSON artifacts based on a customized set of comparisons.
  • The comparison must be configurable in order to constrain the output document to meet the user's needs. For example, a consumer comparing revisions of a control catalog may not care about capitalization differences in control names between two documents, but a catalog author may care about such differences.
  • Human-readable output formats such as Excel workbooks are appropriate for sharing, but are not appropriate for automated decision making such as a CI/CD system. A document comparison output format should be configurable to match the use case.
  • The tool must be portable and extendable so that it can be integrated into other tools, such as web applications.

How do I use OSCAL Deep Diff?

OSCAL Deep Diff is currently designed as a standalone, command line tool. For details on how to install and use OSCAL Deep Diff, see the project page on GitHub.

OSCAL Deep Diff can also be used as a standalone library for integration into Javascript/Typescript applications. For details, see the example OSCAL Deep Diff web application.

How do I request support, report bugs, or file features?

The developers of OSCAL Deep Diff will provide support on a best effort basis to the general community. Please identify any defects or feature requests by opening a issue on GitHub.

If you are interested in contributing to OSCAL Deep Diff, see the contributing document.

This page was last updated on March 16, 2023.