Skip to main content

Audit

MACE mascot holding a completed audit checklist

Run compliance checks directly on your Mac and see results in real-time.

Instantly identify what's compliant, what's not, and what needs manual review.

MACE AuditMACE Audit

What Does Audit Do?

Every rule in your baseline has a check command, a small script that verifies whether a specific setting is in compliance. Audit takes all of those checks and runs them against your Mac in one pass, telling you rule by rule what's compliant, what isn't, and what needs your attention.

Audit vs Build: What's the Difference?

Build generates files (scripts, profiles, DDM) that you deploy to other Macs via MDM.

Audit runs those same checks right now, on this Mac, and shows you the results immediately. It's how you verify compliance on a specific machine.

Audit Status Types

Each rule receives one of these statuses after checking:

Pass

The setting matches the expected value. This Mac is compliant for this rule.

Fail

The setting does not match the expected value. This Mac needs remediation.

Error

The check couldn't run or returned unexpected output. Investigate manually.

Manual Review

No automated check exists. You must verify this rule manually and set the status yourself.

N/A

This rule doesn't apply to this system. Excluded from the pass rate calculation.

Pending

The rule hasn't been checked yet. Waiting for the audit to reach this rule.

Running

The check is currently executing. You'll see this briefly as MACE works through each rule.

How Auditing Works

When you run an audit, MACE goes through each enabled rule and executes its check command:

1
Load your rulesMACE reads all enabled rules from your baseline, including any customizations you've made
2
Verify helper is readySome checks need admin access. MACE confirms the helper tool is installed
3
Run each checkFor each rule, MACE runs the check command to see what your Mac's current setting is
4
Compare actual vs expectedThe output is compared against the expected value defined in the rule
5
Report resultsEach rule gets a status (Pass/Fail/Error/etc.) and the results are displayed with details

Example: What Happens During a Check

For a rule like "Enable Firewall Logging":

1
Check command runs/usr/libexec/ApplicationFirewall/socketfilterfw --getloggingmode
2
Output receivedLog mode is on
3
Expected valueOutput should contain "Log mode is on"
4
ComparisonOutput matches the expected value
5
ResultPass

If the output was "Log mode is off", the result would be Fail.

Privileged Helper

Some compliance checks need administrator access to read protected system settings. MACE includes a privileged helper tool that runs these checks securely.

🔐Why Admin Access?

Certain security settings can only be read with root privileges — for example, checking FileVault status or reading protected system preferences. The helper tool enables these checks without running the entire app as root.

📦One-Time Approval

On the first audit you run, macOS prompts you to approve the helper tool. This is a standard macOS security prompt for privileged tools. Once approved, the helper is available for all future audits and you won't be prompted again.

Safety First

The audit helper will not install or run without your permission. You choose how it's used: install it permanently, or do a one-time run where the helper is removed as soon as the audit finishes. MACE also shows a code execution warning each time you start an audit — review it and acknowledge before any checks run.

Because the helper runs your rules' check commands with admin privileges, make sure you trust the baseline you're using. If you've added custom rules or are using an unfamiliar baseline, review them first.

Running an Audit

1
Open your projectLoad a compliance project with your selected baseline and enabled rules
2
Click AuditUse the toolbar button to open the Audit window
3
Select audit engineChoose M.A.C.E. engine (recommended)
4
Configure optionsPick the audit mode (Full Audit Scan or Profile Inspector) and toggle Watch Live and Include Disabled Rules
5
Click Start AuditReview the code execution warning and acknowledge to proceed
6
Watch progressSee pass/fail status for each rule as it completes

Tip: Load Last Audit

With Save Last Audit enabled in Settings, MACE saves each completed run to the project. On your next audit, the code execution warning offers Load Last Audit — restore those results instantly instead of re-running every check.

Audit Engines

Choosing an engine is the first decision when you start an audit — the engine cards appear at the top of the audit sheet:

mSCP

mSCP Audit Engine

Uses the original mSCP Python scripts. For organizations already using mSCP command-line tools.

  • Standard mSCP audit output
  • Python-based execution
  • Full mSCP compatibility
Official Scripts
M.A.C.E.

M.A.C.E. Audit Engine

The recommended engine. Fast, full-featured, and built into MACE.

  • Real-time results with Watch Live
  • Export to PDF, HTML, spreadsheets, JSON, Markdown, and STIG checklists
  • Override results and add comments
  • Supports all customizations
Fast & Customizable

Audit Options

After selecting the M.A.C.E. engine, its options appear below the engine cards:

Audit Mode

Full Audit ScanDefault

Runs each rule's check command against the live system and verifies the output against the expected value. Requires admin access via the privileged helper.

📋Profile Inspector

Compares locally deployed mobileconfig profiles against what each rule requires. Only works with rules that have mobileconfig_info defined — script-based rules are excluded.

Run Options

👁️Watch Live

Shows results updating in real-time as each rule is checked. Pass/fail results appear immediately as the audit progresses.

When to disable: On slower Macs, live updates can slow down the audit. Turn it off to finish faster, then view all results at once.

🚫Include Disabled Rules

Also audits rules you've excluded from the baseline. Useful for seeing where your Mac stands on the full rule set, even settings you've chosen not to enforce.

Only available when the baseline has excluded rules.

Understanding the Results

After the audit completes, you'll see:

Summary Statistics

📊Pass Rate

The percentage of rules that passed. N/A and Manual Review rules don't count toward this number since they aren't automated checks.

📈Status Counts

Badges showing how many rules are in each status: Total, Passed, Failed, Manual Review, Errors, N/A.

Results Table

Each row shows one rule with its:

🏷️StatusColor-coded badge, e.g. Pass Fail
🆔Rule IDUnique identifier (or STIG ID for STIG compliance)
📝TitleHuman-readable rule name
📂SectionCategory the rule belongs to
🎯Expected OutputWhat the check should return
💻Actual OutputWhat was actually found
⏱️Execution TimeHow long the check took

What You Can Do With Results

🔍Filter and Search

Filter by status (show only failures) or search by Rule ID, title, or section.

✏️Override Status

Manually change a rule's status if needed. Overrides are tracked and appear in exports.

💬Add Comments

Add notes to any rule explaining exceptions, compensating controls, or remediation plans.

🔄Re-run Individual Rules

Re-check a single rule without running the entire audit again.

📤Export Reports

Open a live Export Preview, then export in any of nine formats — from PDF and HTML to spreadsheets and DISA STIG checklists.

Manual Review Rules

Some rules don't have automated checks. These are marked Manual Review and require you to:

1
Read the rule's discussionUnderstand what needs to be verified
2
Manually check the settingVerify it on your Mac yourself
3
Set the statusChoose Pass, Fail, or N/A based on your findings
4
Add a commentExplain how you verified it

Why Some Rules Need Manual Review

Not every security setting can be checked automatically. Some require visual inspection (like checking a physical cable), reviewing policies, or judgment calls that can't be automated.

System Information Collection

MACE can collect device information to include in reports:

💻Serial NumberYour Mac's unique identifier
📱Model Namee.g., "MacBook Pro" or "Mac mini"
🖥️HostnameYour computer's network name
🍎macOS Versione.g., 15.0.1

This information is optional and can be included in exported reports to identify which Mac was audited.

What's Next?

📊Audit ResultsDeep dive into working with results, overrides, and comments
📄Exporting ReportsLive preview and export in nine formats, from PDF to DISA STIG checklists