# MetaOffice Pro

We understand that our customers need to be confident using MetaOffice Pro, and be aware of our data collection practices.

Note

This section is subject to change and we recommend that you check back quarterly for updates.

# Data Management Practices

Through the implementation of its different features, MetaOffice Pro access, processes and stores several kind of data:

  • Office configuration
  • Video/Audio configuration
  • Users data

Here is how we're managing data for these different categories:

Data Accessed Cached Stored Backup Notes
User profiles 🚫 Accessed and updated after each login.
Stored as long as the organization is active.
Office Configuration 🚫 Accessed and updated after creation of a tab.
Stored as long as the organization is active.
Video / Audio configuration 🚫 Accessed at each connection
Stored as long as the organization is active.
User data 🚫 🚫 Users data (AAD ID, UPN).
Stored as long as the organization is active.
User presence 🚫 🚫 🚫 Users presence.
Accessed at each time the user connect to an office.
Teams channel 🚫 🚫 🚫 Name and unique ID of the channel.
No cache.
Stored as long as the organization is active.
Teams conversations 🚫 🚫 🚫 🚫 No access.
No cache.
No storage.
Teams files 🚫 🚫 🚫 🚫 No access.
No cache.
No storage.

# Microsoft Graph

Scope Description Justification Admin Consent Required
User.Read Retrieve the properties and relationships of user object. Allows MetaOffice Pro to read user information and to display it in the UI. No
OnlineMeetings.ReadWrite Create Teams meetings. Allows MetaOffice Pro to create a Teams meeting when a user meet an other one. No
Presence.Read.All Retrieve the presence of a user. Allows MetaOffice Pro to read user presence and to display it in the UI. No
Presence.ReadWrite Retrieve and set the presence of a user. Allows MetaOffice Pro to write the user presence. No
Team.ReadBasic.All Retrieve all Teams teams belongs to a user. Allows MetaOffice Pro to read user teams and to display offices in the UI. No
User.Read.All Retrieve the properties and relationships of all user objects. Allows MetaOffice Pro to read user information and to display it in the UI. Yes
TeamsActivity.Send Send an activity feed notification in the scope of a team Allows MetaOffice to send a notification in the activity feed No
TeamMember.Read.All Get the conversationMember collection of a team Allows MetaOffice to get the list of member in the team where the office tab is installed Yes
email Gives the app access to the user's primary email address in the form of the email claim No
openid Used to sign in with OpenID Connect
offline_access Gives thee app access to resources on behalf of the user for an extended time. When a user approves the offline_access scope, MetaOffice Pro can receive refresh tokens from the Microsoft identity platform token endpoint. Refresh tokens are long-lived. MetaOffice Pro can get new access tokens as older ones expire. No
profile Gives the app access to basic information about the user in the claims. No

# Microsoft Graph limits

For some operation, Microsoft Graph limits apply for MetaOffice. This can have an impact on MetaOffice performance.

  • MetaOffice can make 2000 calls per second, across all tenants.

  • MetaOffice can create 2000 meetings per user per month.

  • MetaOffice can retrieve the presence of 1500 users every 30 seconds, across all tenants.

  • MetaOffice can send 5 notifications (activity) per second to a client, per tenant, or 50 per second all tenants.

  • MetaOffice can retrieve the teams of 30 users per second for a client,per tenant, or 300 per second across all tenants.

  • MetaOffice can retrieve the members of a team 60 times per second per tenant, or 1200 per second across all tenants.

In addition,Microsoft Graph apply another algorithm (token bucket) based on the complexity of the request. The maximum number of requests applies based on the number of users in the tenant (opens new window).

All the limits are available here (opens new window)

# Azure communication services

Scope Description Justification Admin Consent Required
Teams.ManageCalls Manage calls in Teams. Allows MetaOffice Pro Create Teams Meeting in behalf of the user No
Teams.ManageChats Manage chats in Teams. Allows MetaOffice Pro to create group chat in behalf of the user. No

