You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Refresh low engagement articles
* Apply suggestion from review
Co-authored-by: Elizabeth Samuel <[email protected]>
---------
Co-authored-by: Elizabeth Samuel <[email protected]>
Copy file name to clipboardExpand all lines: docs/concepts/privacy-and-security.md
+44-10Lines changed: 44 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: Privacy and security for Office Add-ins
3
3
description: Learn about the privacy and security aspects of the Office Add-ins platform.
4
-
ms.date: 02/12/2025
4
+
ms.date: 06/17/2025
5
5
ms.localizationpriority: medium
6
6
---
7
7
@@ -66,10 +66,23 @@ You can make your Office Add-ins available to the public by publishing them to A
66
66
67
67
End users and IT admins can turn off [optional connected experiences in Office](/deployoffice/privacy/optional-connected-experiences) desktop and mobile clients. For Office Add-ins, the impact of disabling the **Optional connected experiences** setting is that users can no longer access add-ins or the Microsoft 365 and Copilot store through these clients. However, certain Microsoft add-ins that are considered essential or business-critical, and add-ins deployed by an organization's IT admin through [Centralized Deployment](/microsoft-365/admin/manage/centralized-deployment-of-add-ins) will still be available. Additionally, add-ins and the Microsoft 365 and Copilot store remain available in Outlook on the web, regardless of the status of the setting.
68
68
69
-
For more about Outlook-specific behavior, see [Privacy, permissions, and security for Outlook add-ins](../outlook/privacy-and-security.md#optional-connected-experiences).
70
-
71
69
Note that if an IT admin disables the [use of connected experiences in Office](/deployoffice/privacy/manage-privacy-controls#policy-setting-for-most-connected-experiences), it has the same effect on add-ins as turning off just optional connected experiences.
72
70
71
+
### Optional connected experiences in Outlook
72
+
73
+
The following table describes the availability of add-ins on Outlook clients when optional connected experiences is turned off.
74
+
75
+
|Client|Behavior when optional connected experiences is turned off|
76
+
|-----|-----|
77
+
|<ul><li>Web browser</li><li>[new Outlook on Windows](https://support.microsoft.com/office/656bb8d9-5a60-49b2-a98b-ba7822bc7627)</li></ul>|Availability of add-ins and access to AppSource are unaffected, so users can continue to [manage their add-ins](https://support.microsoft.com/office/1ee261f9-49bf-4ba6-b3e2-2ba7bcab64c8), including admin-deployed ones.|
78
+
|<ul><li>Windows (classic)<sup>1</sup></li><li>Mac</li></ul>|The **All Apps**<sup>2</sup> or **Get Add-ins** button isn't displayed, so users aren't able to manage their add-ins or access AppSource.|
79
+
|<ul><li>Android</li><li>iOS</li></ul>|The **Get Add-ins** dialog shows only admin-deployed add-ins.|
80
+
81
+
> [!NOTE]
82
+
> <sup>1</sup> On Windows, support for this experience is available from Version 2008 (Build 13127.20296). For more details on your client version, see the update history page for [Microsoft 365](/officeupdates/update-history-office365-proplus-by-date) and how to [find your Office client version and update channel](https://support.microsoft.com/office/932788b8-a3ce-44bf-bb09-e334518b8b19).<br>
83
+
>
84
+
> <sup>2</sup> Starting in classic Outlook on Windows Version 2303 (Build 16215.10000), the **All Apps** button is used to manage add-ins and access AppSource.
85
+
73
86
## Addressing end users' privacy concerns
74
87
75
88
This section describes the protection offered by the Office Add-ins platform from the customer's (end user's) perspective, and provides guidelines for how to support users' expectations and how to securely handle users' personally identifiable information (PII).
@@ -109,7 +122,31 @@ The add-in platform addresses end users' privacy concerns in the following ways.
109
122
110
123
- Running in a web browser control allows the add-in to do almost anything a regular web page running in a browser can do but, at the same time, restricts the add-in to observe the same-origin policy for domain isolation and security zones.
111
124
112
-
Outlook add-ins provide additional security and performance features through Outlook add-in specific resource usage monitoring. For more information, see [Privacy, permissions, and security for Outlook add-ins](../outlook/privacy-and-security.md).
125
+
#### End users' perspective in Outlook
126
+
127
+
The following points address end users' privacy concerns specific to Outlook.
128
+
129
+
- End user's messages that are protected by Outlook's Information Rights Management (IRM) won't interact with add-ins in the following instances.
130
+
131
+
- When the IRM-protected message is accessed from Outlook on mobile devices.
132
+
133
+
- When the IRM-protected message contains a sensitivity label with the **Allow programmatic access** custom policy option set to `false`.
134
+
135
+
For more information on IRM support in add-ins, see [Mail items protected by IRM](../outlook/outlook-add-ins-overview.md#mail-items-protected-by-irm).
136
+
137
+
- Granting the **restricted** permission allows the Outlook add-in to have limited access on only the current item. Granting the **read item** permission allows the Outlook add-in to access personal identifiable information, such as sender and recipient names and email addresses, on only the current item. For more information on Outlook add-in permissions, see [Understanding Outlook add-in permissions](../outlook/understanding-outlook-add-in-permissions.md).
138
+
139
+
- Manifest files of installed Outlook add-ins are secured in the user's email account.
140
+
141
+
- Outlook on Windows (classic) and on Mac monitor the performance of installed Outlook add-ins, exercise governance control, and make add-ins unavailable when they exceed limits in the following areas.
142
+
143
+
- Response time to activate
144
+
145
+
- Number of failures to activate or reactivate
146
+
147
+
- Memory usage
148
+
149
+
- CPU usage
113
150
114
151
### Developer guidelines to handle PII
115
152
@@ -178,11 +215,7 @@ The following example shows how a task pane add-in specifies the **read document
178
215
179
216
For more information about permissions for task pane and content add-ins, see [Requesting permissions for API use in add-ins](../develop/requesting-permissions-for-api-use-in-content-and-task-pane-add-ins.md).
180
217
181
-
For more information about permissions for Outlook add-ins, see the following topics.
182
-
183
-
-[Privacy, permissions, and security for Outlook add-ins](../outlook/privacy-and-security.md)
184
-
185
-
-[Understanding Outlook add-in permissions](../outlook/understanding-outlook-add-in-permissions.md)
218
+
For more information about permissions for Outlook add-ins, see [Understanding Outlook add-in permissions](../outlook/understanding-outlook-add-in-permissions.md).
186
219
187
220
### Follow the same-origin policy
188
221
@@ -306,10 +339,11 @@ The management and enforcement of Office settings is done with group policy sett
306
339
| Block Web Add-ins | Allows you to prevent users from running Office Add-ins that use web technologies. |
307
340
| Block the Office Store | Allows you to prevent users from getting or running Office Add-ins that come from [AppSource](https://appsource.microsoft.com). |
308
341
342
+
To specify permissions to install and manage Outlook add-ins in an organization that uses Exchange Online, configure administrative and user roles in the Exchange admin center. For more information, see [Specify the administrators and users who can install and manage add-ins for Outlook in Exchange Online](/exchange/clients-and-mobile-in-exchange-online/add-ins-for-outlook/specify-who-can-install-and-manage-add-ins).
343
+
309
344
## See also
310
345
311
346
- [Requesting permissions forAPI use in add-ins](../develop/requesting-permissions-for-api-use-in-content-and-task-pane-add-ins.md)
312
-
- [Privacy, permissions, and security for Outlook add-ins](../outlook/privacy-and-security.md)
313
347
- [Understanding Outlook add-in permissions](../outlook/understanding-outlook-add-in-permissions.md)
314
348
- [Limits for activation and JavaScript APIfor Outlook add-ins](../outlook/limits-for-activation-and-javascript-api-for-outlook-add-ins.md)
315
349
- [Addressing same-origin policy limitations in Office Add-ins](../develop/addressing-same-origin-policy-limitations.md)
Copy file name to clipboardExpand all lines: docs/develop/requesting-permissions-for-api-use-in-content-and-task-pane-add-ins.md
+2-3Lines changed: 2 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: Requesting permissions for API use in add-ins
3
3
description: Learn about different permission levels to declare in the manifest of an add-in to specify the level of JavaScript API access.
4
-
ms.date: 02/12/2025
4
+
ms.date: 06/17/2025
5
5
ms.localizationpriority: medium
6
6
---
7
7
@@ -10,13 +10,12 @@ ms.localizationpriority: medium
10
10
This article describes the different permission levels that you declare in your add-in's manifest to specify the level of JavaScript API access your add-in requires for its features.
11
11
12
12
> [!IMPORTANT]
13
-
> This article applies to only non-Outlook add-ins. To learn about permission levels for Outlook add-ins, see [Outlook permissions model](../outlook/privacy-and-security.md#permissions-model).
13
+
> This article applies to only non-Outlook add-ins. To learn about permission levels for Outlook add-ins, see [Understanding Outlook add-in permissions](../outlook/understanding-outlook-add-in-permissions.md).
14
14
15
15
## Permissions model
16
16
17
17
A five-level JavaScript API access-permissions model provides the basis for privacy and security for users of your add-ins. The following figure shows the five levels of API permissions you can declare in your add-in's manifest.
18
18
19
-
20
19

21
20
22
21
These permissions specify the subset of the API that the add-in [runtime](../testing/runtimes.md) allows your add-in to use when a user inserts, and then activates (trusts) your add-in. To declare the permission level your add-in requires, specify one of the permission values in the manifest. The markup varies depending on the type of manifest.
Copy file name to clipboardExpand all lines: docs/outlook/get-and-set-recurrence.md
+41-14Lines changed: 41 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: Get and set the recurrence of appointments
3
3
description: This topic shows you how to use the Office JavaScript API to get and set various recurrence properties of an appointment using an Outlook add-in.
4
-
ms.date: 05/30/2024
4
+
ms.date: 06/17/2024
5
5
ms.topic: how-to
6
6
ms.localizationpriority: medium
7
7
---
@@ -55,7 +55,7 @@ Along with the recurrence pattern, you also need to determine the start and end
55
55
56
56
The appointment organizer can specify the recurrence pattern for an appointment series in compose mode only. In the following example, the appointment series is set to occur from 10:30 AM to 11:00 AM PST every Tuesday and Thursday during the period November 2, 2019 to December 2, 2019.
In the following example, the appointment organizer gets the `Recurrence` object of an appointment series, then sets a new recurrence duration. This is done in compose mode.
83
+
In the following example, the appointment organizer gets the [Recurrence](/javascript/api/outlook/office.recurrence) object of an appointment series, then sets a new recurrence duration. This is done in compose mode.
In the following example, the appointment organizer gets the `Recurrence` object of an appointment to determine whether it's a recurring series. This is done in compose mode.
@@ -135,7 +135,7 @@ The following example shows the results of the `getAsync` call that retrieves th
135
135
136
136
In the following example, an appointment attendee gets the `Recurrence` object of an appointment or meeting request.
137
137
138
-
```js
138
+
```javascript
139
139
outputRecurrence(Office.context.mailbox.item);
140
140
141
141
functionoutputRecurrence(item) {
@@ -171,25 +171,53 @@ The following example shows the value of the `item.recurrence` property of an ap
171
171
172
172
After you've retrieved the recurrence object (either from the `getAsync` callback or from `item.recurrence`), you can get specific properties of the recurrence. For example, get the start and end dates and times of the series by using the [SeriesTime][SeriesTime link] methods on the `recurrence.seriesTime` property.
173
173
174
-
```js
175
-
// Get series date and time info
174
+
```javascript
175
+
// Get the date and time information of the series.
There may be scenarios where you want your add-in to detect and handle changes to the recurrence pattern of a series. For example, you'd like to update the appointment's location if the series is extended. To implement this, you must create a handler for the [RecurrenceChanged](/javascript/api/office/office.eventtype) event. To add an event handler for the `RecurrenceChanged` event, call [Office.context.mailbox.item.addHandlerAsync](/javascript/api/requirement-sets/outlook/preview-requirement-set/office.context.mailbox.item#methods). When a change is detected, the event handler receives an argument of type [Office.RecurrenceChangedEventArgs](/javascript/api/outlook/office.recurrencechangedeventargs), which provides the updated recurrence object.
196
+
197
+
The following example shows how to register an event handler for the `RecurrenceChanged` event.
198
+
199
+
```javascript
200
+
// This sample shows how to register an event handler in Outlook.
201
+
Office.onReady(() => {
202
+
// Register an event handler to identify when the recurrence pattern of a series is updated.
if (asyncResult.status===Office.AsyncResultStatus.Failed) {
205
+
console.log(asyncResult.error.message);
206
+
return;
207
+
}
208
+
209
+
console.log("Event handler added for the RecurrenceChanged event.");
210
+
});
211
+
});
212
+
213
+
functionhandleEvent(event) {
214
+
// Get the updated recurrence object.
215
+
constupdatedRecurrence=event.recurrence;
216
+
217
+
// Perform operations in response to the updated recurrence pattern.
218
+
}
219
+
```
220
+
193
221
## Run sample snippets in Script Lab
194
222
195
223
To test how to get and set the recurrence of an appointment with an add-in, install the [Script Lab for Outlook add-in](https://appsource.microsoft.com/product/office/wa200001603) and run the following sample snippets.
@@ -203,9 +231,8 @@ To learn more about Script Lab, see [Explore Office JavaScript API using Script
0 commit comments