Identify AI-assisted misconduct and unauthorized tools with browser-native integrity monitoring.
Flags requests to ChatGPT, Claude, Gemini, and 40+ AI domains — locally, without sending URLs to any server.
Detection runs in WebAssembly in the candidate's browser. No video upload required.
Structured event timelines and trust scores for proportionate, contestable decisions.
Generative AI tools have changed assessment security. Candidates can access AI assistants through multiple vectors — browser extensions, network calls to AI APIs, remote desktop sessions controlled by a second person, or virtual cameras feeding live video to an AI tool. Legacy proctoring that focuses solely on video recording misses most of these.
ProctorSafe patches fetch and XMLHttpRequest on the page and matches outbound requests against a domain blocklist. Covered services include ChatGPT, Claude (Anthropic), Gemini, Microsoft Copilot, Perplexity, and similar AI tools. When a match occurs, a NETWORK_SUSPECT event is emitted with the domain, method, and timestamp — but never the full URL, which may contain sensitive exam content.
Candidates routing their webcam through OBS Virtual Camera, ManyCam, SplitCam, or AnyDesk virtual devices can feed the camera feed to a second person or AI tool in real time. ProctorSafe enumerates videoinput device labels at session start and flags labels matching known virtual camera software, emitting a VIRTUAL_CAMERA_DETECTED event.
ProctorSafe intercepts getDisplayMedia (screen sharing) and monitors device labels for remote desktop tools including TeamViewer and AnyDesk. A REMOTE_DESKTOP_SUSPECTED or SCREEN_SHARING_DETECTED event is emitted with source metadata.
During the preflight check, ProctorSafe enrolls a voice profile using log-mel spectral analysis and median F0 (fundamental frequency) pitch gating. If a second voice is detected during the exam — median spectral distance or F0 delta exceeding configurable thresholds — a SECOND_SPEAKER_SUSPECTED event fires. Audio analysis runs entirely on-device; no audio is transmitted.
TAB_BLUR and TAB_FOCUS events are emitted with timestamped durations. Brief accidental switches are filtered; sustained navigation away is weighted in the trust score.
Unlike cloud-based proctoring that uploads full video for post-hoc analysis, ProctorSafe runs detection locally in the browser via WebAssembly. The Rust-compiled WASM module handles face detection and gaze tracking without transmitting raw video or audio. Only structured event metadata — timestamps, event types, and severity scores — is sent to the review server.
All detected events feed a 0–100 Integrity Budget computed server-side by a deterministic, rule-based algorithm. Events are weighted by severity (CRITICAL / MAJOR / MINOR) and normalized by session duration. Reviewers see a single score alongside a ranked event timeline — enabling rapid triage of high-risk sessions without watching hours of footage.
Every detection event is logged with timestamps and severity. Reviewers access structured timelines and trust scores — supporting proportionate, contestable decisions aligned with your academic integrity policies.
Read our article on detecting generative AI cheating, try the demo, or contact us.
Dive deeper with guides from our articles library.
Why webcam-only proctoring is no longer enough, and which integrity signals help against generative AI assistance.
Read articleTechnical architectureLatency, reliability, and privacy trade-offs between edge (on-device) and cloud-based proctoring architectures.
Read articlePedagogy & ethicsHow to design and operate proctoring that avoids biased outcomes, documents limitations, and keeps humans accountable.
Read articleCommon questions about privacy, compliance, and integration.
Try the interactive demo in your browser, or contact us for a walkthrough tailored to your program.