TIP

The Azure AD App ID is: 9fcafdeb-1249-4000-9e96-38e848a963d2

# Architecture and flow diagram

MetaOffice Pro architecture

# Resource Endpoints

All the traffic from and to the TeamsPro platform uses HTTPS protocol on port 443. Here is a short description of each flow:

Name Comments
metaoffice.teams-pro.com for the apps including help contents
.msecnd.net and *.visualstudio.com for performance metrics analysis

# Dependencies

# Server

Name Version Url License
Microsoft.Azure.WebJobs.Extensions.ServiceBus 5.2.0 https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.ServiceBus https://licenses.nuget.org/MIT
Microsoft.NET.Sdk.Functions 4.1.1 https://www.nuget.org/packages/Microsoft.NET.Sdk.Functions
Microsoft.Azure.Functions.Extensions 1.1.0 https://www.nuget.org/packages/Microsoft.Azure.Functions.Extensions https://licenses.nuget.org/MIT
Microsoft.Extensions.DependencyInjection 6.0.1 https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection https://licenses.nuget.org/MIT
Microsoft.Extensions.Http 6.0.0 https://www.nuget.org/packages/Microsoft.Extensions.Http https://licenses.nuget.org/MIT
Microsoft.Extensions.Http.Polly 6.0.15 https://www.nuget.org/packages/Microsoft.Extensions.Http.Polly https://licenses.nuget.org/MIT
Polly.Extensions.Http 3.0.0 https://www.nuget.org/packages/Polly.Extensions.Http https://licenses.nuget.org/BSD-3-Clause
Polly 7.2.3 https://www.nuget.org/packages/Polly https://licenses.nuget.org/BSD-3-Clause
System.Text.Json 7.0.1 https://www.nuget.org/packages/System.Text.Json https://licenses.nuget.org/MIT
Azure.Messaging.ServiceBus 7.13.1 https://www.nuget.org/packages/Azure.Messaging.ServiceBus https://licenses.nuget.org/MIT
Azure.Storage.Blobs 12.3.0 https://www.nuget.org/packages/Azure.Storage.Blobs https://licenses.nuget.org/MIT
Microsoft.AspNetCore.SpaProxy 6.0.10 https://www.nuget.org/packages/Microsoft.AspNetCore.SpaProxy https://licenses.nuget.org/MIT
AdaptiveCards.Templating 1.4.0 https://www.nuget.org/packages/AdaptiveCards.Templating https://www.nuget.org/packages/AdaptiveCards.Templating/1.4.0/License
Azure.Communication.Identity 1.2.0 https://www.nuget.org/packages/Azure.Communication.Identity https://licenses.nuget.org/MIT
Microsoft.ApplicationInsights 2.21 https://www.nuget.org/packages/Microsoft.ApplicationInsights https://licenses.nuget.org/MIT
Microsoft.AspNetCore.Authentication.AzureAD.UI 6.0.10 https://www.nuget.org/packages/Microsoft.AspNetCore.Authentication.AzureAD.UI https://licenses.nuget.org/MIT
Microsoft.Azure.SignalR 1.18.3 https://www.nuget.org/packages/Microsoft.Azure.SignalR https://licenses.nuget.org/MIT
Microsoft.Bot.Builder 4.18.1 https://www.nuget.org/packages/Microsoft.Bot.Builder https://licenses.nuget.org/MIT
Microsoft.Bot.Builder.Integration.AspNet.Core 4.18.1 https://www.nuget.org/packages/Microsoft.Bot.Builder https://licenses.nuget.org/MIT
Microsoft.EntityFrameworkCore 6.0.10 https://www.nuget.org/packages/Microsoft.EntityFrameworkCore https://licenses.nuget.org/MIT
Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.10 https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore https://licenses.nuget.org/MIT
Microsoft.Graph 5.11.0 https://www.nuget.org/packages/Microsoft.Graph https://www.nuget.org/packages/Microsoft.Graph/5.11.0/License
SendGrid 9.28 https://www.nuget.org/packages/SendGrid https://licenses.nuget.org/MIT
SkiaSharp 2.88.3 https://www.nuget.org/packages/SkiaSharp https://github.com/mono/SkiaSharp/blob/main/LICENSE.md
Swashbuckle.AspNetCore 6.5.0 https://www.nuget.org/packages/Swashbuckle.AspNetCore https://licenses.nuget.org/MIT

