Skip to content
GeoGhost
  • Features
  • Auto-play
  • Tips
  • Pricing
  • FAQ
Buy

Blog · For streamers

Streaming without viewers seeing your tools.

Updated 2026-05-14 · 9 min read

Every season, two or three GeoGuessr streamers get caught. An in-browser helper lights up on screen the moment a round ends, a Discord overlay shows the wrong tab, or a window that was supposed to be hidden gets picked up by OBS during a scene switch. The clip lives on social media for a week, the comments get rough, and the streamer disappears for a while.

It does not have to go like that. Most of the mistakes are caused by a misunderstanding about what screen-recording software can and cannot see, and that misunderstanding is easy to fix once you know how the underlying Windows API actually works.

What OBS actually captures

OBS has three main capture sources for a desktop: Display Capture, Window Capture and Game Capture. They look similar in the preview, but they pull pixels in very different ways.

  • Display Capture grabs the whole monitor through the desktop duplication API. It sees everything that is drawn to that monitor, including overlays from other programs, the taskbar, system notifications and tooltips.
  • Window Capture targets one window. It uses one of three backends depending on which OBS version and which capture mode you picked: BitBlt, Windows Graphics Capture, or Windows 10 (1903) Application Capture. They behave slightly differently in edge cases.
  • Game Capture hooks into a specific game process to grab its framebuffer directly. It does not see overlays from other apps unless those overlays also hook the game.

For a GeoGuessr streamer, the typical setup is Window Capture targeting the browser. That looks safe, but it has one catastrophic flaw: anything inside that browser window is part of the capture. Anything composited onto the page — popups, sidebars, helper UI, injected content — is part of that capture.

Why in-browser tools always leak

The browser is one process from the operating system's point of view. Everything the browser renders gets composited into the same window the browser owns. When OBS captures that window, it captures the composited result. There is no way to ask the browser to render something that does not also show up in a Window Capture of the browser.

Some streamers try to work around this with a Game Capture on the browser, which sometimes ignores certain overlays. That is not a fix. It works on some Windows builds, fails on others, breaks the moment OBS updates, and Game Capture is not designed for browsers anyway. You will get inconsistent results and one of them will eventually be embarrassing.

The conclusion is uncomfortable but necessary: a helper that draws inside the browser window is going to be visible to anyone capturing the browser window. The only way around the problem is to draw the helper somewhere else.

The Windows display-affinity flag

Windows has had a feature since Windows 7 called SetWindowDisplayAffinity. It is a Win32 API call that a process can make about its own window. The original purpose was DRM: it let video players mark their playback window so that screen-recording APIs would receive a black rectangle instead of the actual frame.

In Windows 10 version 2004 (released in May 2020), Microsoft added a new affinity value: WDA_EXCLUDEFROMCAPTURE. With this flag set, the window is fully visible on the user's monitor, but every screen-recording API returns content as if the window were not there at all. Display Capture skips it. Window Capture cannot target it. The Windows Graphics Capture API treats it as absent.

This is not a hack. It is a documented, supported, system-level API. Microsoft Edge uses it. So do several DRM-protected streaming apps. The same flag is what makes Netflix go black when you screen-record it.

For a GeoGuessr helper, the implication is straightforward. If the helper runs in its own native Windows window with WDA_EXCLUDEFROMCAPTURE set, OBS cannot capture it. Discord screen-share cannot capture it. NVIDIA ShadowPlay cannot capture it. Teams meetings cannot capture it. The user sees a perfectly normal window on the desktop, and the recording shows the desktop with that window cut out.

What still leaks (even with display affinity)

The flag is robust, but it is not a magic invisibility cloak. There are a few specific things to be aware of:

  • Phones and cameras. A camera pointed at the monitor sees photons. The flag does not change what photons leave the screen. If you have a phone aimed at your desk, the window is visible.
  • Some hardware capture cards. A dedicated HDMI capture card sees the same HDMI signal the monitor sees. The flag does not affect what is sent over HDMI to the monitor itself. Streamers who use a dual-PC setup with an HDMI capture card on the streaming PC will see the window. The fix is to run the helper on the gaming PC and not on the streaming PC.
  • OBS browser-source variants. Browser Source in OBS that loads a URL bypasses Window Capture entirely and renders the page itself. That is irrelevant for the helper (it is not a URL), but worth knowing if your scene mixes capture methods.
  • Older Windows. The flag is Windows 10 2004+. On Windows 8 or unpatched older Windows 10 builds, it has no effect.
  • Future Windows changes. Microsoft could change the behavior in a future update. We monitor every Windows feature release. So far the flag has been stable across Windows 10 2004 through Windows 11 25H2.

A scene setup that stays clean

Even with display affinity in place, scene-level hygiene matters. A few rules that prevent self-inflicted leaks:

  • Use Window Capture, not Display Capture, for the browser. Display Capture is more honest about what is on screen and shows you more, but the flag is respected by both. Window Capture is just safer because if you accidentally drag a non-flagged window over the browser, it does not get picked up.
  • Move your helper to a different monitor than the browser if you have one. This is a belt-and-braces measure: if the flag ever fails, the helper is on a monitor you are not capturing.
  • Disable Discord's overlay on the browser. Discord's game overlay is a separate compositor and does not respect display affinity in every version.
  • Test your scene before going live. Open the helper, look at the OBS preview, confirm the helper is invisible. Then move the helper around, switch focus, alt-tab. If at any point the helper appears in OBS, stop and figure out why before streaming.
  • Pick a hotkey for emergency hide. Even with everything correct, the comfort of a single keypress that makes the helper vanish is worth setting up.

What this looks like with GeoGhost

The reason GeoGhost exists is that anything drawn inside the browser shows up in OBS, while a native Windows window with WDA_EXCLUDEFROMCAPTURE does not. GeoGhost runs as a native Windows app that opens in its own window with the display-affinity flag set the moment it launches. That window shows the location, the country flag, the matching country tips and a pin on the map. Nothing gets drawn on top of the GeoGuessr page itself. OBS captures the browser, the browser shows GeoGuessr, and that is everything your viewers see.

The same app handles the panic-hide hotkey, the rebindable hotkey for show and hide, the custom window title (so even glancing at Task Manager does not give it away), and a Stealth setting that keeps the window out of Alt-Tab rotation. All of those are layers on top of the core display-affinity trick.

If you are new to GeoGuessr itself

The streaming question is downstream of being good at the game. If you have not read it yet, how to read GeoGuessr clues like a pro covers the clue families an experienced player checks the moment a round starts. The bollard and road-line guide goes deeper into the two clue families that win European maps.

And when you are ready to put it all together, pick a GeoGhost tier. The setup takes about three minutes. The first round you play after that will feel like a different game.

GeoGhost

Invisible by design.

Join Discord

Product

  • Features
  • Pricing
  • FAQ

Legal

  • Terms
  • Privacy
  • Refunds

Contact

  • Support
© 2026 GeoGhost. All rights reserved.