101 checks across 10 services. Every row links to the full check page — description, risk, recommendation, remediation snippets (CLI / Terraform / Native IaC / Dashboard), and references. Check IDs are stable. They appear unchanged on every finding in the dashboard, in every export (SARIF / CSV / JSON / PDF), and in compliance scorecards. Severity drives quality-gate behaviour — CRITICAL and HIGH block by default.

Services in this catalog

admincenter

6 checks.
Check IDTitleSeverity
admincenter_external_calendar_sharing_disabledExternal calendar sharing is disabled at the organization levelMEDIUM
admincenter_groups_not_public_visibilityMicrosoft 365 group has Private visibilityHIGH
admincenter_organization_customer_lockbox_enabledCustomer Lockbox is enabled at the organization levelHIGH
admincenter_settings_password_never_expireTenant password policy is set to never expireMEDIUM
admincenter_users_admins_reduced_license_footprintAdministrative user has no license or an allowed license (AAD_PREMIUM or AAD_PREMIUM_P2)HIGH
admincenter_users_between_two_and_four_global_adminsTenant has between two and four Global AdministratorsMEDIUM

defender

15 checks.
Check IDTitleSeverity
defender_antiphishing_policy_configuredDefender anti-phishing policy active, quarantines spoofed senders and DMARC reject/quarantine failures, honors…LOW
defender_antispam_connection_filter_policy_empty_ip_allowlistDefender Antispam Connection Filter Policy IP Allowlist is empty or undefinedMEDIUM
defender_antispam_connection_filter_policy_safe_list_offDefender Antispam Connection Filter Policy has Safe List disabledMEDIUM
defender_antispam_outbound_policy_configuredDefender outbound spam policy is configured to notify recipients when senders are blocked or exceed sending li…LOW
defender_antispam_outbound_policy_forwarding_disabledDefender Outbound Spam policy disables mail forwardingHIGH
defender_antispam_policy_inbound_no_allowed_domainsInbound anti-spam policy does not contain allowed domainsLOW
defender_atp_safe_attachments_and_docs_configuredATP Safe Attachments policy has Safe Documents enabled and click-through blocked for SharePoint, OneDrive, and…MEDIUM
defender_chat_report_policy_configuredDefender report submission policy uses customized addresses for junk, not junk and phish, and chat reports are…MEDIUM
defender_domain_dkim_enabledExchange Online domain has DKIM enabledHIGH
defender_malware_policy_common_attachments_filter_enabledDefender malware policy has Common Attachment Types Filter enabledCRITICAL
defender_malware_policy_comprehensive_attachments_filter_appliedDefender anti-malware policy has Common Attachment Types Filter enabled and blocks all recommended file typesHIGH
defender_malware_policy_notifications_internal_users_malware_enabledDefender anti-malware policy has admin notifications enabled for internal users sending malwareMEDIUM
defender_safe_attachments_policy_enabledSafe Attachments policy is enabled with secure configurationMEDIUM
defender_safelinks_policy_enabledSafe Links policy is enabled and properly configured in Microsoft Defender for Office 365.MEDIUM
defender_zap_for_teams_enabledZero-hour auto purge (ZAP) protects Microsoft Teams from malware and phishingMEDIUM

defenderidentity

1 checks.
Check IDTitleSeverity
defenderidentity_health_issues_no_openDefender for Identity has no unresolved health issues affecting hybrid infrastructure monitoringMEDIUM

defenderxdr

2 checks.
Check IDTitleSeverity
defenderxdr_critical_asset_management_pending_approvalsCritical asset management classifications are reviewed and approvedMEDIUM
defenderxdr_endpoint_privileged_user_exposed_credentialsPrivileged users do not have credentials exposed on vulnerable endpointsCRITICAL

entra

