Vero

Canvas integration

School IT · Pilot setup

Set up Canvas for your school

School IT enables the connection once. Teachers then authorize their own accounts and run writing assignments from Canvas or Vero.

School installation kit

Download the IT guide, teacher quick start, configuration templates, acceptance checklist, and broker and Windows Companion source packages.

Pilot release · September 26, 2026. A source installation kit for IT, not a one-click installer. No live keys, secrets, device enrollment configuration or student data are included.

Start with a pilot

Choose a dedicated Canvas course, an ordinary teacher account and synthetic students. Agree which Canvas environment, sections, computer and Vero devices will be used. Complete the included acceptance checklist before using ordinary student work.

Contact Christopher at Vero to arrange your school’s setup. Vero supplies the exact registration values and any required credentials manually through an agreed private channel. The downloadable templates deliberately contain placeholders.

Who sets up what?

School Canvas administrator
Registers and enables the Canvas tool and its API permissions, installs it in the agreed pilot scope, and verifies the school’s browser and network policies.
Vero operator
Provides the approved integration address, configures the school connection and roster identity, and prepares the broker and Companion configuration.
Teacher
Signs in to Canvas and authorizes Vero using their own account. Teachers do not enter developer secrets or generate personal API tokens.

1. Register Vero in Canvas

Canvas setup uses two separate developer keys: an LTI 1.3 key for launching the activity and a REST OAuth key for authorized course, assignment, roster and file operations.

  1. Receive the completed public LTI registration JSON and approved integration address from Vero. Do not install the placeholder template unchanged.
  2. Create and enable the LTI key. Install its client ID in the agreed course or subaccount. Return the exact client ID and deployment ID to the Vero operator.
  3. Create the separate OAuth key with scope enforcement enabled. Register both callback paths below on the exact HTTPS integration address supplied by Vero.
  4. Exchange the Canvas-issued OAuth secret privately with the designated operator. Do not put it in a teacher form, website upload or public configuration file.
  • /oauth/callback
  • /portal/oauth/callback

LTI 1.3 uses signing keys. School IT receives the public key-set address; Vero’s private signing and encryption keys stay with the broker operator.

Exact Canvas permissions for this release

These lists are generated from the integration code and also included in the download. Use the full scoped list rather than an unrestricted API key. New permissions may require teachers to reconnect.

LTI permissions

  • https://purl.imsglobal.org/spec/lti-ags/scope/score
  • https://purl.imsglobal.org/spec/lti-ags/scope/lineitem.readonly
  • https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly
  • https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly
  • https://canvas.instructure.com/lti-ags/progress/scope/show

REST OAuth permissions

  • url:PUT|/api/v1/courses/:course_id/assignments/:id
  • url:GET|/api/v1/users/:user_id/profile
  • url:GET|/api/v1/courses/:course_id/assignments/:id
  • url:GET|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id
  • url:POST|/api/v1/users/:user_id/files
  • url:GET|/api/v1/files/:id
  • url:GET|/api/v1/files/:id/create_success
  • url:GET|/api/v1/files/:id/public_url
  • url:GET|/api/v1/courses
  • url:GET|/api/v1/courses/:course_id/assignments
  • url:POST|/api/v1/courses/:course_id/assignments
  • url:GET|/api/v1/courses/:course_id/sections
  • url:GET|/api/v1/sections/:id/users
  • url:GET|/api/v1/courses/:course_id/enrollments
  • url:GET|/api/v1/sections/:section_id/enrollments

2. Prepare the teacher’s computer

Install or update Companion using the included IT instructions, preserving its existing data and received work. The kit assumes an already provisioned Vero device and enrolled Bluetooth kit; device enrollment is arranged separately.

Companion runs on the teacher’s computer. Its browser connection is local to that computer, normally http://127.0.0.1:4178. It must not be exposed through a public website or tunnel. Verify access in the school’s chosen browser, including any local-device permission prompt, without disabling security protections.

The broker is a separately hosted service. Its software is not uploaded to Cloudflare Pages. Vero and school IT agree hosting and access as part of the pilot.

3. Connect and test both assignment paths

  1. The teacher opens Vero Settings → LMS integrations and connects their Canvas account.
  2. Create an assignment in Vero, send it to the chosen Canvas course, and test both draft creation and publishing. Confirm the writing prompt appears in Canvas.
  3. Create a Canvas external-tool assignment, select Vero, save and publish, then launch its classroom.
  4. Run a synthetic student through the actual Vero Writer screens. Confirm the local receipt and then Sent to Canvas. Check the PDF, preview and annotations in SpeedGrader.
  5. Run another section using the same Canvas assignment. Confirm the new roster is correct and the earlier section’s submissions remain intact.

Also test cancellation, repeated actions, an interrupted connection and recovery after Companion restarts. The kit’s acceptance sheet records results and who will handle any unresolved issue.

4. Hand over to the teacher

Give the teacher the approved Canvas course/sections, configured computer and devices, the teacher connection guide, and your support contact. Confirm a correctly matched PDF in SpeedGrader before declaring the pilot ready. Keep developer credentials with IT and the Vero operator.

What stays private?

School-specific credentials are never included in this public download. The blank handoff checklist records identifiers and exchange status, not secret values. Teachers grant access through Canvas’s authorization screen.

Student writing goes from the Vero device over Bluetooth to Companion, then as a PDF to the matched Canvas submission. The broker keeps connection, roster and delivery metadata rather than student response bodies or PDF files. Agree retention and backup handling with Vero; private staging copies currently remain in the teacher’s Canvas files.

What has been tested?

Our synthetic Canvas tests verified assignment creation, publishing, repeat section sessions, correct rosters and PDF delivery. Physical Pi Bluetooth delivery passed for a default section, a single section and two separate sections sharing one Canvas assignment.

School pilot acceptance is still required. Hosted Canvas preview and annotations, the school’s browser-to-Companion connection, and a full walkthrough of the native Writer screens must be verified in the intended setup. A new browser tab may ask the teacher to sign in to Vero again. Co-teacher assignment ownership, copied-course relinking and full-class concurrent-device capacity are outside the qualified pilot scope.

Administrator references: Canvas LTI configuration and Canvas OAuth documentation.