Intune compliance policies cheat sheet

Intune compliance policies are rules and conditions that evaluate the configuration of managed devices — minimum OS version, encryption, passcode rules, jailbreak/root detection, health attestation. The results are a device compliance status, and that status is what Microsoft Entra Conditional Access reads when a policy is set to Require device to be marked as compliant. Compliance is a separate duty from configuration: a compliance policy can also override the same setting set by a configuration profile.

Two layers make up compliance. Device compliance policies are the platform-specific rule sets you deploy to groups; each platform needs its own policy, and Android Enterprise even splits by management mode. Compliance policy settings are tenant-wide: how Intune treats devices with no policy assigned (default: compliant), and the validation period (default 30 days, 1-120). Both are worth a glance for any 'device should not be here' report.

Only devices that are enrolled in Intune can receive compliance policies, and evaluation happens at check-ins. You can extend the built-in rules with custom compliance settings on Windows, macOS (and Linux) — a discovery script plus a JSON rule file with a 2,048-character output ceiling. The statuses below are the exact strings the admin center uses.

Platform conditions

Documented compliance conditions, where Microsoft shows each setting enforced by the OS (remediated) versus quarantined.
ConditionPlatformsNon-compliance handling
PIN or password configurationWindows, macOS, iOS/iPadOS, Android 4.0+, Samsung Knox, Android EnterpriseRemediated on iOS/iPadOS, macOS and Windows — the OS forces the user to set the PIN/passcode. Quarantined on Android and Android Enterprise — the OS does not force it; access is blocked by Conditional Access and Company Portal notifies the user.
Minimum OS version / Maximum OS versionWindows, iOS/iPadOS, macOS, Android, Android Enterprise; Linux via allowed distros; Samsung KnoxQuarantined: the device is marked noncompliant, not forcibly upgraded. Allows you to block old OSes long before vendor support ends.
Device encryption (BitLocker on Windows, FileVault on macOS)Windows, iOS/iPadOS, macOS / Android 4.0+, Samsung Knox, Android Enterprise, LinuxQuarantined on all except iOS/iPadOS where it is remediated by setting a PIN. Settings catalog is where you engineer the BitLocker settings; the compliance condition is documented as device encryption.
Jailbroken or rooted deviceAndroid, Android Enterprise, iOS/iPadOSQuarantined — this is a detection, not an enforced setting. macOS, Windows and Linux: not applicable.
Windows health attestationWindowsQuarantined on non-attesting devices (attestation, secure boot, BitLocker integrity signals).
Email profileiOS/iPadOS, macOSQuarantined when the managed email profile is missing. Not applicable on Windows, Linux, Android.
Allowed distros (Linux)Linux — Ubuntu Desktop 24.04 LTS or 26.04 LTS, RHEL 9 or 10Quarantined: only the allow-listed distros are compliant. Linux policies are device-group only (no user assignments).
Remediated vs Quarantined is the key compliance/ConfigMgr concept: remediated means the operating system enforces the setting automatically (set a PIN), quarantined means the OS will not force it — Conditional Access blocks access and the Company Portal tells the user what failed. Policy platforms today: Android device administrator (deprecated on GMS devices), Android (AOSP), Android Enterprise (pick Fully managed, dedicated, and corporate-owned work profile or Personally-owned work profile), iOS/iPadOS, Linux, macOS, Windows 10 and later, Windows 8.1 and later (support ended October 2022).

Actions for noncompliance

The actions you configure, per the actions-for-noncompliance doc; each runs on a schedule in days after the device is marked noncompliant.
ActionPlatform supportNotes
Mark device non-compliant (built-in)All platformsIncluded in every policy, scheduled at 0 days by default. Changing the schedule creates a grace period before the device is marked noncompliant.
Send email to end userAll platformsUses a notification message template (locale, subject up to 78 chars, body up to 2,000 chars, variables like {{UserName}}, {{DeviceName}}, {{DeviceId}}, {{OSAndVersion}}). Sent from microsoft-noreply@microsoft.com; expected within 6 hours. Additional recipients via Microsoft Entra groups.
Send push notification to end userAndroid device administrator, Android Enterprise (all work-profile modes), iOS/iPadOSTwo Lines: pushes through the Company Portal app or Intune app; may take hours to arrive and are not guaranteed. Each instance sends once — add another instance with a later schedule to re-remind.
Remotely lock the noncompliant deviceAndroid (DA, AOSP), Android Enterprise (fully managed, dedicated, COPE, personally owned work profile), iOS/iPadOS, macOSLocks the device; the user needs a PIN or password to unlock. Not supported on Windows.
Add device to retire listAndroid (DA, AOSP), Android Enterprise (all modes), iOS/iPadOS, macOS, WindowsAdds the device to Devices > Compliance > Retire noncompliant devices. An admin must explicitly retire it; retiring removes company data and Intune management. Not supported for devices managed by a third-party device compliance partner.
Schedules run 0-365 days after the device is marked noncompliant, and the Schedule field accepts whole days plus quarters (0.25 = 6 hours, 0.5 = 12 hours; other decimals go through Microsoft Graph). You can stack the same action with different schedules — email at day 2, again at day 5, lock at day 10 — and the device stays in the list until it becomes compliant.

