Confidential Document
Gable Group
Microsoft 365 Tenant Audit — May 2026
Prepared by The Fourths  ·  26 May 2026

Gable Group — Microsoft 365 Tenant Audit

Tenant: gable.group  ·  Tenant ID: 1da5260d-473d-4b6e-8248-6747a8434091  ·  Region: GB

Audit Date
26 May 2026
Prepared by
The Fourths
CONFIDENTIAL
OVERALL RISK: HIGH Third-party MSP holds Global Admin + Security Admin roles. MFA registration at 44% of sampled users. Conditional Access policies confirmed — guest and external user MFA not enforced.
Overview
Identity & Users
Privileged Access
Authentication & MFA
Licensing
Domains
Recommendations
Security Defaults
OFF
No CA replacement found
MFA Coverage
44%
24 of 54 sampled users
Global Admins
3
Incl. third-party (Connexus)
Guest Accounts
198
More guests than staff (113)
Disabled Accounts
185
Still present in tenant
Verified Domains
11
Across 5 brand domains
Risk Summary
MEDIUM — Security Defaults disabled; Conditional Access deployed with gaps
Security Defaults is disabled — the correct posture when Conditional Access is in use. Audit confirmed 7 CA policies are active: MFA for all users (enforced), legacy auth blocking (enforced), and admin MFA (enforced). However, guest and external user MFA policies remain in report-only mode and are not enforced. No sign-in risk was detected in the sampled period.
Action: Promote guest MFA and external user MFA policies from report-only to enforced. Remove the duplicate "Block legacy authentication" report-only policy to avoid confusion. Confirmed: no additional licensing cost — SPB includes Entra P1.
CRITICAL — Third-party MSP holds Global Administrator + Security Administrator
Connexus (ConnexusAdmin@gable.group) holds both Global Admin and Security Admin roles. This gives a third party unrestricted control over the tenant, including the ability to read all mail, reset any password, and modify all security policies — without Gable oversight.
Action: Scope Connexus access down to least-privilege (e.g. Helpdesk Administrator or specific workload admin roles). If Global Admin is operationally necessary, require PIM just-in-time elevation with approval workflow.
HIGH — MFA registered on fewer than half of sampled users
Of 54 users returned in the MFA registration report, only 24 have MFA registered. Combined with Security Defaults being off, a significant portion of the user base has no second factor — vulnerable to credential stuffing and phishing.
Action: Move MFA registration campaign from "default" (snooze-able) to "enabled" enforcement. Block sign-in for users who have not registered within a defined window.
MEDIUM — 198 guest accounts, no visible lifecycle governance
The tenant has more external guests than internal members. Guests originate from investment firms (Bawag, Marathon, Blackstone, King Street, Balbec, Sculptor, Chenavari, Viola, Waterfall AM, AB CarVal, Arini, Guy Carpenter, Axis, Perenna, MMBS, Dudley BS, Knab, ABN AMRO, Adecco, Target Group, FintechOS, Arch Insurance, and others). There is no evidence of a guest access review process or expiry policy.
Action: Implement Entra ID Guest Access Reviews (quarterly). Set guest account expiry policy. Disable or remove guests from counterparties no longer active.
MEDIUM — 185 disabled member accounts remain in tenant
60% of member-type accounts are disabled. Disabled accounts still exist in the directory, consume namespace, and can be re-enabled by any Global Admin. Stale offboarded accounts represent a latent re-activation risk.
Action: Define a retention and deletion policy for disabled accounts (e.g. delete after 90 days of disable). Run a bulk clean-up of accounts disabled >90 days.
MEDIUM — Privileged Role Administrator role has no members
No one is assigned Privileged Role Administrator. This means the Global Admins self-manage role assignments with no oversight or separation of duties on privilege escalation.
Action: Assign Privileged Role Administrator to a named internal account. Consider enabling PIM for all privileged roles.
Total Users
311
All accounts in tenant
Enabled
126
Active accounts
Disabled
185
Still in directory
Members
113
Internal staff/service
Guests
198
External invitees
Licensed
32
Assigned at least one SKU
Member Accounts — Enabled & Licensed
Display NameUPNStatusLicensed
Bryony Stephensonbryony@gable.groupEnabledYes
Chris Eatonchris.eaton@gable.groupEnabledYes
Chris Lockchris.lock@gablemortgages.comEnabledYes
Christine Whitechristine.white@gablemortgages.comEnabledYes
Dave Chapmandave.chapman@gablemortgages.comEnabledYes
David Newmandavid.newman@gablemortgages.comEnabledYes
Dominic Admindom.admin@gable.groupEnabledYes
Dominic Nel (Gable Group)Dominic@gable.groupEnabledYes
Gila Cruisegila.cruise@gable.groupEnabledYes
Holly Peyreholly.peyre@gablemortgages.comEnabledYes
Iman IbrahimIman.Ibrahim@gable.groupEnabledYes
Imran Azizimran.aziz@gablemortgages.comEnabledYes
James Sibleyjames.sibley@gablemortgages.comEnabledYes
Jayme Cesmanjayme@gable.groupEnabledYes
Johan Adminjohan.admin@gable.groupEnabledYes
Johan Slabbertjohan.slabbert@gable.groupEnabledYes
Johan VisserJohan.Visser@gable.groupEnabledYes
Joshua WeinsteinJW@gable.groupEnabledYes
Kaan Bayatkaan.bayat@gable.groupEnabledYes
Lisa CraneLisa.Crane@gable.groupEnabledYes
Lucy Barlowlucy.barlow@gablemortgages.comEnabledYes
Michael Nahonmichael.nahon@gable.groupEnabledYes
Mike Robinsonmichael@gable.groupEnabledYes
Pierre de Villierspierre.devilliers@gable.groupEnabledYes
Roberta Stankuteroberta.stankute@gablemortgages.comEnabledYes
Tolu Adefuye-Martintolu.martin@gable.groupEnabledYes
svc-powerautomatesvc-powerautomate@gable.groupEnabledYes
Notable Accounts — Flags
AccountUPNIssue
Connexus AdminConnexusAdmin@gable.groupGlobal Admin + Security Admin — Third Party
Pax8 AuditPax8@gable.groupThird-party MSP account — enabled, no licence
Service Blueappservice.blueapp@gable.groupService account — unknown application, enabled
GFOUR Workgfourwork@gable.groupThird-party (The Fourths) account in tenant, disabled
Michael Robinsonmichael.robinson@gable.groupDuplicate — also exists as michael@gable.group (enabled)
Mick Gorhammick@gable.group (disabled, licensed)
mick.gorham@gablesure.com (disabled)
Two accounts — one licensed but disabled, wasting licence
Okan GezgenOkan@gable.groupDisabled but licensed — unused licence
Trevor WilsonTrevor@gable.groupDisabled but licensed — unused licence
Rosemarie MansiRosemarie@gable.groupDisabled but licensed — unused licence
Surita Lagahsurita.lagah@gablemortgages.comDisabled but licensed — unused licence
Adminadmin@gable.groupBreak-glass admin — disabled, no licence (correct)
John Doejohn.doe@gable.groupTest/placeholder account — disabled
MDM Servicemdm.service@gable.groupMobile Device Management service account — disabled
SBC 1 / SBC 2sbc1@tvxteams... / sbc2@tvxteams...Telavox SIP trunks — expected, enabled
Guest Accounts — By Organisation
198 guest accounts from the following external organisations (enabled guests only are flagged; all are present in directory).
OrganisationDomainActive GuestsNotes
Bawag Groupbawaggroup.com / bawagpsk.com~20+Funding partner — high volume
Perennaperenna.co.uk / perenna.com~20+Most disabled — past engagement
Marathon Asset Mgmtmarathonfund.com3NDA partially executed
Blackstoneblackstone.com3Active
King Street Capitalkingstreet.com4Active
Balbec Capitalbalbec.com4Mixed active/inactive
AB CarValabcarval.com5Mixed
Chenavarichenavari.com3Active
Guy Carpenterguycarp.com4Active — reinsurance broker
Axis Capitalaxiscapital.com3Active
Arini Capitalarini.com4Active
Waterfall AMwaterfallam.com3Mixed
Viola Creditviolacredit.com1Inactive
Sculptor Capitalsculptor.com2Mixed
DKP / Findoxdkp.com / findox.com3Active
MMBS (Monmouthshire BS)mmbs.co.uk1 (Jamie Hyland)Active — data partner
Dudley Building Societydudleybuildingsociety.co.uk2Active
Knab / ABN AMROknab.nl / nl.abnamro.com3Mixed
FintechOSfintechos.com1Inactive — supplier
Connexusconnexus.cloud1 (Nick Hatton)Active — IT MSP
Pepper Grouppeppergroup.co.uk2Active
HPS Partnershpspartners.com2Active
Grant Thorntonuk.gt.com1Inactive — auditors
Rock CSProckcsp.com11 disabled
Zanoo Consultingzanooconsulting.co.ukMixedInactive
Target Grouptargetgroup.comMixedLoan servicer
BHO (Blue Halo)bho.co.ukMixedStaff with personal BHO accounts
Personal (Gmail, Hotmail, Outlook)gmail.com / hotmail.co.ukSeveralConsumer email in tenant — risk
Global Administrator Members
Display NameUPNEnabledAssessment
Connexus AdminConnexusAdmin@gable.groupYesCRITICAL — Third-party MSP
Johan Adminjohan.admin@gable.groupYesInternal — dedicated admin account (correct pattern)
Dominic Admindom.admin@gable.groupYesInternal — dedicated admin account (correct pattern)
Security Administrator Members
Display NameUPNEnabledAssessment
Connexus AdminConnexusAdmin@gable.groupYesCRITICAL — Same third-party MSP holds both Global Admin and Security Admin
All Active Directory Roles (27)
The following roles are provisioned in the tenant. Members of sensitive roles beyond Global Admin and Security Admin were not enumerated in this pass.
RoleRisk Level
Global AdministratorCritical
Privileged Authentication AdministratorCritical
Privileged Role AdministratorCritical — No members assigned
Security AdministratorHigh
Exchange AdministratorHigh
SharePoint AdministratorHigh
Teams AdministratorMedium
Compliance AdministratorMedium
Intune AdministratorMedium
User AdministratorMedium
Application AdministratorMedium
Authentication AdministratorMedium
Authentication Policy AdministratorStandard
Billing AdministratorStandard
Cloud App Security AdministratorStandard
Hybrid Identity AdministratorStandard
License AdministratorStandard
Power Platform AdministratorStandard
AI AdministratorStandard
Helpdesk AdministratorStandard
Service Support AdministratorStandard
Teams Communications AdministratorStandard
Cloud Device AdministratorStandard
Directory ReadersStandard
Directory WritersStandard
Global ReaderStandard
Azure AD Joined Device Local AdministratorStandard
No PIM (Privileged Identity Management) detected
There is no evidence of Privileged Identity Management (PIM) being used. All privileged role assignments appear to be permanent. For a regulated financial services firm, persistent Global Admin assignments — particularly to a third party — represent a standing attack surface and a governance gap under FCA Senior Managers & Certification Regime (SMCR) accountability expectations.
Action: Evaluate Entra ID P2 licensing to enable PIM. Move all privileged roles to just-in-time activation with approval and MFA challenge. At minimum, remove Connexus from standing Global Admin.
Security Defaults
OFF
Disabled
Conditional Access
7 Policies
4 enforced · 3 report-only
MFA Registered
44%
24 of 54 sampled
MFA Campaign
Active
Snooze-able (default)
Authentication Methods
MethodStateAssessment
Microsoft Authenticator (TOTP/push)EnabledCorrect — primary MFA method
FIDO2 Security KeysEnabledGood — phishing-resistant option available
Software OATH TokensEnabledAcceptable fallback
SMS OTPEnabledWeak — SIM-swap risk. Consider restricting to fallback only.
Email OTPEnabledWeak — only as strong as email account security
Temporary Access Pass (TAP)DisabledCorrect — should remain disabled or tightly controlled
Voice Call OTPDisabledCorrect — deprecated method
Hardware OATH TokensDisabledAcceptable if not needed
X.509 Certificate AuthDisabledFine for current maturity
MFA Registration Campaign
SettingValueAssessment
StatedefaultNot enforced — users can snooze indefinitely
Snooze duration1 dayLow friction — users will defer
Force after all snoozesTrueWill eventually enforce
TargetAll users → Microsoft AuthenticatorCorrect target
Conditional Access Policies (7)
PolicyStateScopeControls
Require MFA for all users Enforced All users · All apps MFA
Block legacy authentication Enforced All users · All apps Block
Securing security info registration Enforced All users · All apps MFA
Require MFA for admins Enforced Admin roles · All apps MFA
Require MFA for guest access Report-only Guests · Specific app MFA (not enforced)
Block legacy authentication (duplicate) Report-only All users · All apps Block (not enforced — redundant)
Require MFA for external users (failsafe) Report-only External users · All apps MFA (not enforced)
Sign-in Log Analysis (200 interactive sign-ins, last 5 days)
Successful Sign-ins
169
of 200 sampled
Failed Sign-ins
31
15.5% failure rate
Legacy Auth
0
Block policy working
Risk Events
None
All sign-ins: risk = none
MetricValueAssessment
Sign-in geographyGB: 149  ·  ZA: 49  ·  PT: 1  ·  US: 1Expected — UK primary, SA seconday
MFA policy applied (all users)138 success · 14 not applied14 sign-ins bypassed — investigate
MFA policy applied (admins)26 success · 126 not applicableAdmin MFA enforcing correctly
Guest MFA policy150 report-only (not applied)Not enforced — guests have no MFA gate
Legacy auth attempts0Block policy confirmed effective
Invalid credential failures11Monitor — potential credential stuffing probe
Disabled guest sign-in attempts5Disabled guests attempting access — confirm offboarding complete
Top applicationsOffice365 Shell · M365 Copilot · Windows Sign In · SharePointExpected for M365 tenant
MEDIUM — Guest and external user MFA policies not enforced (report-only)
Two CA policies covering MFA for guests and external users are in report-only mode. Sign-in logs confirm: 150 guest sign-ins show the policy as "reportOnlyNotApplied" — guests are not required to authenticate with MFA. With 198 guest accounts (more guests than members) and multiple regulated financial counterparties in the tenant, this is a meaningful exposure.
Action: Promote both guest/external MFA policies from report-only to enforced. Test with a guest account first. Also remove the duplicate "Block legacy authentication (report-only)" policy — it duplicates the enforced version and creates policy management noise.
LOW — 14 sign-ins bypassed the "Require MFA for all users" policy
Of 200 sampled sign-ins, 14 show the all-users MFA policy as "notApplied." This may be due to trusted named locations, compliant device exemptions, or service account exclusions. Without a policy exclusion audit, this cannot be confirmed as intentional.
Action: Review the CA policy exclusions on "Require MFA for all users." Confirm each exclusion is deliberate and documented. Remove any stale exclusions.
Subscribed SKUs
SKUUsedTotalSpareStatus
Microsoft 365 Business Premium (SPB)121644 unused — includes Entra P1 + Intune + Defender
Microsoft 365 Copilot81466 unused Copilot licences — significant cost
O365 Business Essentials16182Near full utilisation
Teams Phone (MCOEV)550Fully utilised
Power BI Pro220Fully utilised
Visio Client220Fully utilised
Visio Plan 2 (Dept)110Fully utilised
Project Professional1211 unused
Power BI Standard (Free)51,000,000Free tier — fine
Power Automate Free2010,000Free tier — fine
Defender for Servers011Unused — verify if needed
6 unused Microsoft 365 Copilot licences
Microsoft 365 Copilot is priced at approximately £25–£30/user/month (as of 2026). 6 unused licences represents approximately £1,800–£2,160/month in unrecovered spend. If these are assigned to disabled or departed users (e.g. Mick Gorham, Trevor Wilson, Okan Gezgen), they should be reclaimed immediately.
Action: Audit which users hold Copilot licences. Remove from any disabled or non-active accounts. Re-assign to active users who will benefit.
NOTE — SPB includes Entra ID P1 (Conditional Access)
Microsoft 365 Business Premium includes Entra ID P1, which enables Conditional Access policies. Gable has 16 SPB licences. This means Conditional Access is available today with no additional licensing cost — it simply has not been configured.
Verified Domains (11)
DomainDefaultAuth TypeNotes
gable.groupYesManagedPrimary tenant domain
gablemortgages.comNoManagedGable Mortgages Ltd brand domain
gablesure.comNoManagedGable Sure Ltd brand domain
gablesure.co.ukNoManagedGable Sure Ltd UK domain
gablefs.comNoManagedGable Financial Services domain — no active accounts observed
charcoltd.comNoManagedCharco/Charcol Holdings domain
gablegroup.globalNoManagedGroup-level global domain
gablegroup.onmicrosoft.comNoManagedMicrosoft default domain — always present
AKZP74CQHPHRVSST0C5AF3CKCK.excl.cloudNoManagedVendor domain verification token — likely email security vendor (Mimecast/Proofpoint)
tvxteams301158-sbc1.sfbcust.telavox.seNoManagedTelavox SIP trunk for Teams Phone
tvxteams301158-sbc2.sfbcust.telavox.seNoManagedTelavox SIP trunk for Teams Phone (redundant)
gablefs.com — no active accounts observed
The domain gablefs.com is verified in the tenant but no user accounts using this domain were observed in the user list. If this entity is active, accounts should use the domain. If it is dormant or a reserved brand domain, it should be documented as such.
charcoltd.com — naming inconsistency
The SharePoint folder structure references "Charco Holdings" while the verified domain is charcoltd.com. This may indicate a trading name vs registered name distinction, or a legacy domain. Should be verified and documented.
Prioritised Recommendations
#PriorityRecommendationEffort
1 Critical Promote guest and external user MFA policies from report-only to enforced. Core CA policies (MFA for all users, block legacy auth, admin MFA) are already enforced and working. The gap is guests — 198 external accounts have no MFA gate. Promote the two report-only guest/external MFA policies and remove the duplicate report-only legacy auth policy. Low (1–2 hours)
2 Critical Remove Connexus from Global Administrator and Security Administrator roles. Scope their access to the minimum required for IT support (e.g. Helpdesk Administrator, specific service admin roles). If break-glass Global Admin access for Connexus is genuinely required, implement a time-limited, audited process — not a standing assignment. Low (<1 hour)
3 High Enforce MFA registration. Change the MFA campaign state from "default" (snooze-able) to "enabled" (enforced). Set a deadline for all active users to register. Block sign-in for users who have not registered within 14 days. Low (1 hour)
4 Medium Implement guest access review. Configure Entra ID Access Reviews for all guest accounts on a quarterly cadence. Remove or expire guests from inactive counterparties. As a minimum, immediately review all guests from organisations with no current active relationship. Medium (1 day)
5 Medium Reclaim licences from disabled accounts. At least 4 disabled users hold licences (Mick Gorham, Trevor Wilson, Okan Gezgen, Rosemarie Mansi, Surita Lagah). Reclaim immediately. Audit all 6 unused Copilot licences — if assigned to inactive users, reclaim and reassign or cancel. Low (1 hour)
6 Medium Define and run a disabled account clean-up policy. Accounts disabled for more than 90 days should be deleted (after confirming no mailbox preservation requirement). This reduces the attack surface and cleans the directory. 185 disabled accounts is excessive. Medium (half day)
7 Medium Assign Privileged Role Administrator role to a named internal account. No external or third-party should hold this role. This creates a separation of duties for role management. Low (<1 hour)
8 Medium Remove personal email guest accounts (Gmail, Hotmail, Yahoo, Outlook.com). Consumer email addresses should not have guest access to a regulated financial services tenant. These provide no accountability trail and could bypass corporate monitoring. Low (1 hour)
9 Medium Investigate service.blueapp@gable.group. This enabled service account has an unknown purpose. Identify the application, confirm it is still in use, and document the service account against an owner. Low (<1 hour)
10 Low Disable SMS as a standalone MFA method. SMS OTP is susceptible to SIM-swap attacks. Where Microsoft Authenticator or FIDO2 is available, SMS should be a fallback only — consider configuring Entra authentication strengths to exclude SMS for high-value operations. Low (1 hour)
11 Low Verify Pax8 account purpose. Pax8@gable.group is an enabled, unlicensed account for the IT procurement platform. Confirm whether this is required and document its purpose. If not needed as a tenant account, disable and remove. Low (<1 hour)
12 Low Clarify gablefs.com and charcoltd.com domain ownership and use. Ensure both domains are covered by the same DMARC / email security configuration as primary domains. Low (1 hour)
Audit Scope & Limitations
This audit was conducted using a read-only app registration (TheFourths-AuditReader) with 25 delegated Graph API scopes. The following areas were not in scope or were inaccessible with the current app permissions: