Overview

Many SharePoint Framework solutions declare Microsoft Graph permissions that a tenant administrator has to approve on the API access page of the SharePoint admin center. Discussions is not one of them. The package declares no API permission requests, registers no application in Microsoft Entra ID and shows no consent prompt to users or administrators. Everything the web parts do — reading and writing boards, topics, replies, subscriptions, attachments and images, searching people for @mentions — goes through the SharePoint REST API of the site where the board lives, as the signed-in user.

This article states that fact for the security review, explains what an administrator does and does not see during installation, and lists the few things that do leave the tenant.

Summary for reviewers

QuestionAnswer
Microsoft Graph permissions requested by the package?None
Other API permissions (Azure DevOps, custom APIs)?None
Entries on the API access page after deployment?None — nothing to approve or reject
Microsoft Entra app registration or service principal of its own?None
Admin consent or user consent prompts?None
Identity used for data access?The signed-in user, for every request
APIs called?SharePoint REST API of the current site only
Application (app-only) permissions, service accounts, stored credentials?None
Content sent to Vitextra or third parties?None; only the license check and usage telemetry with technical identifiers
Custom script required on the site?No

What the solution calls

The web parts use the SharePoint Framework HTTP client, which sends every request with the identity of the current user. SharePoint applies the user's permissions to each call, exactly as it does for the list views in Site contents. The endpoints used are:

  • Lists and list items of the current site — to find the Discussions lists by their marker columns, to create them on first use (Manage Lists is needed for that one operation), and to read and write boards, topics, replies, subscriptions, likes, reports and approval statuses.
  • List item attachments — files attached to topics and replies.
  • Files and folders of the Discussions Assets document library — inline images of the rich text editor.
  • The people picker service of SharePoint — the suggestions shown after you type @, and resolving the chosen person to a site user. This is the same service the standard SharePoint people picker uses; it does not call Microsoft Graph.
  • The site's user information list — author names and the current user's id.

No request goes to Microsoft Graph, Exchange, Teams or any other Microsoft 365 service, and no e-mail is sent by the web part. The complete list of lists and columns is in KB10411. Where Discussions Stores Your Data: Lists, Columns and Privacy.

📝 Note
Because the user's own permissions apply, the web part cannot show anybody more than SharePoint would show them in the lists: readers see approved topics, moderators see pending ones, guests see what their site permissions allow. The role model is described in KB10408. Permissions in Discussions: Who Can Read, Post and Moderate.

What the administrator sees during installation

1. The package vitextra.discussions.sppkg is uploaded to the tenant App Catalog (or a site collection app catalog) and enabled with Enable app. The dialog lists the domain the scripts are loaded from and offers Add to all sites; it shows no permission section because the package declares none.

2. The API access page (SharePoint admin center → Advanced → API access) does not change: no request from Vitextra Discussions appears under Pending requests, and nothing has to be approved. If your organization keeps a record of approved API permissions, the entry for Discussions is simply "none requested".

No pending requests after deploying Discussions

No pending requests after deploying Discussions

3. The web part is added to a page like any other, and the first user with Manage Lists creates the board. Users never see a consent dialog.

Installation and update steps are the same as for every Vitextra product: KB10035. How to Install a Vitextra Product in SharePoint Online, KB10050. How to Update a Vitextra SPFx Solution in SharePoint Online and KB10361. Tenant App Catalog vs. Site Collection App Catalog: Where to Deploy Vitextra Apps. The general procedure for packages that do request permissions is in KB10360. How to Approve Microsoft Graph API Permissions for Vitextra Solutions in the SharePoint Admin Center; for Discussions that article is not needed.

❗ Important
If a request from Vitextra Discussions ever appears on the API access page after an update, it comes from a new version that declares it, and the release notes of that version will say so. Version 26.10.2 declares none.

The Microsoft Teams app

The Teams app package that the App Catalog generates for the tab and the personal app declares no Microsoft Graph scopes either. Its manifest references only SharePoint Online itself — the standard mechanism by which an SPFx tab signs the user in to the team site — and the usual SharePoint and Microsoft 365 sign-in domains. In the Teams admin center the app therefore shows no API permissions to grant. How to add the app to Teams is described in KB10393. How to Add Discussions to Microsoft Teams.

What leaves the tenant

PurposeWhat is sentWhere
Product filesAn ordinary browser request for the scripts and icons of the web partsstatic.vitextra.com
License checkThe Tenant ID, the object ID of the user, the site address and the identifier, name and version of the productvitextra.com
Usage telemetryAn event when a web part loads (product and version, site ID and address, the object ID of the user, the interface language, whether it runs in Teams) and technical details of errorsAzure Application Insights

No topic, reply, attachment, image, subscription or user list is sent to Vitextra or to any third party. The overview across Vitextra products, including data residency and GDPR, is in KB10363. Where Vitextra Products Store Your Data: Privacy, Data Residency and GDPR.

Where the e-mail permission lives

Discussions deliberately does not send e-mail, so it does not need Mail.Send or an application permission to send on behalf of a mailbox. The web part maintains the Discussions Subscriptions list and the Mentions column; delivery is the job of a Power Automate flow that a site owner sets up in their own environment. That flow uses the connections of the person who creates it — the SharePoint connection to read the lists and the Office 365 Outlook (or shared mailbox) connection to send — and the consent for those connections is given in Power Automate, under the governance your organization already applies to flows. The contract between the lists and the flow is described in KB10414. How Notifications Work in Discussions: Subscriptions, Mentions and Power Automate.

💡 Tip
For the security questionnaire: "The solution is a SharePoint Framework package that declares no API permission requests, has no Entra ID application of its own, calls only the SharePoint REST API of the hosting site with the signed-in user's delegated identity, stores all content in lists of that site, and sends only license and telemetry identifiers to the vendor." Every statement can be verified in the App Catalog, on the API access page and in the browser's network trace.

Featured Articles

Working with Folders in List Filter Online: Folder Navigation, Flat View and Breadcrumbs

How the Vitextra List Filter Online web part handles folders in SharePoint Online lists and libraries: the three folder modes, navigating folders with breadcrumbs, creating folders and uploading documents, coloring folders, and how filters, sorting, grouping and the Excel export behave in each mode.

76 8 min
Showing Recent Discussions on Any Page with the Discussions Activity Web Part

How to add and configure the Discussions Activity web part of Vitextra Discussions on a SharePoint Online page or in a Microsoft Teams tab: what the list of recent topics shows, choosing one board or all boards of the site, the Board page URL that turns titles into deep links, the Maximum items slider, the Show board name switch, why the web part hides itself when there are no topics, and how to use it on a home page or in Teams.

7 5 min
How to Export the Team Absence Calendar to CSV

Step-by-step guide to exporting the absences shown in the Vitextra Team Absence Calendar to a CSV file: which absences are included, the file name, UTF-8 encoding and semicolon separator, how to open the file in Excel, the exported columns and how private absence types are handled.

45 5 min

Share