Compliance statuses: the lifecycle in exact strings

Device dashboard states, policy statuses and tenant settings (monitor + overview docs)

Compliant
The device successfully applied one or more compliance policy settings.
In-grace period
Targeted by policies but not yet compliant to all of them — often waiting on user action like meeting passcode complexity. Noncompliant, but inside an admin-defined grace period.
Not evaluated
Initial state for newly enrolled devices. Other reasons: no policy assigned and no trigger to check; no check-in since the policy was last updated; no associated user (ADE devices without user affinity, Android Enterprise dedicated devices, DEM-enrolled devices).
Not compliant
The device failed to apply one or more compliance policy settings, or the user did not comply with the policies.
Policy-level statuses
Per-policy: Unknown, NotApplicable, Compliant, InGracePeriod, NonCompliant, Error. Severities 1-6 in that order; with multiple policies, the highest severity wins.
Error-timeout behavior
A setting that reports Error keeps the device's current status for up to 7 days so the calculation can complete. If it is still in Error after 7 days, the device flips to Not compliant — or In grace period when the policy has a grace period set.
Tenant-wide settings
Mark devices with no compliance policy assigned as: Compliant (default) or Not compliant (recommended with Conditional Access). Compliance status validity period (days): default 30, range 1-120; a device that fails to report within the period is treated as noncompliant.
Device contact default
The default grace period is 30 days for a device to stay in contact (on and online); the default compliance policy also checks that the enrolled user exists with a valid Intune license.
Reporting model
Statuses refresh when devices check in — reports show the last known state, and a device may appear pending. The dashboard bar can take up to 24 hours for a device to appear; compliance state shown is for the last user who checked in on the device.

What triggers a compliance evaluation

Conditional Access: the integration gotchas

Why the compliance state shows green but access is still blocked

FAQ

Why is my device compliant but Conditional Access still blocks me?

Four common causes. First, a device may be compliant to one policy and noncompliant to another — the per-policy status shown in a policy report only covers that policy. Second, the Conditional Access policy may require more than compliance (MFA, risk, location), or require the device to be marked as compliant while the status Intune last reported to Entra is stale from the previous check-in. Third, the device may be in Not evaluated (newly enrolled, no check-in, or userless like an ADE device without user affinity), which blocks a 'require compliant' grant. Fourth, the tenant setting Mark devices with no compliance policy assigned as may mark it compliant by default while a separate condition is failing. Check the specific policy's device status report first, then the Conditional Access conditions.

What does 'In grace period' mean, exactly?

The device is targeted by a policy but not yet compliant to all of it, within the grace period you defined by delaying the built-in Mark device noncompliant action. Effective status: a device with an actual NonCompliant status is InGracePeriod when its assigned grace period value is still in the future, and NonCompliant when the grace period has expired or none was assigned. Whitelisting a grace period does not change the action schedule — checking the Actions for noncompliance tab shows the grace period settings.

What happens when a compliance setting reports Error?

The device's existing compliance status is retained for up to seven days while Intune lets the calculation complete. If the setting returns Compliant or Not compliant within those days, the device follows that result. If the setting is still in Error after seven days, the device becomes Not compliant — or In grace period if the policy has a grace period configured. A setting in Error therefore silently protects a device until the calculation settles or the timeout expires.

Can I use compliance without Enterprise version licensing?

Yes — Intune compliance does not require Microsoft Entra ID, so compliance policies and their status views work on any Intune subscription. Conditional Access, which is what actually enforces 'device must be marked as compliant', requires Microsoft Entra ID P1 or P2. Windows Autopilot and co-management carry the same Entra ID P1/P2 requirement.