Findings report
What we found
plain-language summaryThis tenant has been operating without consistent identity-perimeter hygiene for several years. The audit identified seven critical findings and twenty-three non-critical findings across six Microsoft surfaces in 29 minutes 43 seconds.
Three of the seven critical items concentrate around legacy authentication and identity drift: basic-auth protocols remain enabled tenant-wide, a long-standing conditional access policy never moved out of report-only, and a service principal with system-administrator privileges has no second factor and was last used yesterday. Two more critical items involve Power BI and Power Automate flows reaching destinations outside the company's stated allowlist, including known transient-webhook providers.
None of the findings indicate an active breach. All can be remediated by an in-house IT team with admin-level access to the Microsoft 365 admin center, Azure portal, and Power Platform admin center. Estimated total remediation effort is twelve to twenty engineering hours.
Findings by surface
30 entries · grouped, severity-sortedMicrosoft Graph
1 crit · 2 non-critGuest users with directory-write privileges
External accounts can modify directory objects, including creating users, resetting passwords, and assigning roles. One of the three accounts is at a domain that no longer resolves, suggesting the original recipient is no longer reachable but the account remains active.
Revoke directory-write roles from all three guests. Reach via secondary channel if access is still required. Block guest assignment to Directory Writers at policy level.
Service principals without credential expiry
Long-lived application secrets are a standard exfiltration target. None are exposed today, but a leaked secret will remain valid indefinitely.
Rotate the four oldest secrets this quarter. Adopt managed identities for the two SPNs that run inside Azure.
Applications consenting to non-standard scopes
Mail.ReadWrite grants the app the ability to read and write every mailbox in the tenant. Even reputable apps should be reviewed against current need.
Re-confirm business need with the requesting users. Downgrade to Mail.Read where read-only is sufficient.
Azure AD
2 crit · 6 non-critLegacy authentication protocols still enabled tenant-wide
Basic-auth protocols bypass conditional access and MFA. Microsoft retired basic-auth for new tenants in 2022; manual re-enablement is the only way it remains active.
Disable basic-auth in the authentication methods policy. Audit the four recent users to identify which app or device required it.
Conditional access policy in report-only since 2023
The blocking policy has been validated by 1,847 report-only matches but never moved to enforcement. The intent was clear; only the toggle is missing.
Move both policies to enabled after a 7-day notice window. Both have substantial report-only signal.
Named locations include broad CIDR ranges
RFC1918 ranges as trusted locations effectively whitelist anything reaching the policy from inside any private network. The intended scope was almost certainly narrower.
Replace with the company's actual public egress CIDRs. Confirm with networking before saving.
Dataverse
2 crit · 3 non-critService principal with system-admin role and no MFA
An automation account with the highest Dataverse role, a three-year-old secret, and no second factor. Currently active in production.
Migrate to a managed identity. If that is blocked, rotate the secret and scope the role down to System Customizer or a narrower table-level role.
Tables with org-wide read on personal data
Every authenticated user in this Dataverse environment can read every Account and Contact row. May be intentional; flagged so the owner can confirm.
Confirm with the Dataverse environment owner. If unintended, replace with business-unit or owner-level read.
Power BI, Power Automate, Power Apps
2 crit · 12 non-critScope and methodology
what was and wasn't checkedIn scope
- Microsoft Graph identity and consent users, guests, applications, oauth2 permission grants, role assignments
- Azure AD authentication policy conditional access, legacy auth, named locations, MFA enrolment
- Power Platform export and connectors flow ownership, connector destinations, DLP policy posture
- Power BI sharing surface workspaces, public links, dataset ownership, refresh state
- Dataverse roles and table privileges system roles, service principals, table-level org-wide reads
Out of scope
- Endpoint posture Intune, Defender for Endpoint, device compliance
- Mailbox content no message bodies or headers were read
- SharePoint and OneDrive file-level access aggregate counts only, no file contents inspected
- Third-party SaaS connected via SSO identified but not probed
- Anything requiring write or elevated impersonation this audit performs no writes against any surface
Generated by
Databa v0.3.1build sha a37e91c·signed
run on SURFACE-IT-04 / Windows 11 23H2
runtime: Tauri 2 webview
Report integrity
run_id 8c2e-4a3f-2c91report sha256 b914 cf02 1a7d 8e6c · 4f29 3a91 0d77 e8b1 · 25cf 5e88 6b3a 1042 · af71 0c83 9d44 2e6f
written to %LOCALAPPDATA%\databa-audit\reports\2026-05-15T19-42-03Z.html
operator clock 2026-05-15 20:11:46 UTC
This report is a static HTML artifact. No data leaves this machine.