Skip to content

Getting Started

Decide which version to set up with, then follow the steps below.

mSCP 2.0

The newest version, runs in a container or locally (with dependencies), supports all macOS/iOS/visionOS versions in one place without switching branches.

mSCP 1.0

The stable release, runs locally (with dependencies), uses separate branches for each macOS/iOS/visionOS version and requires switching branches to change versions.

Requirements:

  1. Create Local Folders

    Terminal window
    mkdir -p ~/Desktop/mscp/custom

    Anything placed in this custom folder overrides the project’s rules and is included in everything you generate. If you are reusing an existing folder, make sure its contents are customizations you intentionally added.

  2. Run the Container

    Using Apple Container:

    Terminal window
    container run -it \
    --volume ~/Desktop/mscp:/mscp/build \
    --volume ~/Desktop/mscp/custom:/mscp/custom \
    ghcr.io/usnistgov/mscp_2.0:latest
    Apple Container commands Click to expand

    Start the container service (required before first run):

    Terminal window
    container system start

    Exit the container:

    Terminal window
    exit

    Stop the container service:

    Terminal window
    container system stop

    Check container service status:

    Terminal window
    container system status

    Or Using Docker:

    Terminal window
    # Note: Docker requires full paths for volume mounts
    docker run -it \
    --volume /Users/<username>/Desktop/mscp:/mscp/build \
    --volume /Users/<username>/Desktop/mscp/custom:/mscp/custom \
    ghcr.io/usnistgov/mscp_2.0:latest
  3. Generate Content

    config/custom/baselines/cis_lvl1_macos_27.0.yaml
    # Create a baseline
    ./mscp.py baseline -k cis_lvl1
    # Generate guidance with all outputs
    ./mscp.py guidance custom/baselines/cis_lvl1_macos_27.0.yaml -A
    # Output: MSCP DOCUMENT GENERATION COMPLETE! All documents in: /build/cis_lvl1_macos_27.0/

With the project set up, you can:

  • Generate baselines — Create YAML files for security frameworks (NIST, CIS, DISA STIG, etc.)
  • Generate guidance — Produce HTML/PDF documentation for your baseline
  • Create configuration profiles — Deploy settings via MDM
  • Run compliance checks — Scan Macs against your baseline
  • Customize rules — Tailor settings to your organization’s needs

Or explore specific topics: