TestUtopia
SolutionsPricingAboutContact
Methodology

How the AI proctoring risk score works.

Customers who enable AI proctoring on a test get a per-attempt risk score from 0 to 100 in their results dashboard. This page explains what goes into the score, what the score is, and — equally important — what it is not.

What the score means

The score is a weighted sum of independent proctoring signals. Each signal contributes points up to a cap. The total is bounded at 100 and bucketed into three bands the recruiter UI surfaces as colour-coded badges:

  • Low (0–29)

    No signal or only minor signals.

  • Medium (30–69)

    Worth a manual review of the breakdown.

  • High (70–100)

    Multiple strong signals fired — investigate before deciding.

Signals and weights

The current heuristic engine version is heuristic-v1. Each contribution shows up in the recruiter breakdown with the raw event timestamps so the score is fully traceable, never a black box.

SignalWhat it detectsPoints (and cap)
Device fingerprint changedThe browser fingerprint differed between attempt start and end — possible takeover.+20 (cap 20)
Multiple displays detectedA second monitor or extended display became active during the attempt.+15 (cap 15)
IP address changedNetwork IP visible to the server changed mid-attempt.+12 (cap 12)
Completion suspiciously fastAttempt was submitted in under 30% of the available time window.+10 (cap 10)
Instant code appearanceCode appeared in the editor less than 2 seconds after a coding question rendered — typical paste signature.+8 per question, cap 16
Fullscreen exitThe candidate exited fullscreen mode during the attempt.+6 per exit, cap 18
Paste eventsA paste was detected, including large single-change inserts (>50 characters) inside the code editor.+5 per event, cap 25
Tab switchingA tab-switch was flagged as a violation (returned-to-tab events do not count).+4 per violation, cap 24
Geolocation driftBrowser-reported location moved by 10km or more during the attempt.+3 per 10km block, cap 18
Off-hours attemptStarted between 03:00 and 05:00 in the candidate’s local timezone.+3 (cap 3)

What the score is not

  • Not a hiring decision. The score is advisory input for the recruiter. Final pass/fail and hiring outcomes are made by humans, not by the score.
  • Not a profiling decision under GDPR Article 22. Test Utopia does not produce automated decisions with legal or similarly significant effects. The score is shown to the recruiter as an aid; they choose how to use it.
  • Not stored beyond the attempt. The risk score and breakdown live on the same test_attempts row as the rest of the candidate’s data and are deleted on the same retention schedule (or sooner on a Data Subject Request — see Privacy).
  • Not a behavioural model trained on candidate data. The current engine is deterministic and rule-based; the same inputs always produce the same score. No machine-learning model is trained on candidate data without an explicit, future, separately-disclosed methodology change.
  • Not enabled by default. Customers must opt-in per test (Test settings → AI Proctoring Risk Score). Tests without the toggle do not produce a score; existing attempts that completed before the feature shipped do not retroactively get one.

Candidate notice

When a customer enables AI proctoring on a test, the proctoring telemetry is the same telemetry the existing test-protection toggles produce — fullscreen, tab switching, paste detection, geolocation, and so on. The risk score is a derived view of that telemetry, not new data collection. Candidates see the protection features that are enabled before they begin the test, in the test introduction screen.

Roadmap

  • Phase 1 — heuristic-v1 (shipped). The signals and weights described on this page.
  • Phase 2 — LLM code-authenticity scoring (shipped). On every completed attempt of a proctoring-enabled test, the candidate’s submission history is sent to a large language model provider with the question prompt, starter code, every code submission attempt, and the timestamps of any paste events captured during the attempt. The model returns a 0–100 authenticity score plus a short reasoning paragraph; we combine it with the Phase 1 heuristic via final = max(heuristic, llm) so neither path alone can bury a strong signal. The LLM call is async (runs in a separate worker process), never blocks attempt completion, and is capped by a per-tenant daily budget. What the call sees: final code, every submission’s code text, paste-event timestamps. What the call does not see: keystroke-level telemetry, candidate identity, webcam, microphone.
See full security posture
TestUtopia

Advanced technical assessment engine designed for high-precision engineering teams. Curating talent through rigorous data-driven evaluation.

Solutions

  • Solutions
  • Pricing
  • Features

Company

  • About

Support

  • Help Center
  • Contact support

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy
  • Security
  • Trust Center
Test Utopia Ltd · Razsadnika-Konyiovitsa, Bl. 22, fl. 6, ap. 38, Sofia, 1330, Bulgaria
Reg. No.: 207409973|VAT: BG207409973
[email protected]|+359 886 363 248

© 2026 Test Utopia Ltd. All rights reserved.