Skip to content

What Are Baselines?

A baseline is a YAML file that defines which security rules apply to your environment. Each baseline maps to a compliance framework (NIST 800-53, CIS Benchmarks, DISA STIG, etc.) and includes all the rules needed to meet that framework’s requirements.

Once you have a baseline, the project scripts use it to generate everything you need: guidance documents, configuration profiles, compliance scripts, and more.


  1. Choose a framework - Pick the compliance standard you need (NIST, CIS, STIG, etc.)
  2. Generate the baseline - Run generate_baseline.py to create the YAML file
  3. Customize if needed - Tailor the baseline to your organization’s requirements
  4. Generate outputs - Use the baseline to create profiles, scripts, and documentation

Each baseline is specific to an operating system (macOS, iOS/iPadOS, or visionOS) and compliance level (High, Moderate, Low, or Level 1/2 depending on the framework).


Baselines are located in the /baselines/ folder. Here’s what’s available:

FrameworkBaseline Files
NIST 800-53 Rev 5800-53r5_high.yaml, 800-53r5_moderate.yaml, 800-53r5_low.yaml
NIST 800-171800-171.yaml
DISA STIGmacOS: DISA-STIG.yaml
iOS: ios_stig.yaml, ios_stig_byoad.yaml
CMMC 2.0cmmc_lvl1.yaml, cmmc_lvl2.yaml
CNSSI 1253cnssi-1253_high.yaml, cnssi-1253_moderate.yaml, cnssi-1253_low.yaml
FrameworkBaseline Files
CIS Benchmarks (macOS)cis_lvl1.yaml, cis_lvl2.yaml
CIS Benchmarks (iOS)cis_lvl1_byod.yaml, cis_lvl2_byod.yaml
cis_lvl1_enterprise.yaml, cis_lvl2_enterprise.yaml
CIS Controls v8cisv8.yaml
FrameworkBaseline Files
Indigo (iOS only)indigo_base.yaml, indigo_high.yaml

To see all baselines available for your current branch:

Terminal window
./scripts/generate_baseline.py -l

Example output:

800-53r5_high
800-53r5_moderate
800-53r5_low
cis_lvl1
cis_lvl2
DISA-STIG
cmmc_lvl1
cmmc_lvl2
...

ConceptDescription
PurposeDefine what security settings your systems should have
CustomizationTailor baselines to fit your organization’s specific needs
AuditingProvide evidence that systems meet compliance standards
AutomationScripts can check and fix settings automatically
MaintenanceUpdated with each macOS release and when frameworks change