Default Options

The .setup() method accepts a proctoringOptions object that controls what AutoProctor monitors and how the proctoring UI behaves.

await apInst.setup(proctoringOptions)

Tracking Options

The trackingOptions key defines which monitoring features are active during a test.

const proctoringOptions = {
  trackingOptions: {
    audio: true,
    numHumans: true,
    tabSwitch: true,
    // ... see full list below
  }
}
OptionTypeDefaultDescription
audiobooltrueDetect sound above a minimum threshold. Learn more
numHumansbooltrueDetect zero or multiple faces in the camera feed. Learn more
tabSwitchbooltrueDetect when the candidate switches to another tab or window. Learn more
captureSwitchedTabbooltrueCapture a screenshot of the tab the candidate switched to. Learn more
photosAtRandombooltrueCapture photos of the candidate at random intervals. If testDuration is provided, captures are distributed evenly across the test duration.
numPhotosAtRandomint25Number of random photos to capture (max 100).
recordSessionboolfalseRecord the full session for playback. Learn more. Costs extra
testTakerPhotoboolfalseCapture a photo of the candidate at the start of the test.
forceFullScreenboolfalseRequire the candidate to take the test in full-screen mode. Requires testContainerId to be set.
detectMultipleScreensbooltrueWarn candidates connected to external monitors and log it in the report if they proceed. Learn more
forceDesktopboolfalseRequire the candidate to use a desktop or laptop device.
auxiliaryDeviceboolfalseRequire the candidate to pair their phone for 360-degree proctoring. Learn more. Costs extra
idCardVerificationobjectnullVerify candidate identity against a photo ID. Learn more. Costs extra
multiSessionAttemptboolfalseDetect when the same test attempt is accessed from multiple devices, browsers, or IP addresses. Learn more
impersonationboolfalseCompare random photos with the initial candidate photo to detect if a different person is taking the test. Learn more. Costs extra
disableCopyPasteboolfalseBlock copy (Ctrl+C / Cmd+C) and paste (Ctrl+V / Cmd+V) keyboard shortcuts during the test.

General Options

These options are set at the top level of the proctoringOptions object, alongside trackingOptions.

OptionTypeDefaultDescription
testDurationint15Expected test duration in minutes. Used to distribute random photo captures evenly.
showHowToVideobooltrueShow the how-to video before the test begins.
lookupKeystrnullAn arbitrary string for grouping test attempts. See Lookup Key.
userDetails.namestrnullCandidate name, displayed in the proctoring report.
userDetails.emailstrnullCandidate email, displayed in the proctoring report.
testContainerIdstrnullDOM element ID wrapping the test content. Required when forceFullScreen is true.
auxDeviceContainerIdstrnullDOM element ID for the auxiliary device container. Required when auxiliaryDevice is true.
auxDevicePathstrnullCustom URL path for the auxiliary device page. Defaults to AutoProctor's hosted page.
informUser.testAdminbooltrueCollect evidence for the proctoring report.
informUser.testTakerbooltrueShow real-time violation notifications to the candidate during the test.

Lookup Key

AutoProctor identifies test attempts by testAttemptId, not by any test or quiz identifier from your system. If you want to group and filter test attempts later — for example, by quiz ID or course ID — pass a lookupKey when initializing the test. It can be any string meaningful to your application.