[External Tools] Allow Per-Sub Account Toggling of LTI Placements

Problem statement:

Canvas currently couples LTI tool installation location with the ability to toggle placements, creating administrative and user experience challenges. When tools require single-deployment architectures (common with textbook publishers and many LTI vendors), administrators face an impossible choice: install tools narrowly where they're actually needed, risking future complications when demand expands, or install broadly at higher account levels "just in case," creating interface clutter and governance headaches.

This coupling manifests in several problematic scenarios. Tools approved for specific courses (e.g., "only for BIOL 101 and ERTH 130") must often be installed at account levels far above their intended scope due to organizational boundaries and the inability to move tools between accounts while preserving deployment configurations. Pilot programs compound this challenge. When testing new tools with limited licenses across multiple departments, administrators often must choose between installing at a high level (exposing the tool everywhere, risking license violations and confusion) or managing complex multi-account installations that fragment the pilot and complicate license tracking (if the vendor even supports multiple deployments). Similarly, the inability to move tools without breaking integrations drives preemptive root-level installations that pollute the user experience for the vast majority of instructors who will never use these specialized tools.

At the course level, this translates to an overwhelming user experience where instructors see dozens of specialized tools—most irrelevant to their needs—all competing for attention in their course interface, "screaming" for attention. Every textbook publisher's tool appears in every course, regardless of whether that course uses that publisher's materials.

Proposed solution:

Implement hierarchical placement management for LTI tools using the same lock/unlock inheritance model currently used for Canvas feature flags. This would decouple tool installation location from placement availability, allowing administrators to install tools at organizationally appropriate levels while maintaining granular control over where and how those tools appear to end users. Each LTI placement type (course_navigation, assignment_selection, editor_button, etc.) would support four states: Enabled/Locked, Disabled/Locked, Enabled/Unlocked, and Disabled/Unlocked. When a tool is installed at any account level, administrators with "Manage LTI - edit" permissions could configure placement inheritance rules.

For example, a tool installed at the root level could have all placements set to Disabled/Unlocked, allowing sub-account administrators to selectively enable only the placements their departments need. Alternatively, pilot programs could use Disabled/Locked at the college level with specific departments granted Enabled/Unlocked access to control participation precisely. This approach would extend naturally to the course level, enabling instructors to customize their tool palette by enabling only the tools/placements they actively use, dramatically reducing interface clutter. A biology instructor could enable just the assignment integration for their textbook's tool while disabling its course navigation and editor buttons, creating a cleaner, more focused user experience while maintaining the tool's core functionality for their specific pedagogical needs.

User role(s):

admin