Chameleon Logo Chameleon
Deep Dives 10 min read • 2026-09-17

How Screen Share Detection Works: Can Zoom, Teams & Google Meet Detect Excluded Windows?

Deep architectural analysis of screen capture APIs on macOS and Windows. Learn how Zoom, Teams, and Google Meet process video buffers and why excluded windows cannot be detected.

C
Chameleon Research Lab VERIFIED

When candidates and professionals use an presenter privacy tools during high-stakes presentations or interviews, the primary question is always: "Can Zoom, Microsoft Teams, or Google Meet detect that a window is being hidden?" To answer this definitively, we must inspect the low-level graphics pipeline of modern operating systems.

The Architecture of Modern Screen Capture APIs

Video conferencing applications do not interact directly with physical GPU hardware registers. Instead, when you click "Share Screen", the application requests video frames from the operating system's display server or window compositor via high-level public APIs:

  • macOS: ScreenCaptureKit (SCKit) and legacy CoreGraphics / Quartz Window Services (CGWindowListCreateImage).
  • Windows: Desktop Window Manager (DWM), Desktop Duplication API (DXGI), and Windows.Graphics.Capture.
  • Chromium (WebRTC): Uses platform-specific backends to populate the getDisplayMedia() media stream.
The Core Principle: Compositor-Side Exclusion

When an application is excluded at the OS level, the operating system never renders that window into the capture buffer. Zoom receives a video frame containing only background pixels. There is no trace, silhouette, or placeholder where the window sits.

macOS: ScreenCaptureKit & Quartz Window Server Internals

On macOS (Sonoma, Sequoia, and Ventura), the WindowServer process manages on-screen visual buffers. Every NSWindow has a window sharing property:

[window setSharingType:NSWindowSharingNone];
// Or C-level Quartz CoreGraphics API:
CGWindowSetSharingState(windowNumber, kCGWindowSharingNone);

When kCGWindowSharingNone is set, Apple's WindowServer flags the surface as non-shareable. Whenever ScreenCaptureKit or any screen recorder requests a composite display frame, the WindowServer compositor traverses the z-order stack, encounters this flag, and skips the window entirely. The pixel data beneath the window is preserved without occlusion.

Windows: Desktop Window Manager (DWM) & Graphics Capture

Windows 10 (version 2004+) and Windows 11 introduce native capture exclusion via the Win32 User32 API:

#define WDA_EXCLUDEFROMCAPTURE 0x00000011
SetWindowDisplayAffinity(hwnd, WDA_EXCLUDEFROMCAPTURE);

In earlier Windows versions, WDA_MONITOR rendered excluded windows as solid black rectangles in screen shares. With WDA_EXCLUDEFROMCAPTURE, the Desktop Window Manager (DWM) completely removes the window's visual tree from capture surfaces. Meeting viewers see the underlying desktop without any black box or shadow artifacts.

Can Video Conferencing Apps Enumerate Excluded Windows?

Zoom and Microsoft Teams are sandboxed user-space applications. They query the OS for displayable surfaces using standard window enumeration APIs (EnumWindows on Windows, CGWindowListCopyWindowInfo on macOS).

When kCGWindowSharingNone or WDA_EXCLUDEFROMCAPTURE is applied:

  • The window is excluded from the list of capturable application windows in Zoom's "Share Window" picker.
  • During a full desktop share, the OS compositor physically omits the window's pixels from the video pipeline.
  • Zoom has no mathematical or programmatic method to determine whether pixels rendered on your monitor are missing from the OS stream buffer.

The Difference Between Window Hooks and OS Exclusion Flags

Legacy hacking tools attempted to hide windows by injecting DLLs into Zoom's process memory or hooking Direct3D function tables. This approach triggers Antivirus heuristics, breaks with Zoom updates, and risks severe instability. Chameleon utilizes official, documented OS-level window flags that require zero DLL injection and leave zero forensic footprint.

Frequently Asked Questions

Can Zoom, Teams, or Google Meet see Chameleon in their screen share?
No. When Chameleon sets OS-level exclusion flags, the operating system graphics compositor literally omits Chameleon's window pixels when creating the screen capture buffer delivered to Zoom.
Can video conferencing apps tell that a window is excluded?
Standard user-space meeting applications do not have root or kernel permissions to audit or query private window exclusion flags belonging to other processes.
What happens if someone takes a screenshot using macOS Cmd+Shift+4 or Windows Snipping Tool?
OS exclusion applies universally to all screen capture APIs on the system. Screenshots capture only whatever is beneath Chameleon.