Skip to content
Managed ITDR

Your clients' Microsoft 365 tenants, watched like an endpoint.

An agent tells you what is happening on a device. It can tell you nothing about the tenant your client actually works in. Secuno reads every connected Microsoft 365 and Entra ID tenant on a schedule, watches who signs in from where, and reports what changed since the last scan, not just what is wrong today.

app.secuno.nl/m365/acme-robotics
Microsoft 365 Security for one tenant: 94 percent MFA coverage, legacy authentication blocked, three risky users and six open findings, above a Secure Score of 58 percent and the recommendations worth the most points
Since the last scan
Legacy auth blocked
+12 pts
Guest invites relaxed
new
New OAuth grants
0
0
Distinct finding types
0
Controls marked pass, fail or unknown
0
Posture metrics kept per tenant
0
Drift types compared every scan
Why identity

The endpoint agent is blind to the tenant. That is where the account lives.

Credential theft does not need malware on a laptop. It needs one account with weak second factor, one permission granted a year ago and never reviewed, or one administrator who quietly stopped using their authenticator. None of that shows up on the device, and none of it shows up in a monthly export either.

Agentless, and read-only by default

Secuno connects to each tenant with read-only Graph permissions and installs nothing. Acting on an account is a separate opt-in per tenant, described below. Without it, the console tells you what to change and cannot change it for you.

Configured per tenant, not per platform

Every client declares its own expectations, because they are genuinely different. A customer with a Dutch back office and an Indian development team is not an exception to be worked around.

Unknown is never reported as a pass

A check whose data Graph refused is recorded as unknown, with the reason. A permissions gap that renders as a clean tenant is worse than no answer, because it is the answer you would have acted on.

Secure Score, in context

A bare percentage is not a conversation with a client.

Microsoft gives you a number. On its own nobody knows whether 58% is good, or what to fix first.

  • Set against the industry average and against tenants of a similar seat count, so the number has a frame.
  • Recommendations ranked by the points still on the table, which is effort-to-impact order and the order the score will actually move in.
  • Not labelled remediate: Secuno holds no write access to these settings, and a button that promises a fix but opens documentation is a promise the product does not keep.
app.secuno.nl / m365 / overview
The Secure Score card for one tenant: 58 percent, 154 of 265 points, up 71 points over 89 days, against an industry average of 51 percent, similar-size tenants at 46 percent, and 111 points still open
The three figures under the dial are the whole point. Without them, 58% is a number nobody can act on.
What it reads, what it raises

Thirty-nine finding types, each able to open a risk unattended.

Secuno reads MFA status per method, privileged roles with standing and PIM-eligible assignments told apart, Conditional Access and Security Defaults, legacy authentication, risky users, SharePoint and guest sharing, OAuth applications with their permissions, consent type and publisher verification, app secrets and certificates, and SPF, DKIM and DMARC for mail. Where a combination is dangerous on its own, it becomes a risk with an owner and a due date. Eighteen posture metrics are kept per tenant with eight baseline sub-signals beneath them, and nine drift types are compared on every scan.

Eight of the thirty-nine finding types
CRITICALMailbox forwarding to an outside addressThe half of mail exfiltration Graph cannot see. A forward set on the mailbox itself is read where it actually lives.
CRITICALMail-flow rule copying mail outside the tenantA tenant-wide rule is invisible to every mailbox owner it affects, which is exactly why it is worth checking centrally.
CRITICALAdministrator without MFABreak-glass accounts declared by object id are exempt from this check and nothing else. Never by name, because a name is something an attacker can adopt.
HIGHLegacy authentication enabledLegacy protocols do not carry a second factor. While one is reachable, MFA coverage is a number rather than a control.
HIGHUser without MFASeverity is configurable per client, because the right answer for a 20-seat firm and a 200-seat firm is not always the same.
HIGHMailbox audit logging disabledRead as three states. A setting that could not be read is unknown, never reported as off and never as on.
MEDIUMDelegated access to a user mailboxFull access and send-as rights on a personal mailbox. Shared mailboxes are left out, or the real delegations drown.
LOWDeclared break-glass account without a privileged roleAn exemption that outlives its reason is exactly what this module exists to catch, so the break-glass list audits itself.

The forwarding, mail-flow, audit logging and delegation rows come from the Exchange Online checks, which are opt-in per tenant and off by default. Every finding is keyed to the tenant and the subject it concerns, so a rescan updates it in place rather than opening a second copy. Findings can be excepted for a fixed window, with both an expiry and a reason required: an exception with no expiry is a permanent mute, and one with no reason cannot be reviewed six months later.

Controls

Twenty-seven controls, and an answer for every one.

