Proctoring Options Object

The proctoringOptions object is an argument of the setup() method. It lets you set the different tracking options and also some aspects of the UI/UX.

The trackingOptions Object

Let's start with the tracking options which is an object that is the value of the trackingOptions key. The table below lists all the keys of this object and their default values.

proctoringOptions = {
  trackingOptions: {..},
  ...
}
keydatatypemeaningdefault
audioboolDetect sound above a minimum thresholdtrue
numHumansboolDetect if no faces or multiple faces are seen in camera feedtrue
tabSwitchboolDetect if user has switched away from current tab into another tab/windowtrue
captureSwitchedTabboolCapture a screenshot of the switched tabtrue
photosAtRandomboolCapture a photo of the user at random intervals. Providing testDuration will randomize this capture throughout the duration.true
numPhotosAtRandomintNumber of photos to capture (max = 25)25
recordSessionboolRecord the entire session for playback later. Costs extra false
testTakerPhotoboolCapture a photo of the user at the beginning of the testfalse
forceFullScreenboolForce the user to take the test in full screen mode. If set to true, this key must be accompanied by the testContainerId key in proctoringOptionsfalse
detectMultipleScreensboolIf the user's device is connected to an external monitor, throw a warning asking them to disconnect. If they proceed without disconnecting, the proctoring report mentions that multiple monitors were detected.true
forceDesktopboolForce the user to take the test on a desktopfalse
showCamPreviewboolShow the user's video feed as a video inset at the bottom-left of screenfalse
auxiliaryDeviceboolCandidate must scan a QR code on their primary device (laptop) to fire up additional proctoring on an auxiliary device (phone). If set to true, this key must be accompanied by the auxDeviceTestContainerId key in proctoringOptions. Costs extra false

Other Options

Apart from the tracking options, there are some other options that you can set. The table below lists all the keys of this object and their default values.

keydatatypemeaningdefault
testDurationintThe duration of the test in minutes (optional)null
showHowToVideoboolShow the how-to video at the beginning of the testtrue
lookupKeystrSee belownull
userDetails.namestrShow the user's name below their photonull
userDetails.emailstrShow the user's email below their photonull
testContainerIdstrThe ID of the DOM element that wraps the entire test. This key must be passed with proper value if forceFullScreen is set to true in trackingOptionsnull
auxDeviceTestContainerIdstrThe ID of the DOM element that wraps the container to be shown on Auxiliary Device. This key must be passed with proper value if auxiliaryDevice is set to true in trackingOptionsnull
informUser.testAdminboolDetermines whether or not the evidence is collected to be shown in the final reporttrue
informUser.testTakerboolEnables real-time notifications of the violations during the testtrue

Lookup Key

At AutoProctor, we do not store details of the actual test that is being proctored. For example, we won't know if Quiz 1 is being proctored or Quiz 2, because you initialize the SDK with the testAttemptId and not testId. But, if you want to later filter a set of test attempts, you can optionally pass a lookup key while initializing the test attempt. For AutoProctor, it is just another key you can filter by, so it isn't restricted to the Test ID usecase we mention here.

Costs

Enabling auxiliary device and session recording costs extra. 1 credit = 1 test attempt

Auxiliary Device?Session Recording?# credits deducted while trialing# credits after trial ends
NoNo11
NoYes25
YesNo25
YesYes310