Why Whisper breaks on Russian tech interviews — and what we did about it

In January I bought subscriptions to Cluely, Final Round AI, and Sensei. I wanted to see how they handle Russian tech interviews, since all three claim to support Russian. I connected them one at a time to a test call in Telemost (I doubt the platform mattered, but anyway), ran the same recording through each: Senior Python backend developer, 45 minutes, stack is FastAPI + PostgreSQL + Kafka + Kubernetes. Regular Russian speaker from Moscow, if that matters, no speech issues, normal microphone.
All three produced a transcript. All three failed, what a surprise.
How apps hide windows from screen capture — and what broke in macOS 15

If you screenshot Netflix or Spotify's playback window, you get a black rectangle where the video should be. Same thing when sharing your screen in Zoom, recording in OBS, even in Snipping Tool. Audio plays fine, content is gone.
This isn't codec protection or some OpenGL surface trick. It's one flag in one API that tells the window system: "this window should not appear in captured frames." The flag is public, documented, has been in Windows 10 since 2020, and is used by any app that needs to hide content from screenshots password managers, banking clients, 2FA tokens.
On macOS there used to be a symmetric equivalent, but in macOS 15 Sequoia Apple broke it against ScreenCaptureKit, and now the situation there is considerably messier. On Linux it depends on the display server. In browsers it works through a chain of platform APIs.
We worked all this out while building a desktop app for online interviews that needs this mechanism for a concrete reason: the hints window shouldn't appear in the interviewer's screen share. One paragraph about the product at the end. Everything else in this article is about what's under the hood.
Who captures the screen when you hit Share Screen
When Zoom asks for screen sharing access, it's not taking photos of your monitor. It subscribes to a frame stream from the operating system. Which API it uses matters, because they have different architectures and different behavior with protected windows.
On Windows there are three main paths.

