Technical guidance request: native screen capture protection on macOS with Flutter while allowing AirPlay

Hello Apple Developer Support,

I am reaching out for technical guidance regarding screen capture protection behavior on macOS.

We are building a desktop application using Flutter running on macOS, and we have implemented native Swift code inside the macOS Runner in order to protect sensitive content from screen recording and screen sharing.

Our current implementation relies on native window-level protection and display state handling from Swift, while the main UI remains rendered by Flutter.

The main challenge we are facing is the following:

  • we need to keep a strong native anti-recording protection on macOS
  • the application is heavily used with AirPlay and screen mirroring
  • currently, AirPlay / mirroring is often interpreted by the system similarly to screen capture or screen recording
  • this causes our protected content to be replaced by a gray or blank area even during legitimate AirPlay usage

In practice, we would like to allow:

  • AirPlay
  • legitimate external display / mirroring usage

while still preventing:

  • screen recording
  • screen sharing
  • unauthorized screen capture

We would like to know whether Apple recommends an official supported approach for this use case, preferably using public APIs.

More specifically:

  1. Is there an officially supported way on macOS to distinguish AirPlay mirroring from screen recording / screen sharing?
  2. Is "NSWindow.sharingType" the recommended public API for this scenario?
  3. Is there a recommended approach when the UI surface is rendered through Flutter / Metal?
  4. Are there any best practices with ScreenCaptureKit for protecting content without affecting AirPlay?

We understand that some lower-level APIs may not be officially supported, so we would greatly appreciate guidance toward a public and future-proof implementation path.

Thank you very much for your time and support.

Best regards, Tony

Technical guidance request: native screen capture protection on macOS with Flutter while allowing AirPlay
 
 
Q