Glossary
The terms used throughout this documentation, defined for administrators and operators.
AAC
Automatic Assessment Configuration — a macOS mechanism the generated
configuration requires (via enableMacOSAAC and lockdownModePolicy) to lock the
device into the assessment. It provides strong lockdown but can block some
third-party assistive technology, so accommodations that need such tools should be
a separately approved arrangement rather than a weakened shared configuration. See
Device deployment.
Access code
The Canvas quiz access code the tool creates, writes to the assessment, and rotates on the instructor's behalf. It is never shown in routine UI or API responses and is released to a student only after Config Key proof — filled into Canvas automatically, never seen by the student.
Browser Exam Key (BEK)
A key derived into the SEB configuration that a server can use to recognize a request coming from a specific SEB configuration. The tool derives it as part of the generated assessment configuration.
Config Key
A hash SEB computes over its effective configuration. The tool uses Config Key proof — comparing the running configuration's Config Key against current server-side settings — to decide whether to release the access code. This is why changing a protected setting invalidates old downloads. Reference: safeexambrowser.org.
Deployment ID
The identifier Canvas assigns when the external app is installed. By default the
service only accepts launches whose signed deployment ID is in
LTI_DEPLOYMENT_ID. See
Install the app.
Detector
The browser script, loaded through your Canvas theme, that runs on quiz pages. It launches the protected flow, requests Config Key proof, fills the access code, surfaces approved tools, and detects Canvas-confirmed completion. See Detector script.
Dynamic registration
The LTI 1.3 flow where Canvas reads the tool's registration document from
${TOOL_URL}/lti/config instead of you copying fields by hand. Preferred, because
the running service stays the source of truth.
Hardened runtime
A deployment where strict validation is enforced — production, or any Cloud Run service. It requires real database, Canvas, LTI, OAuth, secret, URL, and certificate values, mandates certificate encryption, and refuses unsafe options like in-memory storage or debug mode.
JWKS
JSON Web Key Set — the set of public keys used to verify signed tokens. The
tool publishes its own at /.well-known/jwks.json; Canvas publishes the platform
JWKS the tool verifies launches against (LTI_KEY_SET_URL).
LTI 1.3
The Learning Tools Interoperability standard (version 1.3) Canvas uses to launch external tools with signed identity claims. Specification.
OIDC
OpenID Connect — the login-initiation step of an LTI 1.3 launch, handled at
/lti/login before Canvas posts the signed launch to /lti/launch.
pkhs
SEB's public-key-hash encrypted-file format. When a public certificate is
configured, the outer .seb file is wrapped in pkhs format so it opens only on a
device holding the matching private identity.
Proof / access proof
The one-time token the service issues after Config Key proof succeeds. It is redeemed once (valid two minutes) to return the access code, approved tools, and an exit grant. See How it works.
SEB
Safe Exam Browser — the lockdown client that runs the exam. This tool requires and verifies it. safeexambrowser.org.
Setup check
A separate configuration and flow (/seb/check) that tests certificate
decryption, SEB detection, connectivity, storage, and Config Key proof without
releasing any access code. Use it to validate a device before an exam. See
Student experience.
.seb configuration
The certificate-encrypted configuration file a student downloads and opens in Safe Exam Browser. Each download is a one-time, 120-second capability bound to the student, assessment, and current settings.
TOOL_URL
The public HTTPS origin of a deployment. It is baked into the LTI registration, OAuth callback, JWKS URL, and detector URL — decide it before creating Canvas keys.
Two-pass bootstrap
The first-install pattern: deploy once with placeholder LTI IDs to get a stable URL
and a working /lti/config, register in Canvas, then redeploy with the real client
and deployment IDs. See Setup overview.