MS Exchange Calendar - Privacy Documentation

The chapter "Data Starmind has access to" describes what data we read from O365 Calendar over MS Graph. We restrict access to the data as far as the API of MS Graph allows it. We also limit the amount of data from which Starmind can read. The connector filters the data which can not be excluded by access rights or the data is filtered by the endpoint we use. More details on this topic are in the chapter “Data Starmind learns”.

Data Starmind has access to

Starmind will authenticate over OAuth with a dedicated user. More details are available in the documentation of MS-Graph ( https://docs.microsoft.com/en-us/graph/auth/auth-concepts?view=graph-rest-beta ).

We request the following scope for the application as application permissions:

Allows the app to read the full set of profile properties, group membership, reports, and managers of other users in your organization, without a signed-in user.

📘

Permission Type

The MS Exchange Calendar Connector uses "Application permission"

ScopeDescription
User.Read.AllAllows the app to read the full set of profile properties, group membership, reports, and managers of other users in your organization, without a signed-in user.
Calendars.ReadFor every event where there are at least two persons attending, we will boost the organizer and all participants with the expertise we find in the description of the event.

Source: https://docs.microsoft.com/en-us/graph/permissions-reference

Sequence Diagram

The sequence diagram below shows which requests Starmind makes to the Graph API. In the subchapters, there are more details for each request to the Microsoft Graph API. The ID is corresponding with the number in the diagram.

The data used by the connector (listed in the tables in the chapters below) is not stored permanently. Some of the data points are not used on the connector level but are sent to Starmind. These data points have an “X” in the column Starmind in the chapters below. Starmind uses them to extract expertise topics from the data and assign them to the corresponding users. The expertise topics are stored permanently.

1600

List all users

Get all the users to learn from their calendars.

ID1
EndpointGET /v1.0/users
Query Parameter$select=id, mail
Documentationhttps://docs.microsoft.com/en-us/graph/api/user-list?view=graph-rest-1.0&tabs=http

Response

The list below includes all attributes which we are reading from the API.

FieldExampleDescriptionStarmind
mail[email protected]Send as an identifier for the user to Starmind.x
id0343a31e-0953-43b0-b235-4d1610191a37Used in the connector to identify the user.

List all new and updated calendars

This endpoint will list all changes on the calendar since the connector was running the last time.

ID2
EndpointGET /v1.0/users/{user_id}/events
Query ParameterlastModifiedDateTime
Documentationhttps://docs.microsoft.com/en-us/graph/api/calendar-list-calendarview?view=graph-rest-1.0&tabs=http

Response

The documentation of Microsoft shows all attributes which are returned by the endpoint: https://docs.microsoft.com/en-us/graph/api/resources/event?view=graph-rest-1.0

The list below shows which of the returned attributes are used by the connector or Starmind.

FieldExampleDescriptionStarmind
isCancelledFALSETo filter out events that no longer take place.
sensitivitynormal, personal, ...The field is required to include only data marked as “normal” in the learning. The rest is filtered out.
isOrganizerTRUETo check if the person is the organizer or attendee of the event. This information has an impact on the weight of the data in the know-how profile of the user.
seriesMasterIdCheck if it is a recurring event. The information has an impact on the weight of the data in the know-how profile of the user.
attendeesCount how many attendees there are in the event. Starmind will only learn if there are more than 1.x
subjectKick-off meetingThe subject of the event.x
bodyPreviewThe body of the event.X