Skip to content

What access the application has in SharePoint

All

Anyone asked to approve the SharePoint connection will rightly ask: how much is the application allowed to see? This page answers that in a form you can hand to your data protection officer.

The technical term for this is delegated access. Its counterpart — application permissions, where a service accesses everything independently of any user — appears nowhere in the product.

Sign-in sequence: CompanyWizard requests a token from Microsoft Entra on behalf of the signed-in user; only Microsoft ever sees the password, and SharePoint returns nothing but the documents that user is already allowed to see. On the web the sign-in is then kept encrypted on the server per user, in the desktop application on the device itself. Sign-in sequence: CompanyWizard requests a token from Microsoft Entra on behalf of the signed-in user; only Microsoft ever sees the password, and SharePoint returns nothing but the documents that user is already allowed to see. On the web the sign-in is then kept encrypted on the server per user, in the desktop application on the device itself.

The same flow in words:

Once, up front, an administrator grants consent for the organization. After that, every access works like this:

A user wants to pick a SharePoint document in CompanyWizard. CompanyWizard therefore requests a sign-in from Microsoft Entra — explicitly with read permissions only. Entra shows the user the sign-in and consent page; they enter their credentials directly with Microsoft. Only Microsoft ever sees the password — CompanyWizard never receives it at any point.

Microsoft then hands CompanyWizard an access token issued on behalf of that user. With that token — and only with it — CompanyWizard reads documents from SharePoint. SharePoint returns nothing but what that user may already see, and the selection is shown to them.

There is no standalone access: without a signed-in user, CompanyWizard sees nothing in SharePoint.

The flow above shows day-to-day operation — it is identical in both sign-in modes. Before it comes the one-off setup, and that is where the only difference between the modes lies.

Two-phase flow: during setup an administrator grants organization-wide consent once — against the evanto registration with quick start, against your own with your own app. During operation every user signs in with their own account and receives a token issued in their name; that part is identical in both modes. The sign-in itself is kept on the server on the web, encrypted and per user, and on the device on the desktop. Two-phase flow: during setup an administrator grants organization-wide consent once — against the evanto registration with quick start, against your own with your own app. During operation every user signs in with their own account and receives a token issued in their name; that part is identical in both modes. The sign-in itself is kept on the server on the web, encrypted and per user, and on the device on the desktop.

Setup — once, with administrator rights. An administrator picks the mode and grants the organization-wide consent — usually on the first “Connect to Microsoft”, by ticking “Consent on behalf of your organization” in Microsoft’s sign-in dialog. With your own app this can alternatively be done in the Entra portal, and the provisioning assistant grants the consent itself. A separate approval page only remains as a fallback, if the consent is missing when connecting. What they consent to depends on the mode:

ModeThe consent applies to the app registration …Visible afterwards under
Quick startof evanto (multi-tenant)Entra → Enterprise applications → “CompanyWizard”
Your own appof your own organizationEntra → App registrations and → Enterprise applications

In both cases an enterprise application is created in your directory — that is the entry the consent hangs on, and where you can revoke it at any time.

Operation — every user, no administrator rights. From here the flow is identical to the one described above: each person signs in with their own account and sees nothing but what they may see anyway.

The flow above is the same in both modes of operation — what differs is where the sign-in is kept afterwards.

Web (browser)Desktop
Kepton the server, encrypted and separately per useron the device, in the operating system’s credential store
Reachthe user account — valid on every device and in every browserthe device — machine-wide, regardless of which CompanyWizard account is signed in
Stored in the browsernothing; access tokens are fetched only for the moment of the request—

On the web, one sign-in is therefore enough: folder picker, interactive import, connection test and the scheduled syncs all use the same connection. The SharePoint permissions are granted in the same consent as the Graph permissions — one pass, not two.

Scheduled syncs run with the connection of the owner of the configuration in question. Another administrator connecting does not help that run. → Set up knowledge sync

Signing in again becomes necessary when the consent was revoked in Entra, when password or policy conditions changed, when the app registration was switched, when the SharePoint address points at a different tenant — or when the connection still dates from before the change and does not carry the SharePoint permission. You can tell from the status “Sign-in required” on the affected sync and from the line “Connected as …, but without SharePoint permission” on the connection card.

Disconnecting removes the connection completely — it is a single sign-in, so disconnecting applies to calendar and SharePoint at once. Your own scheduled syncs pause on their next run until you connect again.

All permissions are delegated and read-only. Not a single write permission is requested.

PermissionWhat it means
User.ReadRead the signed-in user’s own profile (name, email) — so the application knows who is signed in.
Files.Read.AllRead files the signed-in user has access to. Not: all files in the organization.
Sites.Read.AllRead SharePoint sites the signed-in user may already see. Not: all sites.
offline_accessRenew the sign-in across sessions, so the user does not have to sign in again on every access.
AllSites.ReadThe SharePoint counterpart to Sites.Read.All for the classic SharePoint interface.
MyFiles.ReadRead the signed-in user’s personal OneDrive.

Organization-wide consent is the step most often misunderstood in data protection reviews.

It merely replaces individual consent: without it, every user would have to consent themselves on first access. With it, that dialog is gone. What a user may see is still decided solely by SharePoint, based on their permissions.

What the consent does not do:

  • It gives the application no permissions of its own on documents.
  • It allows no access without a signed-in user.
  • It lifts no SharePoint permission and extends none.
  • It permits no writing, changing or deleting — read access only is requested.

The consent can be revoked at any time: an administrator removes the enterprise application in Microsoft Entra, after which no token can be obtained.

The only place with write access: the provisioning assistant

Section titled “The only place with write access: the provisioning assistant”

For completeness — and because this is the page handed to data protection: there is one function that is briefly allowed to do more than read.

Anyone who does not want to create their own app registration by hand in the Entra portal can have CompanyWizard create it (provisioning assistant, desktop only, mode “Your own app” only). To do so, the application requests two write permissions on the directory when the assistant starts — Application.ReadWrite.All and DelegatedPermissionGrant.ReadWrite.All.

What applies here:

  • They are requested only at the moment an administrator starts the assistant — never in advance and never during day-to-day operation.
  • They concern the directory only (app registrations and consents), not SharePoint, OneDrive or documents.
  • They are handed back after the run, and the application then reads back whether they have really disappeared. If that fails, it says so visibly with the path to check, instead of reporting success.
  • They are optional: anyone who does not use the assistant never sees these permissions. The manual path through the Entra portal remains right beside it, unchanged.

Every detail — the flow, the visibility conditions, what to do if handing them back fails — is on Set up the Microsoft/SharePoint connection.

A tenant administrator can decline individual permissions during consent. If they withhold Sites.Read.All, nothing breaks:

  • The connection keeps working.
  • The file picker is limited to the user’s personal OneDrive.
  • Team sites do not appear in the picker.
  • Users see a note, not an error.

This is a deliberately built fallback, not a fault. The test button in system settings reports this situation in plain language → Error messages.

Access does not end at reading — the documents then go through the same safeguards as any other import:

Important for the assessment: SharePoint permissions do not automatically carry over into the knowledge base. Once a document has been published there, CompanyWizard’s roles and confidentiality levels decide who sees it. Anyone approving a SharePoint source should design that transition deliberately.