Screenshot blocking: Difference between revisions
CopyeditorHF (talk | contribs) Deleted irrelevant argumentation, i.e., opinion based, and reworded the reasoning in a more neutral manner. Removed unnecessary scare quote. |
→On Android: Better wording. |
||
| (8 intermediate revisions by 4 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 | '''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 | 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. | === 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 | API reference | Android Developers] ([https://web.archive.org/web/20260401090300/https://developer.android.com/reference/android/view/WindowManager.LayoutParams Archived])</ref><ref name="netflix-vdocipher" /> | |||
On desktop systems, blocking screenshots is more difficult because users have full control over the operating system, there is no built-in | 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== | ||
Companies tend to | Companies tend to cite the following reasons for blocking screenshots: | ||
'''Protecting sensitive information''' | '''Protecting sensitive information''' | ||
| 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 | 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 | |||
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=== | |||
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 45: | Line 64: | ||
===WhatsApp=== | ===WhatsApp=== | ||
The developers of | 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>[ | 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 | </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== | ||
When you take a screenshot, the screenshot is stored locally inside the encrypted internal storage of your smartphone, protected | When you take a screenshot, the screenshot is stored locally inside the encrypted internal storage of your smartphone, protected by a user's lockscreen credentials. As a local file, it remains fully under the user's control.<!-- I question whether this is a convincing argument against screenshot blocking. If a screenshot is under a user's control, they could choose to disseminate the screenshot at anytime. When screenshot blocking is defended by citing the privacy of others, e.g., WhatsApp, a third-party gaining full control over the image is the basis of their argument. --> | ||
==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 | 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 | 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. | 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== | ||