Drift Detection
Continuously monitor Microsoft 365 tenant configurations for deviations from established compliance baselines. Drift Detection identifies when settings change unexpectedly, categorizes the severity of each deviation, and can automatically remediate critical drift before it becomes a compliance violation.
Note: Drift Detection runs as a continuous background process, comparing live tenant configurations against your defined compliance baselines. When drift is detected, alerts are generated, evidence is captured, and optional auto-remediation policies can restore the baseline state without manual intervention.
Drift Overview
| Metric | Value |
|---|---|
| Critical Drift | 5 |
| Warning Drift | 18 |
| Settings In Baseline | 247 |
| Auto-Remediated (7d) | 12 |
Baseline Definition and Management
- Framework-Aligned Baselines — Pre-built configuration baselines mapped to SOC 2, HIPAA, CMMC, NIST 800-171, CIS Microsoft 365 Benchmarks, ISO 27001, and GDPR.
- Custom Baselines — Define your own configuration baselines by selecting specific settings and expected values. Export a working tenant’s configuration as a baseline template.
- Baseline Versioning — Track changes to baselines over time with full version history. Compare versions side-by-side. Roll back to previous versions when framework requirements are updated.
- Baseline Assignment — Assign baselines to individual tenants, tenant groups, or all tenants. Support for multiple baselines per tenant for multi-framework compliance.
Monitored Configuration Areas
| Area | Settings Monitored | Check Frequency |
|---|---|---|
| Azure AD / Entra ID | Conditional Access policies, Security Defaults, Authentication Methods, Password policies, B2B settings | Every 4 hours |
| Exchange Online | Transport rules, Anti-spam policies, DKIM/DMARC, Mailbox auditing, Journal rules, Litigation hold | Every 6 hours |
| SharePoint Online | External sharing settings, Access control policies, Site-level permissions, Sensitivity labels | Every 6 hours |
| Microsoft Intune | Device compliance policies, Configuration profiles, Windows Update rings, BitLocker settings | Every 6 hours |
| Microsoft Defender | Safe Links, Safe Attachments, Anti-phishing policies, Alert policies, ASR rules | Every 4 hours |
| Compliance Center | DLP policies, Retention policies, Sensitivity labels, Audit log settings, eDiscovery | Every 6 hours |
| Teams | Meeting policies, Messaging policies, External access, Guest access, App permissions | Every 12 hours |
Drift Categories and Severity
| Category | Severity | Description | Example |
|---|---|---|---|
| Security Policy Removed | Critical | A security policy or control has been deleted | Conditional Access policy removed |
| Security Feature Disabled | Critical | A required security feature was turned off | MFA registration requirement disabled |
| Policy Weakened | High | A policy was modified to be less restrictive | External sharing expanded from specific domains to all |
| Configuration Changed | Medium | Setting value changed from baseline expectation | Password expiration changed from 90 to 180 days |
| New Unmanaged Setting | Low | New configuration discovered not in baseline | New Conditional Access policy created outside OpsPilot365 |
Drift History and Trends
- Drift Timeline — Visual timeline showing when drift events occurred, their severity, and resolution status. Filter by tenant, configuration area, or framework.
- Recurring Drift Report — Identifies settings that repeatedly drift from baseline, indicating root-cause issues such as unauthorized admin changes or conflicting Group Policy Objects.
- Tenant Drift Score — Aggregated drift score per tenant showing overall baseline adherence. Compare drift scores across your managed tenant portfolio.
Auto-Remediation Policies
Warning: Auto-remediation automatically reverts configuration changes to the baseline state without manual intervention. Enable only for well-tested baselines and settings where automatic reversion is safe and expected. All auto-remediation actions are logged in the audit trail.
| Policy Setting | Options | Description |
|---|---|---|
| Auto-Remediate | Enabled / Disabled | Master switch for automatic drift correction |
| Scope | All drift, Critical only, Selected settings | Which drift events trigger auto-remediation |
| Delay | Immediate, 1 hour, 4 hours, 24 hours | Grace period before auto-remediation executes |
| Notify Before | Yes / No | Send notification before auto-remediation applies |
| Max Actions per Day | 1-100 or Unlimited | Rate limit to prevent runaway automation |
| Exclusions | Settings list, Tenants, Time windows | Exclude specific settings or tenants from auto-remediation |
Best Practices
- Start with framework-aligned baselines and customize incrementally based on client requirements
- Enable auto-remediation only for well-understood settings with low user impact (e.g., audit logging)
- Set a grace period delay on auto-remediation to allow planned changes to be approved before reversion
- Review the recurring drift report monthly to identify root causes and implement permanent fixes
- Use baseline versioning to track when compliance requirements change
- Configure drift alerts to route to the technician responsible for each tenant group
- Export drift history before compliance audits to demonstrate continuous monitoring
API Reference
GET /api/addons/trust-center/drift— List current drift events with filteringGET /api/addons/trust-center/drift/history— Retrieve drift event historyGET /api/addons/trust-center/baselines— List all defined compliance baselinesPOST /api/addons/trust-center/baselines— Create a new compliance baselinePUT /api/addons/trust-center/baselines/:baselineId— Update a baseline definitionPOST /api/addons/trust-center/drift/scan— Trigger an on-demand drift scanGET /api/addons/trust-center/drift/auto-remediation— Get auto-remediation policy configurationPUT /api/addons/trust-center/drift/auto-remediation— Update auto-remediation policy settings