If the exam ships an installed client, yes, and it is barely an effort. A virtual machine announces itself: the processor hands back a hypervisor vendor string when asked, the display adapter and the disk are named after the hypervisor vendor, and the network card's address prefix is registered to that same vendor. Remote desktop is easier still, because Windows has a documented flag that tells any program, with no special privileges, that it is being viewed over a remote session. The only real variable is which layer the proctoring code runs in.
That last point decides everything else on this page, so take it first. A proctoring feature living inside an ordinary browser tab is sealed inside a sandbox designed to hide exactly these details. An installed lockdown client is a native Windows program with the same view of the machine as any other native Windows program. Between them sits a browser extension, which sees more of the browser and no more of the hardware. Same question, three very different answers.
Which layer can read what
| Where the proctoring code runs | Can it read CPU, firmware and device names? | Can it read the Windows remote-session flag? | What it relies on instead |
|---|---|---|---|
| A page in a normal browser tab | No. There is no web API for CPUID, firmware strings, disk models or MAC addresses. The sandbox exists to prevent this. | No. A web page cannot call operating-system functions at all. | Inference from what the browser does expose: the WebGL renderer name, core count, memory hint, screen size, timing behaviour. |
| A browser extension | Mostly no. It gains browser privileges, not hardware privileges. Display enumeration and tab awareness widen, the hardware view does not. | No. Still no path to a native system call. | The same inference, plus tab, window and display information the page alone cannot reach. Capabilities differ by vendor and version. |
| An installed client or lockdown browser | Yes, completely. Ordinary documented calls return the CPU vendor leaf, the firmware manufacturer and model, every device name and the running process list. | Yes. One function call, no administrator rights, an unambiguous answer. | Nothing. It does not need to infer, so it can refuse to start rather than merely record a suspicion. |
Respondus LockDown Browser is the familiar example of that third row, and its stated behaviour is a flat refusal to run inside a virtual machine or a remote desktop session. Exact wording and edge cases move between versions and institution settings, so treat the category as reliable and the specific message as not worth predicting.
Signal one: the processor says "hypervisor"
The x86 instruction set has an information query called CPUID. One of its results carries a hypervisor-present bit, and where that bit is set, a further query returns a twelve-character vendor string that the hypervisor itself fills in. The strings are not obfuscated in the slightest:
VMwareVMwarefor VMware productsVBoxVBoxVBoxfor VirtualBoxKVMKVMKVMfor Linux KVMMicrosoft Hvfor Hyper-VXenVMMXenVMMfor Xenprl hypervfor ParallelsTCGTCGTCGTCGfor QEMU running without hardware acceleration
Here is the part most explanations leave out. The hypervisor bit on its own is now weak evidence, because modern Windows runs a hypervisor on plenty of perfectly ordinary physical laptops. Turn on Virtualization-Based Security, Memory Integrity, Credential Guard, WSL2, Windows Sandbox or Hyper-V itself, and your physical machine reports the bit set with a Microsoft vendor string, from a desk, on real hardware. A tool that flagged on that bit alone would flag a large share of its honest candidates. So the bit opens the question and the next signal answers it.
Signal two: the virtual hardware is named after its vendor
Emulated devices are not disguised. Nobody building a hypervisor was trying to hide it, so the names went in plainly and stayed there:
- Display adapter.
VMware SVGA 3D,VirtualBox Graphics Adapter,Microsoft Hyper-V Video,Red Hat QXL controller,Parallels Display Adapter. A physical laptop names an Intel, AMD or NVIDIA part instead. - Disk model.
VMware Virtual S,VBOX HARDDISK,QEMU HARDDISK,Msft Virtual Disk, where real hardware carries a manufacturer part number. - Firmware manufacturer and model. The system information tables report
VMware, Inc.,innotek GmbH,QEMU, orMicrosoft Corporationpaired with the modelVirtual Machine. - Network address prefix. The first three bytes of a MAC address identify the organisation that was allocated it.
00:50:56and00:0C:29belong to VMware,08:00:27to VirtualBox,00:15:5Dto Hyper-V,00:1C:42to Parallels. - Guest tooling. Processes and services such as
vmtoolsd.exe,VBoxService.exeandVBoxTray.exe, plus their drivers, sit in the process list where anything can see them.
Absences count too. A virtual machine frequently has no battery device, a blank or templated firmware serial number, one generic audio endpoint, a small core count, and a screen size nobody ships in a laptop. None of those alone means anything. Four of them together, with a vendor string above them, is not ambiguous.
Read your own machine the way a client would, in five commands
Open Windows PowerShell and run these. It is the same information an installed client collects in its first second, and it takes about a minute.
Firmware manufacturer and model
Get-CimInstance Win32_ComputerSystem | Select-Object Manufacturer, Model. A physical machine returns something like Dell Inc. and Latitude 5540. A guest returns VMware, Inc. and VMware Virtual Platform, or Microsoft Corporation and Virtual Machine.
Display adapter
Get-CimInstance Win32_VideoController | Select-Object Name. Look for a real GPU part name. Anything containing SVGA, QXL, Hyper-V Video or Graphics Adapter is the emulated device, and the mirror drivers installed by remote-control software appear in this same list.
Disk model
Get-CimInstance Win32_DiskDrive | Select-Object Model. A manufacturer part number is normal. VBOX HARDDISK, QEMU HARDDISK or VMware Virtual S is not.
Network address prefix
getmac /v. Compare the first three bytes against the prefixes listed above. A hypervisor allocates from its own registered block by default, which is why this check is so quietly effective.
Session type
$env:SESSIONNAME, then query session. Sitting at the machine gives you Console. Connected over Remote Desktop gives you RDP-Tcp#3 or similar, and the session list names the protocol outright.
Whatever those five return is roughly what the exam client sees. If you were expecting a machine to look anonymous, this is the fastest way to find out that it does not.
Signal three: Windows hands out the remote session for free
This is the one worth internalising. Windows exposes a system metric named SM_REMOTESESSION. A program calls GetSystemMetrics with it and receives a non-zero value whenever that program is running inside a Remote Desktop or terminal-services session. No administrator rights. No heuristics. No timing tricks. One call, one answer, and the operating system is the party volunteering it. The SESSIONNAME environment variable tells the same story in plain text, which is why the fifth command above works from a prompt.
Third-party remote-control tools behave differently, and the difference matters. TeamViewer, AnyDesk, Chrome Remote Desktop and Splashtop typically drive the existing console session rather than creating a terminal-services session, so that flag stays at zero. They are found by another route: a process with a known executable name, a background service that installs alongside it, a mirror or virtual display driver added to the device list, and input arriving from a software driver rather than physical keyboard and mouse hardware. When a lockdown client refuses to start until you close screen-sharing and remote-control applications, that is this check running. Which names any given vendor watches for is a list that changes release to release, so the sound conclusion is that the category is detected, not that a particular tool is quiet.
What a plain browser tab can only guess at
Where no client is installed, the strongest hint available is the WebGL renderer string. It frequently spells out the adapter, so a page reads VMware SVGA 3D, or a software rasteriser name such as llvmpipe, SwiftShader or Microsoft Basic Render Driver, all of which say no real GPU is present. Around it sit weaker hints: a low reported core count, a memory value at the bottom of the scale, a screen exactly 1024 by 768 or some size no shipping laptop uses, a device pixel ratio of one, and rendering slower than the claimed specification suggests. Browsers also differ in how much of this they reveal, and privacy settings can reduce some of it, so treat any single value as soft. A browser-only tool that decides you are in a virtual machine has produced a suspicion score, not a verdict. That gap is the whole reason strict exams ship an installed client.
This flags honest people constantly
Plenty of legitimate candidates fail these checks, and that deserves saying plainly rather than treating the subject as suspicious by default. Large employers hand out virtual desktops as the only machine an employee has. A locked corporate laptop with Memory Integrity enabled reports a hypervisor from a real desk. Anyone on macOS or Linux facing a Windows-only exam client has no option except a virtual machine. And some accessibility setups genuinely live over a remote session, because the assistive software, the configured input hardware or the screen-reader profile sits on one machine and the person needs to reach it from wherever they are.
The practical move is boring and it works. Raise it in writing with the coordinator before the exam, describe the setup in one sentence, and ask what they support. A blocked start with the clock already running is a far worse morning than an email a week earlier. If the platform truly requires a physical Windows machine, borrow one and complete the entire launch sequence days ahead, including whatever identity step comes first, rather than discovering the requirement at the point of no return. Our other proctoring guides cover what individual platforms record once you are past that launch check.
Where OfferPilot AI is the wrong tool
A vendor publishes this page, so the limits belong on it. Code Copilot is a Windows 10 and 11 desktop application. It is not a virtual machine, it is not a remote desktop, and it is not built to get a candidate through exam software. Its overlay is excluded from screen capture at the operating-system level, so it does not appear in Zoom, Teams, Meet, OBS or a screenshot, while staying visible on your own monitor. Read that against everything above and the boundary is obvious:
- Capture exclusion and virtual machine detection are unrelated mechanisms. One changes what a video stream contains. The other reads processor registers, firmware strings, device names and a system flag, none of which travel through a video stream.
- It does nothing about the checks a lockdown client actually runs. A refusal to start beside remote-control software, a process-list scan, a CPUID read: none of those are screen capture, and no display setting reaches them.
- It does nothing about a webcam, an invigilator in the room, eye tracking, or a phone propped up as a second camera. A proctored exam is the case to leave it out of entirely.
- Running it inside a virtual machine to keep it out of sight is self-defeating, because the virtual machine is the thing being detected. It is Windows only in any case, with no macOS, Linux, mobile or browser build.
The use that stands up is live conversational interviewing and your own timed practice, where nobody has asked you to sit a locked environment. The free tier listed on the plans page is enough to see whether that fits how you work.
The summary is short. Virtual machine detection is a handful of string comparisons, remote desktop detection is a single documented function call, and the layer the code runs in decides which of the two is even available. Nothing about a screen, a monitor arrangement or a window setting takes part in either.
Related guides
- Can Proctoring Software Detect a Second Monitor? How It Knows
- Can You Use Two Monitors During an Online Assessment or Test?
- Does HackerRank Detect Tab Switching? What the Flag Records
- What Respondus LockDown Browser Can Actually See, and Cannot
- Does HackerRank Record Your Screen? What Each Test Mode Captures