[Course Settings] Restrict Users to Their Own Section(s)

I'm resubmitting the idea Limit visibility to Section Users submitted originally by Wade James and supporting information added by Ben Reynolds and  Melody CSUCanvasAdmin-Brake

When dealing with multiple sections (created manually or cross-listed), the ability to easily limit visibility to other sections users is very important in many cases to comply with FERPA or to maintain control and order in large courses with many sections and teachers/TAs.


A single, course-settings-level check-box would modify user privileges from "this user can view students in any course section" to "limit this user to only see fellow section users".


This can currently be turned on one user at a time. How do I limit a user to only view other users in the same course section?  It should be made more clear - it is not just one click per student to change this permission - it is actually 3 actions per user enrolled in the course. From the People starting point - it is (1) to select the user's name, (2) to set 'limit this user to only see fellow section users', and (3) to return back to the main People listing page [or backspace].  So, it really looks more like...


(click-click-backspace), (click-click-backspace), (click-click-backspace), (click-click-backspace), (click-click-backspace), (click-click-backspace), (click-click-backspace), (click-click-backspace), (click-click-backspace), (click-click-backspace), (click-click-backspace), (click-click-backspace), (click-click-backspace), (click-click-backspace), ...




In a course with multiple sections (we have several courses with with approximately 75 sections, 42 TAs, 4 Teachers and 2000 students), this is simply not a viable option.


We don't need to do this across the board, but we do have non-academic courses such as resources or labs that use these courses.



Comments from Instructure

:smileyinfo: Sometimes, with the volume of ideas we have come in, we miss a duplicate.  This idea has a duplicate with Course-Level Setting: Restrict Users to Their Own Section(s).  Both threads will receive the same updates.

Added to Theme

Community Champion

 @millerjm ​,

Things may be different because I'm an admin as well as a teacher, but when I am in my class, it only takes three clicks to change this.

  1. Click on the student's name
  2. Click on the link in the privileges section
  3. Click the back button (or press Backspace on the keyboard)

In step 2, you either one of these two wordings:

  • "this user can view students in any course section" with a link to "limit this user to only see fellow section users"
  • "this user can only view students in their assigned course section(s)" with a link to "let this user see all course users"

This is consistent with the How do I limit a user to only view other users in the same course section?  documentation.

That's still too many steps for those who want this capability, but I'm not seeing what you're describing.

There is an interesting note in Canvas Production Release Notes (2015-12-19)​ (emphasis mine)

Explanation: When enrolling a user in a course via the API, the parameter enrollment [limit_privileges_to_course_section] behavior was inconsistent in enrollment behavior. For new student enrollments, the parameter was not honored; when creating a new teacher enrollment, the parameter was always honored; and when updating a student or instructor enrollment, the parameter was not honored. This behavior occurred because section enrollments were previously not applied to student enrollments. Canvas code has been updated to support student section-limited enrollments, both through the API and when adding users via the People page.

There is no Update an Enrollment API endpoint, but that sounds like the functionality should be there. I haven't had time to look into it, but if the Create an Enrollment updated an existing enrollment, then I think it would be possible to write a script that would cycle through all enrollments in the course and set the visibility. That wouldn't take care of any students that are added after the script is ran, which having it built into Canvas would, so it's definitely not an ideal solution but it would be faster than the click-click-click approach.

There is also an issue that might arise with this approach. It seems some of my other scripts are timing out when they operate on large classes, possibly because of rate limiting that Canvas has implemented to keep the system operating smoothly for everyone. It might need ran as a server process rather than from within a script for large classes.

Community Team
Community Team

This idea has moved to the next stage and will be open for voting among the Canvas Community, from Wed. June 1, 2016 - Wed. September 7, 2016.

Check out this doc for additional details about how the voting process works!

Community Novice

I approve of this, and it is similar to another feature request:

Students, yes, but also TA access may need to be restricted to individual sections. We manage massive lectures that break into individual recitation sections; it would be helpful to keep the recitation feel for our students as well as functionally remove the chance of an accidental grading event via a sleep-deprived TA. These courses can house hundreds of students and dozens of TAs each, so a restriction at the course level, and applied *by role* would accomplish both outcomes. Individual restrictions at the enrollment level is simly too intimidating when you look at a possible 1200x manual process.

Community Champion

 @James ​, I think what  @millerjm  so charmingly illustrated is that you have to do those same 3 steps over and over, once for each student.  In a cross-listed class, that can be many many students.

Thanks for finding out that the API should be fixed and working, we were thinking of pursing that possibility.  Apparently it will be costly for us to have somebody from Instructure create and maintain the script so it might not be possible.  Very interesting about scripts timing out in large classes which would be the case with these cross-listed classes, unless it's done separately in each section.

I hope more people vote on this. 

Community Champion

I plugged this request in my recent blog post - The Need For Privacy: FERPA and Title IX .

Community Novice

I would go even further and ask for this to be an sub-account/account level feature as well. Could it be something we could add to the feature options tab in settings? It would make things easier for those who do not use the APIs

Community Champion

Perhaps such a course needs to have separate Canvas courses?

Community Novice

Or perhaps it could be an option that can be turned on and off. It will save some people hours of work and those that do not want it will not even notice it is there. We like the fact teachers can grade their own section and Heads of Department get an overview of all results in one Gradebook. We get analytics of the whole cohort for Music Y7 in one place and then Heads of Year get an overview at the account level of all subjects in their year group. It works really nicely, apart from having to click on each individual user's 'restrict to own section' button.

Community Participant

If this feature is implemented, would it be most logical to add the "limit this user to only see fellow section users" setting option to this area of Canvas? Could a default option be put in the Admin area? It would be far more likely that faculty would want to keep them separate to avoid FERPA violations.

Canvas Sections Page.PNG

limit this user to only see fellow section users

Community Champion

 @olsona ​

Yes, I think this would be the most appropriate location for this functionality.

I would not want this set at the account level, because there are scenarios where cross-sectional interaction is permissible under FERPA so we would not want this shut down system-wide.