Skip to content

Introduce a unique ID/KEY to all OSCAL objects #2

@juano2310

Description

@juano2310

User Story

As a developer or integrator working with OSCAL, I want every object in the OSCAL models to include a unique ID (if one is not already present), so that objects across catalogs, profiles, and assessments can be uniquely and consistently identified.

Goals

🔐 Uniqueness Across Instances

  • A unique ID ensures that each object has a globally unique identifier.
  • This prevents collisions when merging data from multiple OSCAL sources.

🔗 Traceability & Referencing

  • Enables other OSCAL artifacts (e.g., profiles, assessments) to reliably reference specific elements.

🔄 Interoperability

  • Many tools integrate OSCAL models. Unique IDs help ensure consistent object identification across systems and vendors.

⚙️ Automation & Linking

  • Essential for automated tooling, where object linking cannot rely on human-readable names (which may change).
  • Supports the development of machine-readable policies and automated compliance assessments.

Dependencies

N/A

Acceptance Criteria

  • All objects that do not currently define a unique ID are reviewed.
  • A unique ID is introduced where appropriate, ensuring backward compatibility.
  • Documentation is updated to reflect the addition and usage of unique IDs.
  • All OSCAL website and readme documentation affected by the changes in this issue have been updated. Changes to the OSCAL website can be made in the docs/content directory of your branch.
  • A Pull Request (PR) is submitted that fully addresses the goals of this User Story. This issue is referenced in the PR.
  • The CI-CD build process runs without any reported errors on the PR. This can be confirmed by reviewing that all checks have passed in the PR.

(For reviewers: The wiki has guidance on code review and overall issue review for completeness.)

Revisions

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions