Technical / 4 min read

Why window-hiding flags don't guarantee a private screen share

A window’s sharing flag does not guarantee that every recorder will exclude it. Apple now describes NSWindow.SharingType.none as a legacy constant that macOS no longer uses. ScreenCaptureKit filters apply to the stream an app creates, so ScreenVeil’s filtered window must be the source selected in the meeting or recording app.

A window's sharing setting doesn't protect it from every screen recorder on your Mac. Pick the right window in your meeting app and check what it records.

By ScreenVeilUpdated

Illustration of a camera looking around a window-hiding panel from another viewpoint.What changed in macOS 15
Illustration

Does a window-sharing flag prevent screen capture?

A window-sharing flag is not a reliable promise that another app cannot capture the window. Apple’s current AppKit documentation describes NSWindow.SharingType.none as a legacy constant that macOS no longer uses.

The historical URL of this article refers to macOS 15. The current documentation supports a narrower conclusion than “every recorder broke in one macOS release”: do not build a privacy guarantee around that flag. Recorder implementations and operating-system versions need their own checks.

This distinction matters when a tool says a window is private. Ask whether it changes a property on that window, filters a capture stream it controls, or changes what you share in the meeting app. Those are different controls.

Who controls each part of a screen share?

The app creating a capture stream controls that stream’s filter. A separate meeting app controls its own selected source; ScreenVeil does not set that selection for it.

Apple’s SCContentFilter API supports selecting or excluding windows and applications from a stream. ScreenVeil uses a filtered capture to create its output. That output is useful because another app can capture the resulting window, rather than being expected to honor a global hiding rule.

Scroll sideways to compare →

ControlWhere it appliesWhat it does not establish
A window’s AppKit sharing propertyThe app’s own window configurationA universal exclusion rule for other recorders
SCContentFilterThe SCStream created with that filterFiltering in another app’s independent capture
Meeting or recorder source pickerThe window, app or display that tool capturesThat the selected content has been checked for private information

How does the Privacy Screen window fit in?

Privacy Screen is the output you intentionally share. The private apps remain on your Mac while ScreenVeil leaves them out of its own capture.

Hide on My Mac has a different practical tradeoff: it hides private apps on the actual desktop or moves them to another display. Reopening one while sharing that desktop can reveal it. It does not create a system-wide ban on recording either.

Two captures, with a window between them

  1. 01

    ScreenVeil captures

    Its ScreenCaptureKit stream applies the app and window exclusions you choose.

  2. 02

    ScreenVeil displays

    The filtered result appears in an AppKit window named Privacy Screen.

  3. 03

    The meeting app captures

    You select Privacy Screen in that app’s source picker and check what the receiver gets.

Selecting the entire display in the last step bypasses ScreenVeil’s filtered output.

How can you check your actual setup?

If the result is ambiguous, stop the share and resolve the source selection. A successful check supports that specific setup; it does not show that an unrelated recorder will exclude your windows.

  1. 1

    Choose the source

    Start Privacy Screen, exclude the notes app and select Privacy Screen in the meeting or recorder.

  2. 2

    Exercise the windows

    Bring the notes forward, switch back to the slide and move the windows as you would during the session.

  3. 3

    Inspect the output

    Watch from a second device or review the short recording. The private sample should stay absent while the public slide updates.

  4. 4

    Check again after changes

    Repeat after changing the selected source, display arrangement, macOS version or recording app.