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
}
}
| Option | Type | Default | Description |
|---|---|---|---|
audio | bool | true | Detect sound above a minimum threshold. Learn more |
numHumans | bool | true | Detect zero or multiple faces in the camera feed. Learn more |
tabSwitch | bool | true | Detect when the candidate switches to another tab or window. Learn more |
captureSwitchedTab | bool | true | Capture a screenshot of the tab the candidate switched to. Learn more |
photosAtRandom | bool | true | Capture photos of the candidate at random intervals. If testDuration is provided, captures are distributed evenly across the test duration. |
numPhotosAtRandom | int | 25 | Number of random photos to capture (max 100). |
recordSession | bool | false | Record the full session for playback. Learn more. Costs extra |
testTakerPhoto | bool | false | Capture a photo of the candidate at the start of the test. |
forceFullScreen | bool | false | Require the candidate to take the test in full-screen mode. Requires testContainerId to be set. |
detectMultipleScreens | bool | true | Warn candidates connected to external monitors and log it in the report if they proceed. Learn more |
forceDesktop | bool | false | Require the candidate to use a desktop or laptop device. |
auxiliaryDevice | bool | false | Require the candidate to pair their phone for 360-degree proctoring. Learn more. Costs extra |
idCardVerification | object | null | Verify candidate identity against a photo ID. Learn more. Costs extra |
multiSessionAttempt | bool | false | Detect when the same test attempt is accessed from multiple devices, browsers, or IP addresses. Learn more |
impersonation | bool | false | Compare random photos with the initial candidate photo to detect if a different person is taking the test. Learn more. Costs extra |
disableCopyPaste | bool | false | Block 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.
| Option | Type | Default | Description |
|---|---|---|---|
testDuration | int | 15 | Expected test duration in minutes. Used to distribute random photo captures evenly. |
showHowToVideo | bool | true | Show the how-to video before the test begins. |
lookupKey | str | null | An arbitrary string for grouping test attempts. See Lookup Key. |
userDetails.name | str | null | Candidate name, displayed in the proctoring report. |
userDetails.email | str | null | Candidate email, displayed in the proctoring report. |
testContainerId | str | null | DOM element ID wrapping the test content. Required when forceFullScreen is true. |
auxDeviceContainerId | str | null | DOM element ID for the auxiliary device container. Required when auxiliaryDevice is true. |
auxDevicePath | str | null | Custom URL path for the auxiliary device page. Defaults to AutoProctor's hosted page. |
informUser.testAdmin | bool | true | Collect evidence for the proctoring report. |
informUser.testTaker | bool | true | Show 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.