CopyeditorHF (talk | contribs)
Tonal edits, reworded in more neutral, professional language. Moved part of "It's a local file" to "Why it's a problem". Added comments about argumentation, requesting other opinions or expansion of argumentation.
JodyBruchonFan (talk | contribs)
On Android: Better wording.
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{ToneWarning}}{{Incomplete|Issue 1=Makes specific claims without citations}}
{{ToneWarning}}{{Incomplete|Issue 1=Makes specific claims without citations}}
'''Screenshot blocking''' prevents the owner of a computing device from capturing screenshots and screen recordings. Some operating systems such as Android OS and iOS let app makers block the device owners from capturing screenshots and screen recordings of certain content. This may be done to prevent copyrighted content from being copied, such as Netflix blocking screenshots of the app<ref name="netflix-vdocipher">{{Cite web |last=Sharma |first=Vishal |date=2026-01-14 |title=Netflix DRM: How & Why of Encrypted Video Security (2025)? |url=https://www.vdocipher.com/blog/2022/05/netflix-drm/ |access-date=2026-02-21 |website=vdocipher |archive-url=http://web.archive.org/web/20251015170902/https://www.vdocipher.com/blog/2022/05/netflix-drm/ |archive-date=15 Oct 2025}}</ref>. However, some instances of screenshot blocking may be seen as excessive and unnecessary in some cases, thus violating ownership of consumers by unreasonably limiting what they are allowed to do with their devices.
'''Screenshot blocking''' prevents the owner of a computing device from capturing screenshots and screen recordings. Some operating systems such as [[Android]] and [[Apple]] [[iOS]] let app makers block the device owners from capturing screenshots and screen recordings of certain content. This may be done to prevent copyrighted content from being copied, such as [[Netflix]] blocking screenshots of the app<ref name="netflix-vdocipher">{{Cite web |last=Sharma |first=Vishal |date=2026-01-14 |title=Netflix DRM: How & Why of Encrypted Video Security (2025)? |url=https://www.vdocipher.com/blog/2022/05/netflix-drm/ |access-date=2026-02-21 |website=vdocipher |archive-url=http://web.archive.org/web/20251015170902/https://www.vdocipher.com/blog/2022/05/netflix-drm/ |archive-date=15 Oct 2025}}</ref>. However, some instances of screenshot blocking may be seen as excessive and unnecessary in some cases, thus violating ownership of consumers by unreasonably limiting what they are allowed to do with their devices.


==How it works==
==How it works==
Blocking screenshots is typically an in-app technology, not something that automatically applies across all apps or devices. Here's how it works, depending on the platform:
Blocking screenshots is typically a restriction set by individual apps, not something that automatically applies across all apps or devices. Here's how it works, depending on the platform:


On Android, apps can block screenshots using a flag called: WindowManager.LayoutParams.FLAG_SECURE. When this flag is set on an activity, it prevents the content from being captured in screenshots, screen recordings, and even in the app switcher (recent apps view). This is often used by apps like, banking apps, streaming services (e.g., Netflix), and secure messaging apps.<ref>[https://developer.android.com/reference/android/view/WindowManager.LayoutParams WindowManager.LayoutParams &#x7C; API reference &#x7C; Android Developers]</ref><ref name="netflix-vdocipher" />
=== On Android ===
On [[Android]], apps can block screenshots using a flag called: <code>WindowManager.LayoutParams.FLAG_SECURE</code>. When this flag is set on an activity, it prevents the content from being captured in screenshots, screen recordings, and even in the app switcher (recent apps view). This is often used by apps like, banking apps, media streaming services (e.g. Netflix), and secure messaging apps.<ref>[https://developer.android.com/reference/android/view/WindowManager.LayoutParams WindowManager.LayoutParams &#x7C; API reference &#x7C; Android Developers] ([https://web.archive.org/web/20260401090300/https://developer.android.com/reference/android/view/WindowManager.LayoutParams Archived])</ref><ref name="netflix-vdocipher" />


On iOS, iOS does not give developers an official flag like FLAG_SECURE, but they use workarounds, like displaying sensitive content in a UIView with custom rendering, then hiding or blurring it when the app detects screenshot events or apps going into background or app switcher{{Citation needed}}.


On desktop systems, blocking screenshots is more difficult because users have full control over the operating system, there is no built-in flag to prevent screenshots. Third-party tools or system-level protections are needed. Although, enterprise apps may block screenshots using digital Rights Management (DRM), virtual Desktop Infrastructure (VDI), or overlay detection / screen capture prevention libraries{{Citation needed}}.
On the Android developer website, Google encourages app makers to add an option to temporarily allow screenshots:
 
<blockquote>
Note: To provide transparency and user control, consider adding a setting in your app that allows users to toggle this flag.
</blockquote>
<ref>{{cite web |url=https://developer.android.com/about/versions/14/features/screenshot-detection |title=Detect when users take device screenshots |website=Android Developers |access-date=2026-04-26 }}</ref>
 
At the same time, Google failed to provide a built-in option in Android that would let device owners have the final choice to override this restriction without having to rely on permission from the app.
 
=== On iOS ===
On [[iOS]], iOS does not give developers an official flag like <code>FLAG_SECURE</code>, but they use workarounds, like displaying sensitive content in a <code>UIView</code> with custom rendering, then hiding or blurring it when the app detects screenshot events or apps going into background or app switcher{{Citation needed}}.
 
On desktop systems, blocking screenshots is more difficult because users typically have full control over the operating system, and there is no built-in API to prevent screenshots. Third-party tools or system-level protections are needed. Although, enterprise apps may block screenshots using [[digital rights management]] (DRM), [[wikipedia:Desktop_virtualization|virtual desktop infrastructure]] (VDI), or overlay detection / screen capture prevention libraries{{Citation needed}}.


==Why it happens==
==Why it happens==
Line 20: Line 32:
'''Content protection and licensing'''
'''Content protection and licensing'''


Media apps (streaming services, e-books, and some news apps) sometimes block screenshots or recordings to prevent piracy or unauthorized redistribution of copyrighted content. Examples include Netflix and Spotify. However, there are legitimate uses such as quotations, which falls under fair use.
Media apps (streaming services, e-books, and some news apps) sometimes block screenshots or recordings to prevent piracy or unauthorized redistribution of copyrighted content. Examples include Netflix and [[Spotify]]. However, there are legitimate uses such as quotations, which falls under fair use.


'''Privacy of other users'''
'''Privacy of other users'''


Messaging apps may prevent screenshots in certain contexts to protect the privacy of the other party. One such example are "disappearing messages" in WhatsApp.  
Messaging apps may prevent screenshots in certain contexts to protect the privacy of the other party. One such example are "disappearing messages" in [[WhatsApp]].  


'''Regulatory or contractual requirements'''
'''Regulatory or contractual requirements'''
Line 33: Line 45:


===Impedes ownership===
===Impedes ownership===
On desktop operating systems like Windows and Linux, users have always been able to take screenshots or recordings of whatever is on their screen, without programs being able to block it. By contrast, many mobile apps restrict or disable this feature. This raises concerns because it limits a device owner’s ability to fully use their own device. Since a smartphone is personal property, users should retain control over its features, including the ability to capture their own screen rather than having that option dictated by app developers.
On desktop operating systems like [[Microsoft Windows|Windows]] and [[wikipedia:Linux|Linux]], users have always been able to take screenshots or recordings of whatever is on their screen, without programs being able to block it. By contrast, many mobile apps restrict or disable this feature. This raises concerns because it limits a device owner’s ability to fully use their own device. Since a smartphone is personal property, users should retain control over its features, including the ability to capture their own screen rather than having that option dictated by app developers.


===Overuse===
===Overuse===
Some apps implement screenshot blocking in situations where it is unnecessary. For example, since 2018, Chrome has blocked screenshots while in Incognito mode. It is unclear what this restriction is meant to protect against, given that Incognito browsing already functions by not saving history or cookies.
Some apps implement screenshot blocking in situations where it is unnecessary. For example, since 2018, [[Google Chrome|Chrome]] has blocked screenshots while in Incognito mode. It is unclear what this restriction is meant to protect against, given that Incognito browsing already functions by not saving history or [[Web cookie|cookies]].
 
There are legitimate reasons to take a screenshot in Incognito mode. Developers may need to capture how a website looks to first-time visitors, or users might want to save information temporarily without adding it to their browsing history. In these cases, blocking screenshots serves no meaningful security purpose and only prevents the device owner from using their phone’s features as intended.
There are legitimate reasons to take a screenshot in Incognito mode. Developers may need to capture how a website looks to first-time visitors, or users might want to save information temporarily without adding it to their browsing history. In these cases, blocking screenshots serves no meaningful security purpose and only prevents the device owner from using their phone’s features as intended.


=== Ineffective ===
===Ineffective===
Screens can be photographed from an external device. The quality of the image is likely to be lower, but it generally does not prevent someone from being able to reach alphanumerical information such as banking details and text-based messages.<!-- (Recently moved from: "It's a local file) Not sure this is a convincing argument. Just because someone can do something through one means, it doesn't follow that another means should be allowed. There is a counterargument to be made that making something more difficult acts as a deterrent, meaning fewer people would do it and it is therefore successful on that level.  -->
Screens can be photographed from an external device. The quality of the image is likely to be lower, but it generally does not prevent someone from being able to reach alphanumerical information such as banking details and text-based messages.<!-- (Recently moved from: "It's a local file) Not sure this is a convincing argument. Just because someone can do something through one means, it doesn't follow that another means should be allowed. There is a counterargument to be made that making something more difficult acts as a deterrent, meaning fewer people would do it and it is therefore successful on that level.  -->
===Prevention of bug reports===
Screenshot blocking and screen recorder blocking might discourage users from reporting bugs by making it more difficult to document the bugs.


==Incidents==
==Incidents==
Line 48: Line 64:


===WhatsApp===
===WhatsApp===
The developers of [[WhatsApp]] have threatened with blocking screenshots inside chats with "advanced chat privacy" enabled:
The developers of WhatsApp have threatened with blocking screenshots inside chats with "advanced chat privacy" enabled:


<blockquote>
<blockquote>
The company has stated that this is the first iteration of the feature, with plans to introduce even more robust protections in future updates, potentially including measures to block screenshots<ref>[https://archive.today/2025.07.07-200053/https://cybersecuritynews.com/whatsapp-advanced-chat-privacy-feature/ WhatsApp’s New Advanced Chat Privacy Feature to Protect Sensitive Conversations]</ref>.  
The company has stated that this is the first iteration of the feature, with plans to introduce even more robust protections in future updates, potentially including measures to block screenshots<ref>[https://cybersecuritynews.com/whatsapp-advanced-chat-privacy-feature/ WhatsApp’s New Advanced Chat Privacy Feature to Protect Sensitive Conversations] ([https://megalodon.jp/2026-0416-0213-11/https://cybersecuritynews.com:443/whatsapp-advanced-chat-privacy-feature/ Archived])</ref>.  
</blockquote>WhatsApp blocked screenshots of profile pictures in 2024, citing it as a measure to protect privacy.<ref>{{Cite web |date=25 Feb 2026 |title=About profile photo screenshot blocking |url=https://faq.whatsapp.com/1799783917198636 |access-date=25 Feb 2026 |website=WhatsApp Help Center}}</ref> However, once a profile picture has been uploaded to WhatApp, it is no longer a private image.
</blockquote>WhatsApp blocked screenshots of profile pictures in 2024, citing it as a measure to protect privacy.<ref>{{Cite web |date=25 Feb 2026 |title=About profile photo screenshot blocking |url=https://faq.whatsapp.com/1799783917198636 |url-status=live |archive-url=https://megalodon.jp/2024-1223-0217-58/https://faq.whatsapp.com:443/1799783917198636 |archive-date=23 Dec 2024 |access-date=25 Feb 2026 |website=WhatsApp Help Center}}</ref> However, once a profile picture has been uploaded to WhatApp, it is no longer a private image.


==It's a local file​==
==It's a local file​==
Line 58: Line 74:


==External displays​==
==External displays​==
The "SECURE" flag on Android is responsible for screenshot blocking and screen recording blocking. However, it has another purpose: It prevents content from appearing on external displays such as HDMI and Miracast (over-the-air screen mirroring).
The "<code>SECURE</code>" flag on Android is responsible for screenshot blocking and screen recording blocking. However, it has another purpose: It prevents content from appearing on external displays such as HDMI and [[wikipedia:Miracast|Miracast]].


Screen contents can only appear on an external screens if the smartphone owner has chosen to connect an external screen. If the owner does private stuff, they should disconnect the external screen anyway.
Screen contents can only appear on an external screens if the smartphone owner has chosen to connect an external screen. If the owner does private stuff, they should disconnect the external screen anyway.


Ways to solve this would be to let the user chose which apps can appear on external displays, or let the user decide whether they want to hide content flagged by the app developers as "SECURE".
Ways to solve this would be to let the user choose which apps can appear on external displays, or let the user decide whether they want to hide content flagged by the app developers as "<code>SECURE</code>".


The "SECURE" flag is not just used to hide "sensitive" content, but also by streaming service providers to prevent screenshots and screen recordings, even though there are legitimate purposes for it (fair use). As a side effect, you can not connect your phone to a TV or monitor to watch on a big screen, so you have to hope the TV has native support for your streaming provider.
The "<code>SECURE</code>" flag is not just used to hide "sensitive" content, but also by streaming service providers to prevent screenshots and screen recordings, even though there are legitimate purposes for it (fair use). As a side effect, you can not connect your phone to a TV or monitor to watch on a big screen, so you have to hope the TV has native support for your streaming provider.


In any case, the device owner must have the final say.
In any case, the device owner must have the final say.


==Third-party screen recorders​==
==Third-party screen recorders​==
Another reason cited for screenshot/screen recorder blocking is the narrow possibility that third-party screen recorder apps contain spyware.
Another reason cited for screenshot/screen recorder blocking is the narrow possibility that third-party screen recorder apps contain [[spyware]].


Third-party apps can only capture the screen if the phone owner allows them. It would make sense to let the user decide which third-party apps can capture content marked as "SECURE". But the pre-installed screenshot and screen recording tool should never be blocked because they don't contain spyware (unless the phone maker chose to put it in, in which case you would have a much greater problem). If users wish to guarantee that their screen recorder software does not contain spyware, they can utilise open source screen recorders.
Third-party apps can only capture the screen if the phone owner allows them. It would make sense to let the user decide which third-party apps can capture content marked as "<code>SECURE</code>". But the pre-installed screenshot and screen recording tool should never be blocked because they don't contain spyware (unless the phone maker chose to put it in, in which case you would have a much greater problem). If users wish to guarantee that their screen recorder software does not contain spyware, they can utilise [[wikipedia:Open-source_software|open source]] <!-- Source-Available and OSS can both contain spyware. The diff is that SA forbids redistribution of modified copies, while OSS allows it (under some terms). So if any have undesirable code, only OSS allows removing it --> screen recorders.


In any case, there is no reason to block the '''built-in''' screenshot and screen recording tools just because misbehaving third-party apps may be out there.
In any case, there is no reason to block the '''built-in''' screenshot and screen recording tools just because misbehaving third-party apps may be out there.


==Screenshot detection==
==Screenshot detection==
Android 14 has added a "screenshot event" and Android 15 a "screen recording event." This makes allows apps to register when the owner takes a screenshot or screen recording. An online poll shows most users are opposed to screenshot detection.<ref>[https://www.androidauthority.com/android-14-screenshot-detection-api-3389527/ Android 14's screenshot detection system is getting adopted by more apps] ([http://web.archive.org/web/20251212004411/https://www.androidauthority.com/android-14-screenshot-detection-api-3389527/ Archived])</ref>
Android 14 has added a "screenshot event" and Android 15 a "screen recording event". This allows apps to register when the owner takes a screenshot or screen recording. An online poll shows most users are opposed to screenshot detection.<ref>[https://www.androidauthority.com/android-14-screenshot-detection-api-3389527/ Android 14's screenshot detection system is getting adopted by more apps] ([http://web.archive.org/web/20251212004411/https://www.androidauthority.com/android-14-screenshot-detection-api-3389527/ Archived])</ref>
 
== See also ==
 
* [[Data lock-in]]


==References==
==References==