GTools.pro — Zero-Knowledge M365
ToolsPricingDesktopIndustriesCompareBlogSecurityTrustAbout
  1. Home
  2. Blog
  3. How to run a Microsoft 365 security audit without a security team

M365 Security Audit Without a Security Team

A step-by-step Microsoft 365 security audit for the in-house IT admin with no dedicated security team — prioritized, evidence-backed, repeatable.

How do I audit Microsoft 365 security when I have no security team?

A single-admin Microsoft 365 security audit runs five sequential passes: privileged-access enumeration, MFA and Conditional Access coverage, oversharing exposure ahead of Copilot, a one-page findings report, and a scheduled re-run to catch drift. Running these passes in order, rather than opening every admin center at once, turns a vague health check into named, actionable findings.

The real constraint on a Microsoft 365 security audit is almost never headcount — it is sequencing. An admin with no security background can produce a credible, evidence-backed audit in an afternoon if the four passes run in the right order. Run them out of order, or try to do all four at once, and the result is a pile of half-finished tabs and no clear finding to act on first. The temptation, faced with a tenant that has been running unmanaged for two years, is to open every admin center at once and start clicking. That produces anxiety, not a finding list. The order below exists specifically so each pass finishes with something concrete before the next one starts. You do not need a security team — you need an order of operations Each pass below produces a concrete, named list — not a percentage, not a color-coded tile. That list is the deliverable, and it is what makes the next pass possible. Pass 1: who has privileged access, and is any of it standing when it should be eligible-only Pass 2: where MFA and Conditional Access actually apply, versus where a named policy exists but a user or app is quietly excluded from it Pass 3: what is shared more broadly than it should be, before a Copilot rollout makes that reach far larger Pass 4: turn the first three passes into one report management can actually read Pass 5: re-run this on a schedule to catch drift Step 1 — Enumerate who has privileged access Privileged access is where a single missed account causes the most damage, so it goes first. The goal is a named list, not a role count. A tenant with "12 Global Administrators" is not a finding — it is a starting point. The finding is which twelve, whether each one still needs standing access, and whether any of them is a service account nobody remembers creating. Entra ID role assignments, listed by person, not by role name alone Standing role assignments versus eligible (activation-required) roles — a standing Global Administrator is a bigger finding than an eligible one Service principals and app consents with high-privilege Graph scopes, which are frequently forgotten because no human logs in with them Break-glass accounts — confirm they exist, are excluded from Conditional Access as intended, and are not being used for day-to-day work Step 2 — Check MFA and Conditional Access coverage A tenant can have Conditional Access policies that look complete on paper and still have real gaps — a named policy is not the same thing as actual coverage. This pass exists to find the difference. The most common gap is not a missing policy; it is an exclusion group that was added for a one-time troubleshooting session and never removed, quietly carving a hole in coverage that otherwise looks complete in the policy list. Users or groups explicitly excluded from a Conditional Access policy, and whether that exclusion is still justified Legacy authentication protocols still permitted anywhere, since they bypass modern MFA enforcement entirely Gaps between what a policy claims to cover and what actually gets enforced at sign-in — check a real sign-in log sample, not just the policy configuration screen Step 3 — Find the oversharing before Copilot does This pass matters on its own, and it matters more specifically if Copilot is coming. Copilot answers a prompt using whatever the asking user can already reach — it does not create new exposure, but it does make existing oversharing far easier to stumble into. A site with a broken permission boundary sitting quietly for three years is a low-probability risk today; the same site is a much higher-probability risk the day everyone in the company gets a natural-language way to ask "what does this company know about X" and get an instant answer pulled from wherever that answer happens to live. Anonymous and "anyone" sharing links still active anywhere in SharePoint or OneDrive Sites shared externally, and whether that external access is still needed Sites with broken or unusually broad permission inheritance, where a folder-level grant quietly widened past its intended scope Why this pass is worth doing before a Copilot rollout specifically: fixing an oversharing finding before rollout is a quiet cleanup; discovering it during a rollout demo is not Step 4 — Turn findings into a one-page report Management does not need the raw output of three passes — it needs a one-page summary with the highest-severity findings at the top and a clear next action for each. The export from each pass is the evidence behind that report; keep it, because it is what turns "we looked into it" into something you can actually show. Structure the page the same way every time: finding, severity, owner, and target date. A report that changes shape every quarter is harder for management to compare against the last one, and comparison is the entire point of Step 5. Step 5 — Re-run it on a schedule Posture drifts the moment you stop looking — a new privileged role gets granted for a project and never revoked, a sharing link gets created for a one-time file drop and stays live for a year. A single audit is a snapshot; the real signal comes from comparing two runs and seeing what changed between them. Put this on a recurring schedule rather than treating it as a one-time project. A monthly cadence for the privileged-access and Conditional Access passes, and a quarterly cadence for the oversharing pass, catches most drift before it turns into an incident — and a second run that shows the same four passes clean is itself a useful piece of evidence for the next audit or insurance questionnaire. What an audit cannot tell you This is a detective control, not remediation and not a SIEM — it produces a findings list, and the fix happens afterward in the Entra ID, Defender, or Purview consoles. Severity ranking uses a documented internal heuristic that may diverge from Microsoft Secure Score. Coverage stops at the Graph permission surface actually granted, and some signals require a matching Microsoft license to enumerate at all. Nothing described here remediates a finding automatically.

