Privacy implications of installing an LTI 1.3 tool in Canvas
As the stewards of your students’ data, we know you care deeply about the privacy and security implications of adopting new EdTech tools. With the depth of integration LTI tools can install, there are a lot of technical details which can affect what data is shared. This guide aims to help you understand the settings so that you can make informed decisions about what access to grant.
On the Developer Key under Additional Settings the key can be set to have a Privacy Level of Public or Private. Note that setting the value to something other than what is suggested by the tool provider may prevent services from working, for example if launches are Private then the tool will not be able to properly update the gradebook, even if the “Can create and view assignment data in the gradebook associated with the tool” permission is allowed.
The default information sent in all launches designated as Private includes:
- Resource Link Request
- The ‘title’ or the name of the account, course, or assignment the tool is being launched from
- ID of the resource
- Description of the resource
- The deployment ID of the tool
- The type of context the tool was launched from
- Information about the context the tool was launched from (for example, if it is a course, the course’s name and title)
- The user’s standard LTI role (Administrator, Instructor, User, etc., no custom roles)
- The Canvas Placement Name from which the tool was launched
If the launch is designated as Public it will additionally include:
- The user icon
- The user’s email address
- The username
- The user’s given name
- The user’s family name
- The SIS ID of the user
- The SIS ID of the course
In addition to this information, there are four main setting areas to keep an eye on which can impact what data is shared. We’ll go through each in depth below. The four areas are:
- Permissions (Scopes)
- Deployments
- Placements
- Variable Expansions
Permissions
The Permissions setting affects which LTI Advantage Services permissions a tool is allowed to use. The possible services as they are shown in Canvas are listed below with links to the 1EdTech technical specification they are based on as well as the general data this provides access to.
Permission | Description | 1EdTech Spec |
Can create and view assignment data in the gradebook associated with the tool. | Tools can create and view the maximum score set for an assignment, the date submissions will start being accepted and the date submissions will stop being accepted. | 1EdTech Spec |
Can view assignment data in the gradebook associated with the tool. |
Tools can view the maximum score set for an assignment, the date submissions will start being accepted and the date submissions will stop being accepted. |
1EdTech Spec |
Can view submission data for assignments associated with the tool. | Tool can view a given assignment’s results including user IDs, users’ scores, and the maximum possible score, as well as any comments visible to a student about the score. | 1EdTech Spec |
Can create and update submission results for assignments associated with the tool. | Tool can create and edit a given assignment’s results including user IDs, users’ scores, and the maximum possible score, as well as comments visible to a student about the score. |
1EdTech Spec |
Can retrieve user data associated with the context the tool is installed in. |
|
1EdTech Spec |
Can update public jwk for LTI services. |
|
|
Can look up Account information. |
|
|
Can view Progress records associated with the context the tool is installed in. |
|
|
Can view the content of a page the tool is launched from.
|
|
Deployments
In general, tools only get access to information when they are launched, and only about the context from which they are launched and the user who launched them. If a tool is only installed in Course A, it will not get information about Course B. If a tool is only used on Assignment A, it will not get information about Assignment B. Similarly, tools will only have access to update information related to assignments they are used in.
Additionally, tools will only have access to information about the user who launches the tool for any placement with the exception of launches from the Student Context Card placement, which will provide the ID of the student from whose card the tool is launched.
Placements
Many substitution variables are only available in certain placements. We’ve grouped the kinds of placements below to make it easier to understand which substitution variables work in which locations. A document showing screenshots of each placement can be found here.
Placements | Substitution Variables |
Course Placements |
|
File Management Placements |
|
Assignment placements |
|
Other placements |
|
Variable Expansions
The final way that data can be shared with tools is through variable expansions. To see technical documentation about all variables Canvas offers, see here. This list aims to provide general categories of variables and the types of information they provide, as well as the placements these variables work in.
Variable | Details |
Account information | Provides data about the Canvas account. These variables work anywhere in Canvas |
Analytics Information |
Provides information used by xAPI and caliper for analytics.
|
Assignment information |
Provides information about a specific assignment owned by the tool. Does not include user information related to the assignment. These variables only work within assignments.
|
Context information |
These provide information about the context from which the tool is launched. They work anywhere in Canvas.
|
Course information |
Information about the course the tool is launched from. This does not include information about individuals within the course. These only work within Course Placements, Assignment Placements, and File Management Placements when accessed within a course.
|
File Management Information |
Information about files within Canvas’ file management system. These only work within File Management Placements
|
Global Information |
Technical information for tools, does not include user or account information. These work anywhere.
|
Group information |
Information about a group. Does not include students who are members of the group.
|
Module Information |
Information about modules. Works within most Course and Assignment Placements when the object can be part of a module.
|
Observer Information |
Information about users who are observing a course. Works only within Course and Assignment Placements.
|
Plagiarism detection information |
Information used by plagiarism checkers. This does not include user specific information.
|
RCE information |
Information about the Rich Content editor. The com.instructure.Editor.contents does include information provided by the user in the rich text editor, so if the user includes their name or personal information in that field it will be shared.
|
Resource Link information |
Information about resource links, which provide links to content. Tools can only access resources which they have created. No user information or account information is shared.
|
Roles and Permissions information |
Information about the permissions and roles both the types available in the account and for specific users if requested (tool must provide user ID to request for an individual user.) These variables work in all placements.
|
Section information |
Information about sections. Does not include a list of all users within a section, but can provide a section given a user. Works within Course and Assignment placements.
|
Submission information |
Information about the number of submissions a student has made on a specific assignment. Works within Assignments.
|
Tool information |
Information about how the tool is set up in Canvas. Works anywhere.
|
User Details |
Information about the user including accounts they are an admin in, their pronouns, timezone, preference for high contrast, and timezone. These variables work anywhere.
|
User email |
The user’s email address. These variables work anywhere.
|
User ID |
Various IDs representing a user. These variables work anywhere.
|
User Session |
Information about the user’s Canvas session. These variables work anywhere.
|
User Name |
The user’s name. These variables work anywhere.
|