Requesting permissions for API use in content and task pane add-ins

Office Add-ins

This article describes the different permission levels that you can declare in your content or task pane add-in's manifest to specify the level of JavaScript API access your add-in requires for its features.

Last modified: August 07, 2015

Applies to: Access apps for SharePoint | apps for Office | Excel | Office Add-ins | PowerPoint | Project | Word

Learn more about supported hosts and other requirements.

Note Note

The name "apps for Office" is changing to "Office Add-ins". During the transition, the documentation and the UI of some Office host applications and Visual Studio tools might still use the term "apps for Office". For details, see New name for apps for Office and SharePoint.

A five-level JavaScript API access-permissions model provides the basis for privacy and security for users of your content and task pane add-ins. Figure 1 shows the five levels of API permissions you can declare in your add-in's manifest.

Figure 1. The five-level permission model for content and task pane add-ins

Levels of permissions for task pane apps



These permissions specify the subset of the API that the add-in runtime will allow your content or task pane add-in to use when a user inserts, and then activates (trusts) your add-in. To declare the permission level your content or task pane add-in requires, specify one of the permission text values in the Permissions element of your add-in's manifest. The following example requests the WriteDocument permission, which will allow only methods that can write to (but not read) the document.

<Permissions>WriteDocument</Permissions>

As a best practice, you should request permissions based on the principle of least privilege. That is, you should request permission to access only the minimum subset of the API that your add-in requires to function correctly. For example, if your add-in needs only to read data in a user's document for its features, you should request no more than the ReadDocument permission.

The following table describes the subset of the JavaScript API that is enabled by each permission level.

Permission

Enabled subset of the API

Restricted

The methods of the Settings object, and the Document.getActiveViewAsync method.

This is the minimum permission level that can be requested by a content or task pane add-in.

ReadDocument

In addition to the API allowed by the Restricted permission, adds access to the API members necessary to read the document and manage bindings.

This includes the use of:

ReadAllDocument

In addition to the API allowed by the Restricted and ReadDocument permissions, allows the following additional access to document data:

  • The Document.getSelectedDataAsync and Document.getFileAsync methods can access the underlying OOXML code of the document (which in addition to the text may include formatting, links, embedded graphics, comments, revisions, and so forth).

WriteDocument

In addition to the API allowed by the Restricted permission, adds access to the following API members:

ReadWriteDocument

In addition to the API allowed by the Restricted, ReadDocument, ReadAllDocument, and WriteDocument permissions, includes access to all remaining API supported by content and task pane add-ins, including methods for subscribing to events.

You must declare the ReadWriteDocument permission to access these additional API members:

Show:
© 2015 Microsoft