How to run a Microsoft 365 security audit without a security team

Enumerate who has privileged access

Privileged access is where a single missed account causes the most damage, so it goes first. The goal is a named list, not a role count. A tenant with "12 Global Administrators" is not a finding — it is a starting point. The finding is which twelve, whether each one still needs standing access, and whether any of them is a service account nobody remembers creating. Entra ID role assignments, listed by person, not by role name alone Standing role assignments versus eligible (activation-required) roles — a standing Global Administrator is a bigger finding than an eligible one Service principals and app consents with high-privilege Graph scopes, which are frequently forgotten because no human logs in with them Break-glass accounts — confirm they exist, are excluded from Conditional Access as intended, and are not being used for day-to-day work

Check MFA and Conditional Access coverage

A tenant can have Conditional Access policies that look complete on paper and still have real gaps — a named policy is not the same thing as actual coverage. This pass exists to find the difference. The most common gap is not a missing policy; it is an exclusion group that was added for a one-time troubleshooting session and never removed, quietly carving a hole in coverage that otherwise looks complete in the policy list. Users or groups explicitly excluded from a Conditional Access policy, and whether that exclusion is still justified Legacy authentication protocols still permitted anywhere, since they bypass modern MFA enforcement entirely Gaps between what a policy claims to cover and what actually gets enforced at sign-in — check a real sign-in log sample, not just the policy configuration screen

Find the oversharing before Copilot does

This pass matters on its own, and it matters more specifically if Copilot is coming. Copilot answers a prompt using whatever the asking user can already reach — it does not create new exposure, but it does make existing oversharing far easier to stumble into. A site with a broken permission boundary sitting quietly for three years is a low-probability risk today; the same site is a much higher-probability risk the day everyone in the company gets a natural-language way to ask "what does this company know about X" and get an instant answer pulled from wherever that answer happens to live. Anonymous and "anyone" sharing links still active anywhere in SharePoint or OneDrive Sites shared externally, and whether that external access is still needed Sites with broken or unusually broad permission inheritance, where a folder-level grant quietly widened past its intended scope Why this pass is worth doing before a Copilot rollout specifically: fixing an oversharing finding before rollout is a quiet cleanup; discovering it during a rollout demo is not

Turn findings into a one-page report

Management does not need the raw output of three passes — it needs a one-page summary with the highest-severity findings at the top and a clear next action for each. The export from each pass is the evidence behind that report; keep it, because it is what turns "we looked into it" into something you can actually show. Structure the page the same way every time: finding, severity, owner, and target date. A report that changes shape every quarter is harder for management to compare against the last one, and comparison is the entire point of Step 5.

Re-run it on a schedule

Posture drifts the moment you stop looking — a new privileged role gets granted for a project and never revoked, a sharing link gets created for a one-time file drop and stays live for a year. A single audit is a snapshot; the real signal comes from comparing two runs and seeing what changed between them. Put this on a recurring schedule rather than treating it as a one-time project. A monthly cadence for the privileged-access and Conditional Access passes, and a quarterly cadence for the oversharing pass, catches most drift before it turns into an incident — and a second run that shows the same four passes clean is itself a useful piece of evidence for the next audit or insurance questionnaire.

Frequently asked questions

Can one IT admin really cover all of this alone?

Yes, if the passes run in the right order and each one produces a concrete list rather than a dashboard to interpret. The five steps below are designed to run in sequence: the first four complete in a single working session, and the fifth — re-running the audit on a schedule — repeats that same order going forward. Each pass narrows to specific, named accounts, sites, or policies rather than a general health score.

How is this different from what Microsoft Secure Score already shows?

Secure Score is a tenant-wide posture number. This audit produces a ranked list of specific objects to act on — this account, this site, this policy gap — using a documented internal severity heuristic that may diverge from Secure Score’s own ranking. Treat the two as complementary views, not competing scores.

Does finishing this audit mean the issues are fixed?

