Permissions Lemhi's application receives
The Microsoft permissions Lemhi's application is granted in each client tenant, what Lemhi reads, and quick answers for security reviewers.
Written By The Lemhi Product Team
Last updated 10 days ago
This is the reference to hand your security reviewer before you connect clients to Lemhi. It covers the Microsoft permissions Lemhi's application receives and what Lemhi does and never does with them. The GDAP roles you delegate are in GDAP roles Lemhi needs and why. For encryption, hosting, retention, and sign-in controls, see the full Lemhi Security and Privacy Overview.
Permissions Lemhi's application receives
Two consent events happen. First, every MSP user signs in with a basic grant. Second, your administrator accepts a scanning grant once through Partner Connect. Lemhi then applies that grant to each client tenant you import, using Microsoft's partner pre-consent mechanism and the GDAP roles. All permissions are delegated.
MSP sign-in (every Lemhi user)
Granted to every connected client tenant
Microsoft Graph
Other Microsoft services
Granted only when an optional feature is turned on
These permissions are added to the grant only when the matching feature is enabled for your organization. If it's off, the permission isn't requested.
A note on write-named scopes
Two baseline permissions have names that suggest write access: Exchange.Manage and Machine.ReadWrite. Microsoft doesn't publish narrower read-only versions for these endpoints. Lemhi calls no write operations through either one.
Lemhi writes into a client tenant in exactly two places, and both run only when your administrator takes the action:
Managed Agents (Dataverse). Lemhi creates and publishes the Copilot agents you build in Lemhi, and nothing else.
Client Configuration, when enabled. Lemhi applies the specific setting change your administrator chose.
Every assessment and scan is read-only.
What Lemhi reads, and what it never reads
Reads: identity and directory data, licensing, configuration and policy definitions, security posture signals, an inventory of existing Copilot and AI agents, and Microsoft's pre-summarized usage reports.
Never reads:
Email contents or previews
SharePoint or OneDrive file contents
Teams chat or channel messages
Calendar details
OneNote, Planner, or Tasks contents
The messages or files behind a DLP or retention match (Lemhi sees that the policy exists, not what it flagged)
Lemhi doesn't subscribe to push notifications of user activity. It reads on demand or on a scheduled scan.
Audit and revocation
Auditable. Lemhi's calls run as your delegated administrator through the GDAP relationship, so they show up in the client's Microsoft 365 audit logs.
Revocable by the client. The client can end the partner relationship at any time: Microsoft 365 admin center > Settings > Partner relationships.
Revocable by you. Disconnect a client in Lemhi to remove Lemhi's consent in that tenant, keeping prior assessment results. Remove Lemhi's consent in your own Entra ID, or disconnect Partner Connect in Lemhi, to cut off every client at once. Disconnecting Partner Connect also deletes the stored refresh credentials behind it.
See Disconnect a client or revoke Lemhi's access for each route.
Quick answers for reviewers
Related
This describes Lemhi's permissions as of September 2026, for informational purposes; it is not a contractual commitment.
Was this helpful?
Still need help? Ask the team