# Client

Name Version Url License
@azure/communication-calling ^1.10.0-beta.1 https://www.npmjs.com/package/@azure/communication-calling MICROSOFT SOFTWARE LICENSE TERMS
@azure/communication-chat ^1.3.0 https://www.npmjs.com/package/@azure/communication-chat MIT
@azure/communication-common ^2.2.0 https://www.npmjs.com/package/@azure/communication-common MIT
@azure/communication-react ^1.4.1 https://www.npmjs.com/package/@azure/communication-react MIT
@fluentui/react-northstar ^0.64.0 https://www.npmjs.com/package/@fluentui/react-northstar MIT
@microsoft/applicationinsights-react-js ^3.4.1 https://www.npmjs.com/package/@microsoft/applicationinsights-react-js MIT
@microsoft/applicationinsights-web ^2.8.11 https://www.npmjs.com/package/@microsoft/applicationinsights-web MIT
@microsoft/microsoft-graph-client ^3.0.2 https://www.npmjs.com/package/@microsoft/microsoft-graph-client MIT
@microsoft/signalr ^6.0.10 https://www.npmjs.com/package/@microsoft/signalr MIT
@microsoft/teams-js ^2.5.0 https://www.npmjs.com/package/@microsoft/teams-js MIT
@microsoft/teamsfx ^2.0.0-beta.0 https://www.npmjs.com/package/@microsoft/teamsfx MIT
@types/react ^17.0.52 https://www.npmjs.com/package/@types/react MIT
@types/react-dom ^17.0.18 https://www.npmjs.com/package/@types/react-dom MIT
@types/react-router-dom ^5.3.3 https://www.npmjs.com/package/@types/react-router-dom MIT
@types/showdown ^2.0.0 https://www.npmjs.com/package/@types/showdown MIT
@types/uuid ^8.3.4 https://www.npmjs.com/package/@types/uuid MIT
@typescript-eslint/parser ^5.30.5 https://www.npmjs.com/package/@typescript-eslint/parser BSD-2-Clause
axios ^0.27.2 https://www.npmjs.com/package/axios MIT
copy-to-clipboard ^3.3.3 https://www.npmjs.com/package/copy-to-clipboard MIT
env-cmd ^10.1.0 https://www.npmjs.com/package/env-cmd MIT
eslint-config-react-app ^7.0.1 https://www.npmjs.com/package/eslint-config-react-app MIT
grid-engine ^2.23.0 https://www.npmjs.com/package/grid-engine Apache 2.0
image-conversion ^2.1.1 https://www.npmjs.com/package/image-conversion MIT
nipplejs ^0.10.0 https://www.npmjs.com/package/nipplejs MIT
phaser ^3.55.2 https://www.npmjs.com/package/phaser MIT
react-chartjs-2 ^4.3.1 https://www.npmjs.com/package/react-chartjs-2 MIT
react ^17.0.2 https://www.npmjs.com/package/react MIT
react-dom ^4.3.1 https://www.npmjs.com/package/react-dom MIT
sass ^1.45.0 https://www.npmjs.com/package/sass MIT
showdown ^1.9.1 https://www.npmjs.com/package/showdown MIT
toastr ^2.1.4 https://www.npmjs.com/package/toastr MIT
uuid ^8.3.2 https://www.npmjs.com/package/uuid MIT