42 checks.
Check IDTitleSeverity
entra_admin_consent_workflow_enabledAdmin consent workflow is enabledHIGH
entra_admin_portals_access_restrictionAdmin portals are accessible only to administrative rolesMEDIUM
entra_admin_users_cloud_onlyAll users with administrative roles are cloud-only accountsHIGH
entra_admin_users_mfa_enabledUsers in administrative roles require multifactor authentication via a Conditional Access policy for all appli…HIGH
entra_admin_users_phishing_resistant_mfa_enabledAt least one Conditional Access policy requires phishing-resistant MFA strength for administrator rolesHIGH
entra_admin_users_sign_in_frequency_enabledAdmin users have sign-in frequency enforced by Conditional Access at or below the recommended intervalHIGH
entra_all_apps_conditional_access_coverageConditional Access policy ensures comprehensive coverage for all cloud appsMEDIUM
entra_app_registration_no_unused_privileged_permissionsApp registration has no unused privileged API permissionsMEDIUM
entra_authentication_method_sms_voice_disabledSMS and Voice authentication methods are disabled in the tenantMEDIUM
entra_break_glass_account_fido2_security_key_registeredBreak glass account has a FIDO2 security key registered for phishing-resistant authenticationCRITICAL
entra_conditional_access_policy_all_apps_all_usersConditional Access policy covers all cloud apps and all usersLOW
entra_conditional_access_policy_app_enforced_restrictionsConditional Access policy enforces application restrictions for unmanaged devicesMEDIUM
entra_conditional_access_policy_approved_client_app_required_for_mobileConditional Access policy enforces approved client apps or app protection for mobile devicesMEDIUM
entra_conditional_access_policy_block_elevated_insider_riskConditional Access Policy blocks access for users with elevated insider riskMEDIUM
entra_conditional_access_policy_block_o365_elevated_insider_riskConditional Access policy blocks Office 365 access for users with elevated insider riskMEDIUM
entra_conditional_access_policy_block_unknown_device_platformsConditional Access policy blocks access from unknown or unsupported device platformsMEDIUM
entra_conditional_access_policy_compliant_device_hybrid_joined_device_mfa_requiredConditional Access requires compliant device OR hybrid joined device OR MFA for admins or all usersHIGH
entra_conditional_access_policy_corporate_device_sign_in_frequency_enforcedConditional Access policy enforces sign-in frequency for non-corporate devicesMEDIUM
entra_conditional_access_policy_device_code_flow_blockedConditional Access policy blocks device code flow to prevent phishing attacksHIGH
entra_conditional_access_policy_device_registration_mfa_requiredConditional Access policies enforce MFA for device registrationHIGH
entra_conditional_access_policy_directory_sync_account_excludedConditional Access policy excludes Directory Synchronization Accounts to protect Entra Connect syncMEDIUM
entra_conditional_access_policy_mdm_compliant_device_requiredConditional Access policy requires an MDM-compliant device for all cloud app accessHIGH
entra_conditional_access_policy_mfa_enforced_for_guest_usersConditional Access Policy enforces MFA for guest and external usersHIGH
entra_conditional_access_policy_require_mfa_for_management_apiConditional Access Policy enforces MFA for Azure Management API accessHIGH
entra_default_app_management_policy_enabledDefault app management policy enforces credential restrictions on applications and service principalsMEDIUM
entra_dynamic_group_for_guests_createdA dynamic membership group for guest users existsLOW
entra_emergency_access_exclusionEmergency access exclusions prevent lockout from Conditional Access policiesHIGH
entra_identity_protection_sign_in_risk_enabledAt least one Conditional Access Identity Protection sign-in risk policy protects against high and medium risk…HIGH
entra_identity_protection_user_risk_enabledAt least one Conditional Access policy enforces Identity Protection user risk for high-risk usersHIGH
entra_intune_enrollment_sign_in_frequency_every_timeConditional Access requires strong authentication and Every Time sign-in frequency for Intune EnrollmentHIGH
entra_legacy_authentication_blockedAt least one Conditional Access policy blocks legacy authenticationCRITICAL
entra_managed_device_required_for_authenticationConditional Access policies require authentication from a managed device for all users and applicationsHIGH
entra_managed_device_required_for_mfa_registrationTenant has a Conditional Access policy that requires a managed device for MFA registration for all usersHIGH
entra_password_hash_sync_enabledOrganization has password hash synchronization enabled for hybrid deploymentsMEDIUM
entra_policy_ensure_default_user_cannot_create_tenantsTenant restricts non-admin users from creating tenantsMEDIUM
entra_policy_guest_invite_only_for_admin_rolesTenant guest invitations are restricted to specific admin roles or disabledHIGH
entra_policy_guest_users_access_restrictionsAuthorization policy restricts guest user access to properties and memberships of their own directory objectsMEDIUM
entra_policy_restricts_user_consent_for_appsUser consent for applications is set to ‘Do not allow user consent’HIGH
entra_seamless_sso_disabledHybrid deployment does not have Seamless SSO enabledMEDIUM
entra_thirdparty_integrated_apps_not_allowedAuthorization policy disallows app creation by non-admin usersHIGH
entra_users_mfa_capableUser is MFA capableHIGH
entra_users_mfa_enabledMultifactor authentication is enforced for all usersCRITICAL

exchange

13 checks.
Check IDTitleSeverity
exchange_external_email_tagging_enabledIdentity has external sender tagging enabledMEDIUM
exchange_mailbox_audit_bypass_disabledMailbox has AuditBypassEnabled disabledHIGH
exchange_mailbox_policy_additional_storage_restrictedMailbox policy has additional storage providers disabledHIGH
exchange_organization_delicensing_resiliency_enabledDelicensing Resiliency protects Exchange Online mailboxes from immediate access loss during license changesMEDIUM
exchange_organization_mailbox_auditing_enabledOrganization has mailbox auditing enabledHIGH
exchange_organization_mailtips_enabledOrganization has MailTips fully enabledMEDIUM
exchange_organization_modern_authentication_enabledOrganization has Modern Authentication enabledCRITICAL
exchange_roles_assignment_policy_addins_disabledRole assignment policy does not allow Outlook add-insHIGH
exchange_shared_mailbox_sign_in_disabledShared mailbox has sign-in blockedMEDIUM
exchange_transport_config_smtp_auth_disabledSMTP AUTH is disabled in the Exchange Online Transport ConfigurationHIGH
exchange_transport_rules_mail_forwarding_disabledTransport rule does not allow forwarding mail to external domainsHIGH
exchange_transport_rules_whitelist_disabledTransport rule does not whitelist any domainsHIGH
exchange_user_mailbox_auditing_enabledUser mailbox auditing is enabled with required Admin, Delegate, and Owner actions and audit log age meets the…HIGH

intune

1 checks.
Check IDTitleSeverity
intune_device_compliance_policy_unassigned_devices_not_compliant_by_defaultBuilt-in Device Compliance Policy marks devices without an assigned compliance policy as Not compliant by defa…HIGH

purview

1 checks.
Check IDTitleSeverity
purview_audit_log_search_enabledPurview audit log search is enabledCRITICAL

sharepoint

5 checks.
Check IDTitleSeverity
sharepoint_external_sharing_managedExternal sharing is restricted using a non-empty domain allowlist or blocklistHIGH
sharepoint_external_sharing_restrictedOrganization external sharing is set to Existing guests only, New and existing guests, or DisabledHIGH
sharepoint_guest_sharing_restrictedGuest users cannot share items they do not ownHIGH
sharepoint_modern_authentication_requiredRequires modern authentication for applicationsHIGH
sharepoint_onedrive_sync_restricted_unmanaged_devicesOneDrive sync from unmanaged devices is blockedHIGH

teams

15 checks.
Check IDTitleSeverity
teams_email_sending_to_channel_disabledEmail to Teams channel addresses is disabledHIGH
teams_external_domains_restrictedExternal domain access is disabled for Teams usersHIGH
teams_external_file_sharing_restrictedExternal file sharing is restricted to only approved cloud storage servicesHIGH
teams_external_users_cannot_start_conversationsUsers cannot start conversations with unmanaged accountsCRITICAL
teams_meeting_anonymous_user_join_disabledAnonymous users cannot join Teams meetingsCRITICAL
teams_meeting_anonymous_user_start_disabledAnonymous users cannot start Teams meetingsHIGH
teams_meeting_chat_anonymous_users_disabledMeetings global policy does not allow anonymous users in meeting chatHIGH
teams_meeting_dial_in_lobby_bypass_disabledMeetings global policy does not allow dial-in users to bypass the lobbyHIGH
teams_meeting_external_chat_disabledMeeting chat for untrusted organizations is disabledHIGH
teams_meeting_external_control_disabledMeetings global policy prevents external participants from giving or requesting controlHIGH
teams_meeting_external_lobby_bypass_disabledMeetings global policy allows only people in the organization to bypass the lobbyCRITICAL
teams_meeting_presenters_restrictedMeetings org-wide default policy allows only organizers and co-organizers to presentMEDIUM
teams_meeting_recording_disabledMeetings global (Org-wide default) policy has meeting recording disabled by defaultMEDIUM
teams_security_reporting_enabledMessaging policy has security reporting enabledMEDIUM
teams_unmanaged_communication_disabledUsers cannot communicate with unmanaged usersHIGH

What’s next

Cloud Security overview

Connect a provider, see findings end-to-end.

All checks

Index across every provider.

Compliance frameworks

How check IDs map to SOC 2 / PCI / HIPAA / ISO controls.

Reports

Per-framework PDF scorecards.