Proctoring
Honorlock and AI overlays, a technical breakdown
What Honorlock can see, what it cannot, and how Whisply's overlay sits relative to its Chrome extension, webcam feed, and screen capture path.
Honorlock is a Chrome extension plus a recorded webcam, microphone, and screen feed. It inspects browser state and proctored video. It does not inspect the macOS window list. Whisply runs above the browser at the window-server layer.
- Honorlock runs as a Chrome extension and a recording session. Its primary signal is the browser tab, the webcam, the microphone, and the shared screen.
- Whisply is a Mac-native app, not a Chrome extension. It draws at the window-server layer above Chrome, so browser-scoped inspection cannot enumerate it.
- Screen capture is the real question. Whisply uses NSWindow content-sharing exclusion so the overlay is dropped from the captured pixels by the OS itself.
Honorlock's getDisplayMedia screen capture happens inside Chrome via the WebRTC pipeline, which means it receives whatever frame the macOS window server hands it. On macOS, the OS honors NSWindowSharingNone before pixels ever reach the browser process.
How Honorlock detects external apps
Honorlock installs a Chrome extension that holds elevated browser permissions (tabs, activeTab, webRequest, scripting, desktopCapture) and runs a remote-proctoring session in parallel. During an exam, it captures the active tab, requests a full-screen share through getDisplayMedia, records webcam video and microphone audio, and watches the browser environment for things like tab switches, focus loss, multiple displays, copy-paste events, and DOM mutations on the test page. Honorlock also runs a search-engine watcher that pings whether your test questions appear on indexed pages and an eye-movement classifier on the recorded video. The Honorlock live-pop and AI-flag systems route suspicious moments to a human reviewer; the human is the actual decision point, not the model.
How Whisply’s overlay isolation works
Whisply is a native macOS app written against AppKit. The overlay window sets sharingType to NSWindowSharingNone, which is a flag the macOS window server reads when assembling pixel data for any screen capture client, including the WebRTC display-capture path that Chrome hands to Honorlock. The exclusion happens in the compositor before any process outside Whisply sees the frame, so a Chrome extension asking the browser for screen pixels receives a stream with the overlay already removed. The same exclusion applies to Cmd+Shift+5, QuickTime, and the Screen Recording permission that any Mac app holds. Whisply is also not a browser extension, so chrome.tabs and chrome.management have nothing to enumerate.
Where Honorlock sits in the stack
Honorlock is, architecturally, two things stitched together. The first is a Chrome extension that the test taker installs from the Chrome Web Store. The second is a remote-proctoring session hosted on Honorlock's infrastructure that records the webcam, microphone, and a screen share for the duration of the exam. The extension is the part with detection logic; the recorded session is the part with human review. Each layer answers a different question, and each layer has a different ceiling.
The extension layer can ask Chrome anything Chrome will tell it. That means the active tab URL, focus events, copy and paste events, the DOM of the test page, and the state of other extensions that disclose themselves through chrome.management. Honorlock uses this to flag tab switches, second-window opens, and obvious automation patterns on the page itself. None of these signals reach outside the Chrome process tree.
The recorded session layer is where webcam, microphone, and the shared screen live. Honorlock uses getDisplayMedia to ask the browser for either an entire display or a specific window. The browser, in turn, asks the operating system. On macOS, the operating system is the final authority on what bytes appear in a screen capture stream. That is the boundary Whisply is built against.
What Honorlock does not see
The browser extension cannot enumerate native macOS applications. Chrome does not have an API that exposes the system's window list to extensions, and even Chrome itself cannot see the contents of a Mac window owned by another process unless screen capture is granted and the window does not opt out of sharing. So a Mac-native menu bar app drawn above the browser is, from the Chrome extension's perspective, invisible to its detection code.
Honorlock's room-scan and ID check happen before the exam over the webcam. They look for second monitors, second devices, and notes within frame. They do not enumerate processes on your Mac. The room scan is a video clip of the physical environment, judged by a human, not a hardware audit of your machine.
Honorlock's search-engine watcher checks whether the exam questions are appearing on the public internet from indexed sites. It does not see your local clipboard, your local LLM session, or a private assistant that never sends the question to a public search index.
Why the macOS overlay layer is the right altitude
The honest engineering reason Whisply is Mac-only is the window server. Apple's compositor reads a single bit per window, sharingType, and uses it to decide whether the window's pixels are included in any frame handed to a capture client. AVCaptureScreenInput, ScreenCaptureKit, the QuickTime path, the WebRTC display-capture path inside Chromium, and the Cmd+Shift+5 screenshot tool all respect that bit. Whisply sets it to NSWindowSharingNone on every overlay window it owns.
This is a single point of truth. Whisply does not need to know that Honorlock is the one asking for the screen. It does not need to detect Chrome, or Zoom, or Loom, or QuickTime. The macOS compositor handles the exclusion before any other process receives the pixels. That is why we put the work there instead of trying to identify and ship around every proctor individually.
The cost is the platform limit. There is no equivalent path on Windows that is as clean, which is why Whisply does not have a Windows build. The category we built is a macOS overlay, and the trade we accepted is that it works on macOS or it does not work at all.
What Pro Undetected adds on top
The free and Pro tiers already use the NSWindowSharingNone exclusion. Pro Undetected adds an armed mode that hardens Whisply against proctors that try to detect the app through indirect signals, including process-name fingerprinting, hardware-event polling, and accessibility-API enumeration. Honorlock's Chrome extension is not in the category that benefits from arming, but several lockdown-style proctors are, which is why armed mode is a single switch rather than per-vendor configuration.
Pro Undetected also unlocks Computer Use, which lets Whisply act on your Mac through the Accessibility permission. This is the mode where the assistant can click, type, and operate UI on your behalf. It is not specific to proctored environments and is not recommended during exams. Use it for the work that happens between exams.
Honorlock is in Whisply's built-in supported list out of the box on Pro Undetected, alongside LockDown Browser, Safe Exam Browser, Examplify, OnVUE, Proctorio, Prometric, Guardian, Inspera, Examity, and the rest. No per-proctor setup is needed from you.
Limits, honestly stated
The overlay-exclusion model only protects pixels. If you speak to the assistant out loud during a recorded session, the microphone captures your voice and the proctor has the audio. If you read an answer off the overlay and your eye movement is enough for the eye-tracking model to flag, the eye-tracking model will flag it. The technology removes the overlay from the recording. It does not remove the human in front of the recording.
Behavioral signals are also out of scope for any window-level exclusion. Honorlock flags long pauses, sudden answer reveals, and looking off-screen the same way regardless of whether anything was actually there. A clean compatibility matrix on this page is not a promise that a human reviewer will not flag a session for reasons unrelated to the overlay.
And the standard caveat. Proctors update their detection logic, browsers update their capture APIs, and macOS updates the window server. We track all three and adjust. We do not promise an indefinite future where any specific combination behaves the same as it did the day this page was written.
Compatibility matrix
| Scenario | Whisply behavior |
|---|---|
| Honorlock Chrome extension active during a Canvas or Blackboard quiz | The extension's tab and DOM inspection runs entirely inside Chrome. Whisply is a separate macOS process drawing above the browser window, so the extension's permissions do not reach it. |
| Honorlock requests full-screen share via getDisplayMedia | macOS hands Chrome a composed frame with NSWindowSharingNone windows excluded. The Whisply overlay is not in the pixels Chrome receives, so it is not in the recording Honorlock uploads. |
| Webcam recording during the exam | Whisply does not appear on your webcam unless your physical face or a second screen does. The overlay lives on the same Mac display the proctor records from the share pipeline, not from the camera. |
| Microphone recording during the exam | Whisply's voice features use the same input device. If you speak to the assistant out loud, the microphone captures your voice and Honorlock records it. Keyboard input and on-screen reading do not produce audio. |
| Cmd+Tab or Mission Control during the exam | Honorlock flags focus loss from the test tab. Cmd+Tab to a different app or to Mission Control is visible as a tab-blur event in the browser session, regardless of what the other app is. |
| Second monitor connected | Honorlock checks for multiple displays at session start and during the session. A second display will be flagged independently of what runs on it. Disconnect before the room scan. |
| Cmd+Shift+5 macOS screenshot during the exam | The macOS screenshot tool is a separate capture client and respects the same NSWindowSharingNone flag. The Whisply overlay does not appear in screenshots, but the act of pressing the shortcut may register as focus loss to Honorlock. |
| Honorlock Smart Proctoring with human reviewer | A flagged session is reviewed by a person watching the recorded share and webcam feed. The reviewer sees whatever the recording contains, which is the captured stream minus the excluded overlay windows. |
A note on academic honesty
If your course, certification, or test administrator prohibits external AI assistance during a proctored exam, using Whisply during that exam is a violation of those rules. Whether or not Honorlock flags the session does not change that. The rules belong to the institution. The obligation to follow them belongs to you. Whisply is a private real-time AI assistant we built for the kinds of conversations and work where help is allowed and useful. We are not in the business of telling you to break your honor code, and we are not in the business of pretending the question does not exist. Read your syllabus, read the exam policy, and decide before the exam starts, not during.
Related questions
Can Honorlock detect AI?
Honorlock detects what its sensors can see. The Chrome extension sees tab activity, focus events, and DOM behavior inside the browser. The recording session sees the webcam, the microphone, and the shared screen pixels the OS hands to Chrome. Honorlock's AI flags behavioral patterns inside that data for a human reviewer to judge. It does not enumerate macOS windows or processes. Whisply is a Mac-native overlay outside that surface, with NSWindowSharingNone applied so its windows are absent from the captured pixels.
Does Honorlock record my screen?
Yes, during a session that requires screen sharing. Honorlock uses the browser's getDisplayMedia API to capture either a full display or a specific window, and uploads that recording for review. On macOS, the captured frame is what the window server composites and hands back, which means windows marked NSWindowSharingNone are not in the recording the proctor receives.
Does Whisply show up in the Honorlock recording on a Mac?
On Mac, the Whisply overlay is set to NSWindowSharingNone, which is the macOS flag that excludes a window from every screen-capture client including the WebRTC path Chrome uses for Honorlock. The composed frame Chrome receives does not contain the overlay pixels, so the recording uploaded to Honorlock does not contain them either. This is an OS-level guarantee, not a userspace trick.
Will Honorlock's Chrome extension see Whisply running?
Chrome extensions cannot enumerate native macOS apps. The chrome.management and chrome.tabs APIs only see browser surfaces. Whisply is not a browser extension and does not register with Chrome at all, so the extension has nothing to inspect. The only way the extension could become aware of Whisply is through indirect signals like focus loss, which is a behavioral flag, not a detection of the app itself.
Does Honorlock flag a second monitor?
Yes. Honorlock checks for additional displays at session start and periodically during the exam. A second monitor will be flagged regardless of what runs on it. If you are sitting an exam with Honorlock, disconnect any external display before the room scan.
Can the human reviewer see Whisply if the AI flag missed it?
A human reviewer sees the same recording the AI flagging system saw. If the overlay was excluded from the capture stream by NSWindowSharingNone, it was excluded from the file the reviewer watches. The reviewer does not have a separate camera into your Mac. They have the recording.
Is Honorlock in Whisply's built-in supported list?
Yes. Honorlock is supported out of the box on Pro Undetected, alongside LockDown Browser, Safe Exam Browser, Examplify, OnVUE, Proctorio, Prometric, Guardian, Inspera, Examity, and the rest. No per-proctor setup is needed beyond the Pro Undetected arming step that the docs walk through.
Try Whisply free.
Mac only. macOS 13 or later. No bot in your calls.