Skip to content

[Feature] Compliance evidence collection and control evaluation command for SailPoint CLI #224

@ethanolivertroy

Description

@ethanolivertroy

Is your feature request related to a problem? Please describe.

SailPoint customers are required to produce evidence for compliance frameworks (e.g., NIST 800-53, ISO 27001, SOC 2). Today, this evidence is frequently collected manually via screenshots, ad-hoc API queries, or spreadsheet exports which is slow, inconsistent, and not machine-readable. While the SailPoint CLI offers primitives like search, api, spconfig export, and report, it does not provide a unified way to collect and evaluate all governance and configuration data necessary for repeatable compliance evidence.

Describe the solution you'd like.

Introduce a new top-level command: sail compliance. This would offer:

  • sail compliance collect: Gathers compliance-relevant tenant data (such as AUTH_ORG config, password policies, SOD policies, certifications/access reviews, identity/role/source summaries, lifecycle states, and workflows) into a structured evidence JSON file.
  • sail compliance evaluate: Applies a set of control definitions (starting with NIST 800-53, but extensible) to the evidence, producing pass/fail findings mapped to controls, with links to the supporting data. Users can select different control packs for other frameworks if desired.
  • Output formats: JSON for programmatic downstream use, with optional Markdown/HTML for audit evidence.
  • Supports both point-in-time and scheduled collection (for CI/CD).

Describe alternatives you've considered.

  • Building a standalone SailPoint compliance adapter tool (external project)
  • Cherry-picking from report or search commands (not unified or scalable)
  • Keeping manual evidence processes (error-prone, non-repeatable)

Additional context

  • Technically, this would be implemented as a new directory: cmd/compliance/
  • Follows established CLI architectural patterns (like cmd/report/)
  • Schema and control packs would be community-extensible
  • This feature would greatly reduce manual effort and speed up responses to auditors and customer requests
  • An initial implementation is being developed in a fork and can be contributed as a PR

Thanks for considering!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions