The interactive demo needs JavaScript. The findings below are fully readable without it; enable JavaScript to apply fixes and watch the score change.
100/100 — tenant clean. That took you about a minute. On a real tenant this becomes a prioritised fix plan, and we do the heavy lifting with you.
all 10
identity 3
mail 3
endpoints 2
data 2
CRIT
Legacy authentication still enabled for 4 accounts
what we saw Sign-in logs show IMAP and SMTP AUTH successes for 4 accounts in the last 30 days. These protocols bypass MFA entirely.
why it matters Legacy protocols do not support MFA. Attackers use them to password-spray tenants: the front door has a lock, but this window is left open.
the fix Block legacy authentication with a Conditional Access policy; migrate the 2 printers that still use SMTP AUTH to a relay.
mapped to CIS M365 · identity — legacy authentication
apply fix (+3)
CRIT
2 admin accounts excluded from the MFA policy
what we saw adm-backup@ and adm-old-it@ sit in the exclusion group of the "Require MFA — admins" policy. One has not signed in for 97 days.
why it matters Admin accounts are the highest-value targets in the tenant. A temporary exclusion from 2023 is exactly what an attacker hopes to find.
the fix Remove both accounts from the exclusion group; disable the dormant account; keep exactly one documented, monitored break-glass account.
mapped to CIS M365 · identity — admin MFA
apply fix (+3)
WARN
Self-service password reset not enabled for users
what we saw SSPR is set to None. Every forgotten password becomes a helpdesk ticket and a social-engineering opportunity.
why it matters Password resets over the phone are how attackers impersonate employees. SSPR with MFA verification is both safer and cheaper.
the fix Enable SSPR for all users with two verification methods; pair it with password writeback for hybrid accounts.
mapped to Microsoft baseline · identity — SSPR
apply fix (+1)
CRIT
DMARC not published for the primary domain
what we saw DNS lookup for _dmarc.demo-client.com returns no record. SPF exists; DKIM signs only the onmicrosoft domain.
why it matters Without DMARC, anyone can send mail as your domain: to your customers, your suppliers and your own finance team.
the fix Enable DKIM for the custom domain, publish DMARC at p=none, review reports for 2 weeks, then move to p=quarantine.
mapped to CIS M365 · mail — DMARC / DKIM / SPF
apply fix (+3)
WARN
Mailbox auditing disabled on 12 mailboxes
what we saw 12 shared mailboxes created before 2019 have AuditEnabled: false. Actions on them leave no trail.
why it matters When something goes wrong in a mailbox nobody audits, the investigation ends without answers. Auditing is free; hindsight is not.
the fix Re-enable auditing on all 12 mailboxes and confirm the organisation-wide auditing default is on.
mapped to CIS M365 · mail — mailbox auditing
apply fix (+1)
WARN
External forwarding allowed tenant-wide
what we saw The outbound spam policy allows automatic forwarding; 3 mailboxes currently forward to personal gmail.com addresses.
why it matters Auto-forwarding to private mailboxes is the quietest data leak there is, and the first thing attackers configure after a takeover.
the fix Set automatic forwarding to Off in the outbound spam policy; approve legitimate cases per mailbox.
mapped to CIS M365 · mail — external forwarding
apply fix (+2)
WARN
34 stale devices still registered in Entra
what we saw 34 devices have not checked in for 90+ days, including 6 marked compliant that no longer exist.
why it matters Stale devices distort Conditional Access decisions and licensing counts, and a "compliant" ghost laptop is a blind spot.
the fix Run a device clean-up: disable at 90 days of inactivity, delete at 180, and automate it on a schedule.
mapped to Microsoft baseline · endpoints — device hygiene
apply fix (+1)
WARN
Local admin rights for all users on 40% of devices
what we saw Intune reports 61 of 152 devices where the primary user is a member of the local Administrators group.
why it matters Malware runs with the rights of the user who clicked it. Local admin everywhere turns one bad click into a device rebuild.
the fix Remove standing local admin via Intune policy; use LAPS for the break-glass local account and elevate on demand.
mapped to CIS M365 · endpoints — least privilege
apply fix (+2)
WARN
Guest access unrestricted in 3 Teams
what we saw 3 Teams, including FIN-budget, allow guests with no expiry and no review. 9 guest accounts have never signed in.
why it matters Guests invited for one project in 2022 still read everything today, and nobody remembers who they are.
the fix Enable guest access reviews with automatic removal on denial, and set guest expiry on the sensitive Teams.
mapped to CIS M365 · data — guest access
apply fix (+1)
WARN
"Anyone" sharing links enabled tenant-wide
what we saw SharePoint sharing is set to Anyone; 214 active anonymous links exist, 17 of them to spreadsheets in the finance site.
why it matters An "Anyone" link does not care who holds it. Forwarded once, it is public, and it never shows up as a breach.
the fix Lower the tenant default to New and existing guests, expire existing anonymous links, and allow exceptions per site.
mapped to CIS M365 · data — sharing links
apply fix (+1)
PASS
BitLocker enforced on all managed endpoints
PASS
Security defaults / CA baseline — MFA required for users
PASS
Versioning enabled on all SharePoint sites
PASS
Safe Attachments policy active for all mailboxes