← Proctoring Documentation

Endpoint proctoring overview

Endpoint proctoring verifies candidate identity, runs pre-exam checks, monitors a desktop Chrome exam session, and reports evidence back to your platform. Your platform owns the exam, the grade, and any decision to stop or invalidate an attempt.

Integration paths

Path Use when What it gives you
LTI 1.3 Proctoring Services Your platform can launch proctored attempts over LTI 1.3 Full lifecycle: OIDC launch, candidate check-in, Start Assessment post-back, End Assessment receiver, ACS flags, AGS score evidence, and fallback disarm.
REST Your platform is not launching Endpoint through LTI Bearer-authenticated session creation, lifecycle updates, read endpoints, and webhooks.

What Endpoint does

Capability Current support
Government ID capture, liveness selfie, and name match Yes, unless policy skips identity verification.
Room scan Yes: four still frames plus room-scan video, unless policy skips it.
Pre-exam system checks Yes: camera, screen share, extension heartbeat, and a test violation.
Attempt recording Camera recording. Screen upload to partner S3 requires explicit enablement.
Browser monitoring Yes, through the Endpoint Chrome extension on registered exam hosts.
AI webcam frame analysis Yes, during the attempt, capped per session.
Partner webhooks Yes: violation.detected, recording.uploaded, and exam.completed.
Live human proctors supplied by Endpoint No.
Mobile browser proctoring No. Candidates need desktop Chrome.
Automatic exam termination Disabled by default by ENDPOINT_EXAM_TERMINATION_ENABLED=false. Endpoint flags; your platform decides.

Candidate lifecycle

scheduled -> check_in -> ready -> staging -> in_progress -> completed -> finalized
                                      |
                                      `-> stopping -> completed
Status Meaning
scheduled Session exists; candidate has not started.
check_in Candidate is completing consent, extension setup, identity, and room scan.
ready Check-in passed; candidate has not entered staging.
staging Pre-exam system checks are running.
in_progress Exam monitoring is active.
stopping Candidate ended locally; Endpoint is waiting for the platform stop signal.
completed Attempt ended; score and recording finalization are in progress or done.
finalized Partner/platform lifecycle marker after completion. Recording resolution is tracked separately.
cancelled Session was cancelled before a completed attempt.
terminated Reserved; not reachable in a default deployment.

The candidate entry URL is /proctoring/candidate/start/:token. It is a bearer URL, not a single-use URL. It can be reopened during check-in and staging, and it stops working once the session reaches in_progress, completed, finalized, or cancelled.

Candidate flow

  1. Endpoint creates a session from an LTI launch or REST registration.
  2. The candidate opens the check-in URL in desktop Chrome.
  3. The candidate installs or enables the Endpoint extension for the registered exam host.
  4. The candidate accepts the recording notice and exam rules.
  5. If required, the candidate completes ID capture, liveness, and room scan. Identity and room scan each allow three attempts before manual review is required.
  6. If required, pre-exam checks verify camera, screen sharing, extension heartbeat, and the violation pipeline. The test violation is deleted before the real exam starts.
  7. The exam runs. Camera and screen recording start, browser monitoring arms, and webcam frame analysis runs periodically.
  8. Your platform ends the attempt through the applicable integration path. Endpoint calculates the compliance score, resolves recordings, and sends completion evidence.

Endpoint does not terminate exams in the default deployment. Code paths that would end an assessment require explicit enablement with ENDPOINT_EXAM_TERMINATION_ENABLED=true.

Accepted ID types are passport, driver_license, military_id, national_id, state_id, and residence_card.

What the browser monitors

The extension arms only on exam hosts registered for your account or LTI registration. Current normalized violation types include:

Area Types
Focus and navigation tab_switch, window_blur, alt_tab_attempt, navigation_attempt, navigation_blocked, navigation_violation
Clipboard and interaction copy_attempt, cut_attempt, paste_attempt, excessive_selection, right_click, drag_attempt, form_submission_blocked
Capture and developer tools print_attempt, print_shortcut, screenshot_attempt, screen_capture_attempt, devtools_detected, devtools_shortcut, console_accessed
Device and permissions multiple_displays_detected, camera_access_denied, screen_share_denied, screen_share_muted, screen_share_stopped
Page tampering iframe_injection, suspicious_dom_injection, spoofed_end_signal

AI webcam analysis can emit no_person_visible, multiple_people, phone_visible, ai_detected_violation, looking_away, suspicious_object, improper_lighting, and background_activity.

Severity is always one of low, medium, high, or critical. New type values can be added, so receivers should branch on severity and handle unknown types generically.

What your platform gets back

Evidence How you receive it
Live violations violation.detected webhook. LTI Proctoring Services sessions also send ACS flag calls.
Completion summary exam.completed webhook after the session is completed and no recording upload is pending.
Compliance score REST assessment_ended response and exam.completed. LTI Proctoring Services sessions also post AGS score evidence.
Violation list exam.completed or GET /proctoring/api/v1/sessions/{session_id}/violations.
Recordings recording.uploaded, exam.completed, or GET /proctoring/api/v1/sessions/{session_id}/recordings, depending on storage state.

exam.completed includes deliverable recordings: partner_s3 and local_only. Failed uploads appear in recording_errors. Skipped recordings are omitted. Camera upload to partner S3 happens when S3 is configured; screen upload requires explicit enablement.

The compliance score starts at 100 and deducts 5 for low, 10 for medium, 20 for high, and 40 for critical, floored at 0. It is an evidence signal, not a grade.

Candidate requirements

  • Desktop or laptop Chrome.
  • Endpoint Chrome extension installed and granted permission for the exam host.
  • Working webcam. Audio is captured with the camera recording.
  • Ability to share the full screen.
  • Government photo ID unless identity verification is skipped.

Last verified: 2026-09-03 against main.