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:
Is there an officially supported way on macOS to distinguish AirPlay mirroring from screen recording / screen sharing?
Is "NSWindow.sharingType" the recommended public API for this scenario?
Is there a recommended approach when the UI surface is rendered through Flutter / Metal?
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
0
0
30