Findings say what is wrong. Controls also say what is right. Every full scan marks 27 controls in eight sections, from identity and privileged access to mail, sharing, applications and hybrid sync, as pass, fail, unknown or not applicable. Each control carries its CIS Microsoft 365 Foundations v4 and CISA SCuBA references, so a client conversation or an audit can start from a benchmark rather than a list of problems.

A clean tenant leaves evidence

A correctly configured tenant used to leave no trace, because only defects were recorded. Now it can show how many of its 27 controls pass, the Tenant Baseline view shows what has been failing since when, and compliance frameworks read the same results.

Unknown is never counted as a pass

A control whose data could not be read is unknown and names the dataset. A check that is switched off is not applicable. Fail beats unknown, and neither unknown nor not applicable is ever counted as a pass.

Break-glass accounts, declared properly

Emergency-access accounts are declared by object id and exempted from the privileged MFA checks only. They are still inventoried, still counted, and a declared account that no longer holds a privileged role raises its own finding.

Identity response

When the account is the incident, act on the account.

Read-only is the default. A tenant can opt in to three actions: revoke every sign-in session for a user, disable the account, and enable it again. Once switched on they are offered on the user list and inside any investigation about that account, and automation rules can revoke sessions or disable an account.

  • Opt-in per tenant, and off until someone switches it on. The permissions are proven from the token itself before the switch turns on, turning it on needs an explicit acknowledgement, and it can be switched off again at any time.
  • Disabling the last Global Administrator is refused, and actions only reach users seen in the last scan.
  • A case that groups alerts about more than one account refuses identity actions and says why, rather than guessing whose account to lock.
  • Switching it on or off, and every action taken, is written to the audit log. An automation rule acts on the case's own subject and can never name its own target.
Questions

What connecting a tenant actually involves.

What is ITDR, and how is it different from what my RMM already shows me?

Identity Threat Detection and Response is the practice of watching the identity layer itself: who can sign in, from where, with what second factor, holding which roles, and which applications they have consented to. An RMM manages devices and an antivirus watches processes. Neither can see that an administrator stopped using their authenticator last Tuesday, or that an OAuth application granted broad mailbox access two years ago is still holding it.

Does Secuno need write access to my client's tenant?

Not for monitoring. Posture, controls and sign-in detection use read-only Graph permissions, and nothing is installed in the tenant. The only writes Secuno can ever make are the three account actions, and only on a tenant that has opted in. Recommendations still open the relevant Microsoft admin screen rather than claiming to apply a configuration fix.

Do my client's tenants need Entra ID P2?

Not for most of this. Three of Secuno's four sign-in detections run without it, and so do most posture checks, which matters because Business Premium includes P1 and not P2. Microsoft's own risky users and risk detections are a P2 dataset, and on a tenant without it that is recorded as a plan limit, not shown as a warning the customer cannot fix.

What does a risky sign-in alert actually tell me?

What signed in, not only who. Each risky sign-in shows whether MFA was satisfied, the application, the device, operating system and browser, and which Conditional Access policies applied, with No CA policy applied marked in amber and a link to the sign-in in Entra. The sign-in log lags the detection, so the lookup retries rather than guessing, and a match it cannot make with certainty is stored as ambiguous.

What happens if a permission is missing or the plan does not include a dataset?

The dataset is recorded as unknown with a classified reason, both on the connection and on that individual scan, so you can answer later when a dataset started failing and what Graph actually said. Plan limits are stated as plan limits. A tenant below the premium identity plan does not get a permanent warning banner for something the customer cannot fix.

Will impossible travel fire every time someone uses a VPN?

Sign-ins whose location cannot be resolved, or resolves too coarsely, are skipped rather than guessed at. That is the specific case a naive distance check gets wrong, since VPN egress often resolves to a datacentre with no meaningful country attached.

How does this reach my team rather than sitting in another console?

Every finding becomes a scored risk on the same queue as everything else, with an owner, a due date and an audit trail, and it can be routed to Slack, Teams, Jira, ServiceNow or your PSA through the same connectors as any other risk. Sign-in detections open an investigation instead, beside the endpoint cases, because a sign-in that happened does not stop having happened.

How is Managed ITDR priced?

€1.70 per licensed identity per month, excluding VAT, for everything on this page. A licensed identity is an account in the tenant with a Microsoft 365 licence assigned; accounts without a licence are not counted. It is a module on top of the Standard platform. MSPs and MSSPs get partner pricing on request.

Get started

Connect one tenant and see what a scan finds.

A 30-minute walkthrough against a real tenant, from consent to the first scored finding. Bring the client environment you are least sure about.

Not ready for a demo? Scan a client's domain with the free Microsoft 365 check