It depends entirely on which layer is running the assessment, and the gap between layers is larger than most advice admits. A coding assessment that lives in an ordinary browser tab cannot see your hypervisor at all; it can only read fingerprinting signals that correlate with virtualization. A desktop lockdown app can check directly, and at least one major hiring platform documents that it does. Academic-style exam browsers go furthest and refuse to launch inside a virtual machine by default.
This article explains what each layer can observe, how reliable those observations are, and why a virtual machine is a worse idea than the content farms selling it suggest — not because detection is certain, but because the environments where it would matter are the same ones that block it outright, and the environments that do not block it are not watching your host anyway. Facts are current as of 3 September 2026 and are drawn from vendor documentation.
The four layers, and what each one can see
"The assessment" is not one thing. Before asking whether a VM is visible, identify which of these you are actually facing:
| Layer | What it runs as | Can it see virtualization? |
|---|---|---|
| Browser-based assessment | A web page in your normal browser | Only indirect fingerprint signals |
| Screen share in a live interview | A capture stream you select | Only what is inside the shared surface |
| Desktop lockdown app | A native app you install | Yes, and some vendors block on it |
| Exam browser (Respondus, SEB) | A native app replacing your desktop | Yes, and refuses to run by default |
The rest of this article works down that list. If you are not sure which layer applies to you, the invitation email and the platform's own pre-test disclosure are the authoritative answer, not general advice.
What a browser tab can actually observe
A web page has no API for "am I running in a virtual machine." There is no navigator.isVirtualMachine. What a page can do is collect ordinary device characteristics and notice that the combination looks unusual.
The graphics renderer string is the strongest browser-side hint
The WEBGL_debug_renderer_info extension exposes two values, UNMASKED_VENDOR_WEBGL and UNMASKED_RENDERER_WEBGL, described by MDN as the "vendor string" and "renderer string of the graphics driver" (MDN Web Docs, WEBGL_debug_renderer_info). MDN records the extension as baseline and widely available across browsers since April 2017.
Inside a virtual machine, that string frequently names the virtual adapter or a software rasterizer rather than a physical GPU. A 2018 Mozilla bug report from a Firefox user running inside VMware records the graphics device being identified as "VMware SVGA 3D" (Bugzilla #1429587). Guest systems without paravirtualized graphics commonly fall back to the software renderers llvmpipe or SwiftShader. The fraud-detection vendor FingerprintIQ describes exactly this technique, stating that it analyzes "WebGL renderer strings for virtual GPU indicators (llvmpipe, VirtualBox, VMware SVGA)" (FingerprintIQ, VM detection signals) — a vendor description of its own product, not independently verified behavior.
There is a second-order signal in the same place. That Mozilla bug is a report of WebGL being disabled in the VM, with Firefox reporting FEATURE_FAILURE_UNKNOWN_DEVICE_VENDOR because the VMware driver was not on the vendor allowlist. A page that expects hardware rendering and gets a hard WebGL initialization failure has learned something too. Absence is legible.
Core counts, memory, and screen geometry are weaker corroboration
navigator.hardwareConcurrency and navigator.deviceMemory report values a hypervisor assigns, and default VM configurations cluster on round numbers such as 2 or 4 cores paired with 4 GB. Guest displays often report unusual resolutions that no shipping laptop panel uses. FingerprintIQ names this same pair, citing "screen resolution patterns and CPU core counts typical of VM configurations."
None of these is conclusive on its own. Taken together they form a probability, which is why FingerprintIQ frames the approach as multi-signal and notes that "VM usage combined with other signals can indicate organized fraud rings."
Why these remain heuristics
Every one of these signals has an innocent explanation, and browsers actively interfere with collecting them. MDN notes that the renderer extension "might only be available to privileged contexts or not work at all" depending on browser privacy settings, and that in Firefox the extension is disabled outright when privacy.resistFingerprinting is set to true. A candidate on a hardened browser profile produces the same blank as a candidate hiding something.
More importantly, the browser layer is the wrong place to look. A web page inferring virtualization is inferring it about the environment the page itself is running in. It learns nothing about a separate machine, a separate device, or the host underneath. This is the same structural limit that governs what an interview website can learn about other applications running on your computer: the browser sandbox is the boundary, and fingerprinting does not cross it.
What a desktop lockdown app can observe
Once you install a native application, the sandbox is gone and the question changes from inference to a direct system query.
HackerRank's Desktop App Mode is explicit about this. Among its integrity controls, HackerRank's own documentation lists that it "prevents the test from running on a virtual machine" (HackerRank, Desktop App Mode). The same documentation describes a single non-mirrored monitor requirement, force-closing of other applications, gaze detection through the webcam, and detection of new monitors connected mid-test. Note the verb: HackerRank documents prevention, not silent flagging. The failure mode is that the test does not start.
If you want the full picture of what installing that class of software involves, we covered it separately in what HackerRank's Desktop App Mode installs and watches.
Exam browsers block virtual machines by default
The academic proctoring tier is stricter still, and its documentation is the clearest public evidence of how this works.
Safe Exam Browser's Windows manual states that "SEB detects when it was started in a virtual instead of a native environment and refuses to run, if not explicitly allowed to," and describes the corresponding setting, "Allow SEB to run inside virtual machine," as indicating "if SEB is allowed to run in a virtual machine (e.g. for exams in virtual desktop environments) or not (in order to prevent potential manipulation)" (Safe Exam Browser Windows User Manual). Detection is on, and permission is a deliberate exception an administrator grants.
Respondus LockDown Browser is blunter. Its support documentation covers the warning "The browser cant be used in virtual machine software such as Virtual PC, VMWare and Parallels," and states that students are not permitted to run LockDown Browser when a virtual machine is detected on the system, extending the restriction to thin apps and Windows emulators (Respondus Support). The article's suggested remedies are telling: remove leftover virtualization drivers from Device Manager, or use a different computer. There is no documented instructor override.
ProctorU's operating-system requirements take the same position without the technical drama: "If you are running within a virtual machine when you connect with us, you will be asked to exit your virtual machine and reconnect using your host operating system to take your test" (ProctorU, Operating Systems). That specific page is now marked deprecated in favor of ProctorU's current equipment requirements, so treat it as evidence of a long-standing policy rather than today's exact wording.
Some platforms deliver the assessment inside a VM on purpose
The assumption that a virtual machine is inherently suspicious does not survive contact with the vendors.
Inspera documents Virtual Desktop Infrastructure as a supported, opt-in delivery mode: the functionality "must be activated for your institution by contacting Service Desk," the institution supplies the VDI itself because "the VDI solution is not provided by Inspera," and it is designed for use inside Safe Exam Browser on Windows and Mac (Inspera Help Center, Virtual Desktop Infrastructure). This is precisely the exception SEB's allowVirtualMachine setting exists to enable.
The same logic appears on the hiring side, where assessments that test desktop software have to run that software somewhere, and a provisioned virtual environment is the natural answer. Virtualization is not the signal. Unsanctioned virtualization in a context where the platform expected a native host is the signal.
The false positives nobody plans for
This is where the naive framing breaks down, and it is the part worth raising with a recruiter before test day rather than after.
Plenty of candidates are legitimately virtualized. Anyone taking an assessment on a corporate laptop that routes work through Citrix, Azure Virtual Desktop, or a similar managed desktop is inside a virtual environment by employer policy and often cannot opt out. Cloud development machines produce the same profile. So does a Linux user running Windows-only assessment software in a VM because the vendor ships no Linux build — Respondus's own troubleshooting acknowledges leftover virtualization drivers can trigger the warning on a machine that is not virtualized at all.
The browser-layer signals are looser still. A privacy-hardened Firefox profile suppresses the renderer string. Low-end and GPU-less hardware falls back to software rendering without any hypervisor involved. A conservative fingerprinting rule that treats a software renderer as evidence of virtualization will catch those candidates too.
If an integrity signal does fire, it is a flag and not a verdict, and the process that follows varies enormously by employer — what actually happens after a coding assessment flags you covers that path in detail.
What to do before the assessment
- Identify the layer. A browser link, a downloadable desktop app, and a live screen share have different rules. The install prompt tells you which one you are in.
- Read the platform's own disclosure. Pre-test screens and invitation emails state the environment requirements, and they override general advice including this article.
- Disclose a required virtual desktop in advance. If your only available machine is a managed VDI, say so to the recruiter before the session and ask for an alternative or a note on file. This is a scheduling problem when raised early and an integrity problem when discovered late.
- Do not treat a VM as a workaround. In the lockdown tier it prevents the test from starting; in the browser tier there is nothing for it to defeat.
Where a desktop assistant fits, and where it does not
Control is a desktop AI interview assistant for Windows and macOS, built for interviews, assessments, and screen-share workflows as a native overlay rather than a browser extension. Its scope is the screen-share and live-interview layer, and its documented behavior concerns what appears in a shared capture surface — a different mechanism from the OS-level enforcement an installed lockdown app performs.
That distinction matters here more than anywhere. When an assessment ships as a lockdown desktop app that force-closes other applications and refuses to run in a VM, that is not a workflow where candidate-side assistance applies, and stacking a virtual machine underneath does not change the outcome. The honest read of HackerRank's documentation is that this tier is designed to be a closed environment, and it should be treated as one. Control publishes a small free allowance — 5 messages and 2 minutes of voice for new users, with paid access from a $12 day pass — which is enough to test how the app behaves in your own setup before you rely on it for anything, and to establish which of your upcoming sessions it is actually appropriate for.
The short version
A browser-based coding assessment cannot detect your virtual machine directly; it can only infer virtualization from graphics renderer strings, core counts, and screen geometry, all of which have innocent explanations and all of which privacy settings can suppress. A desktop lockdown app can check directly, and HackerRank documents that its Desktop App Mode prevents tests from running on a VM. Exam browsers including Safe Exam Browser and Respondus LockDown Browser refuse to launch in a virtual machine unless an administrator explicitly allows it. And several platforms deliver assessments inside virtual desktops deliberately, which is why the useful question is never "is a VM detectable" but "what did this specific platform say it expects, and does my machine match it."
Share
Explore with AI
Continue exploring
Related guides
Assessment Guides · 7 min read
Can a Coding Interview Detect a Second Monitor?
What a browser, a screen share, a lockdown app, and a webcam can each learn about your display setup during a remote coding interview or assessment.
Assessment Guides · 7 min read
When the Coding Assessment Is an App, Not a Website
HackerRank's Desktop App Mode moves assessments out of the browser into OS-level lockdown. What it installs, what it watches, and how to prepare.
Assessment Guides · 5 min read
Can Codility Detect ChatGPT? Typing Patterns and AI Matches
Codility names ChatGPT and Claude in its Typing Pattern Detection and matches submissions against AI-generated solutions. What each layer flags and its limits.