No. This is a detective control: it produces evidence and a prioritized findings list. Remediation happens afterward, in the Entra ID, Defender, or Purview consoles, and nothing here applies a fix automatically.

Related topics

  • m365 security audit
  • entra id privileged role review
  • conditional access coverage
  • sharepoint oversharing
  • copilot readiness audit

About the platform

This is a zero-knowledge toolkit. It helps IT admins, MSPs, security teams run their cloud safer. Use it inside a browser. Or install our Mac or Windows app.

Tenant secrets stay on your disk. We never store, log, or read them. Our server only sees billing metadata.

How it works

  1. You unlock a local vault with a passphrase. Argon2id stretches it.
  2. Tokens get sealed with XChaCha20-Poly1305 before any sync.
  3. X25519 protects shared keys. Ed25519 signs every action.
  4. Each operation runs against Graph from your device, not ours.

What you can do

  • Back up mail. Files. Chat threads.
  • Export Intune settings. One click.
  • Audit SharePoint shares. Spot risk.
  • Find idle sites. Reclaim quota.
  • Score Copilot. Plan rollout.
  • Move tenants. No staging.
  • Client-side keys. Always on.
  • Your data. Your disk.
  • One app. Many tenants.

Editions

  • Solo. Free. Three tools. No card.
  • Backup. Durable backups for your tenant.
  • Watchtower. Audits and alerts on risk.
  • Move. Tenant migration suite.
  • Blueprint. Config export for enterprise.
  • Everything. Full platform plus desktop and support.

Trust signals

  • Open source crypto primitives via libsodium.
  • Public threat model at /trust.
  • Public pricing. Direct purchase. No sales call.
  • Cancel any time inside settings.
  • EU-based billing. PayPal checkout today; card payments planned.

Built in Germany by Voltage Brothers Infrastruktur UG. Suits cloud workspaces of every size.

Standards, regions, retention

Regions: Frankfurt. Dublin. North America. Retention scales from 7 days. Up to unlimited. Schedules run hourly. Daily. Weekly. Monthly. Reports export as JSON. CSV. PDF. Evidence packs bundle hashes. Chain-of-custody metadata sits beside them.

Standards covered: ISO 27001 controls. SOC 2 readiness. NIS2 mapping. GDPR Article 28 terms. Audit logs cover entitlement events. Billing actions. License rotations. Workload payloads never reach a remote log.

Who uses it

  • Tenant admins running a single estate.
  • MSPs managing dozens of customer cloud workspaces.
  • Security teams investigating sharing risk.
  • Compliance officers preparing audit evidence.
  • Acquisition teams during M&A integration.
  • Procurement teams reviewing vendor risk.
  • Solo consultants billing by workspace hour.

Supported regions

Frankfurt, Dublin, Amsterdam, Stockholm, Paris, plus North America. Annual revenue scales from small studios up through multinational estates. Payment today is PayPal checkout; card payments (Stripe) are planned.

Numbers worth knowing

  • 49 capabilities. 6 editions.
  • Free tier: 3 tools. 0 cards.
  • Argon2id. 256 MB memory cost.
  • XChaCha20-Poly1305. 256-bit cipher.
  • X25519. 256-bit shared keys.
  • Ed25519. 100% of writes signed.
  • Retention: 7 days. 365 days. Or unlimited.
  • Founded 2024. Built in Germany.
  • Backup edition: 14 EUR per user per year.
  • Watchtower edition: 7 EUR per user per year.
  • Move edition: 9 EUR per migrated seat. One-time. 450 EUR project minimum.
  • Blueprint edition: 449 EUR per tenant per year.
  • Everything bundle: 2490 EUR per tenant per year.
  • Audit reports: 25 dedicated checks.
  • Config export: 9 Microsoft 365 workloads.
  • Migration record set in April 2026. 153,584 files. 0 errors.
  • Compliance posture updated in 2026.
  • Pricing: 1 public page. 0 sales calls.
  • Cancellation: 1 self-service page.
  • Audit logs: 90 days. Entitlement events.
  • GDPR Article 28. 27 member states.
  • NIS2 Directive. 18 sectors. Live since 2024.
  • SOC 2 Type II evidence. JSON. CSV. Signed PDF.
  • ISO 27001. 93 Annex A controls. 2022 revision.

Product.

  • Tools.
  • Pricing.
  • Desktop.
  • Security.
  • Industries.
  • Compare.
  • Download.
  • Blog.
  • For MSPs.
  • For SMB IT.

Company.

  • About.
  • Trust & Compliance.
  • Privacy Policy.
  • Terms of Service.
  • Impressum.

Connect.

  • hello@gtools.pro.
  • GitHub.

© 2026 GTools.pro · A product of Voltage Brothers Infrastruktur UG (haftungsbeschränkt).