upvote
This exists for a very good reason.

It’s so if an app is showing a password or bank account number or other piece of sensitive information it doesn’t accidentally end up in a screenshot. I think there are other places sensitive information won’t show.

Bluesky, and apparently others, are abusing the functionality for advertising purposes.

I think it’s a good thing it’s there. This functionality should be easy for apps.

I’d say this is one for app review or an App Store rule. But we all know those are a total joke.

reply
I don't have an issue with BSky's use, but I regularly run into the functionality's abuse elsewhere, such as multiple of the biggest Thai banks' apps where every screen in the app entirely blocks screenshots (iOS). Doing a P2P money transfer and want to send a screenshot to the recipient for them to confirm their info before you hit submit on a non-reversible transfer? Blocked. Want to screenshot a promotion's terms for proof or a personal reminder? Blocked. It's even worse as multiple of the biggest brick-and-mortar Thai banks wholly dropped web access and are now smartphone-only. (Or more obscure, want to translate a single-language screen into another language? Blocked.) Etc.
reply
>Doing a P2P money transfer and want to send a screenshot to the recipient for them to confirm their info before you hit submit on a non-reversible transfer?

Why not ask contact for data via text and just copy paste it with double check?

reply
What if the app doesn't allow pasting? What if the communications app prevents copying?

For a short while, screenshots were a workaround for blocked copy-paste[0], as OCR (and, more recently, edge-deployed vision-enabled language models) would allow you to copy and paste any text from a screenshot. But guess what, now every other app is blocking screenshots!

--

[0] - Which is the default on mobile apps, and unfortunately desktop apps too. I hate webshit applications, but if they have one redeeming grace, it's that by default, all text can be selected and copied, and it takes nontrivial engineering effort to break that, so most webapp vendors don't bother.

reply
1. On the pre-submit-button screen it shows the recipient's name to confirm, but as in the GP example, if the recipient's name is in a character set different than your own, it would be nice to be able to have someone who can confirm the recipient's name matches.

2. And even if you copy-paste the recipient's account number, that also relies on your counterparty not having mistyped their account number, so it would be nice for #1 to be possible to confirm the name.

reply
I want to take a screen shot of the transaction I just did. Can't because some ahole decided for me that it's too sensitive information and blacks out the whole screen. this API is stupid without control in settings of the os
reply
Yeah, I used to have this issue a lot. If I use my personal card for a business expense, I used to like to keep a screenshot of the transaction on the card as well as the invoice. As it's an app-only challenger bank, this is the only way short of exporting transactions as a PDF and that includes other transactions for the day. For a long time I used to use another phone to take a photo of my phone screen. Eventually, I just stopped bothering taking that photo because of the extra hassle, but it never stopped annoying me that I couldn't keep the records I wanted easily.
reply
Yeah, I would rather see a warning in that case that the screenshot could contain sensitive information, with options to take a redacted screenshot or a normal one.
reply
[flagged]
reply
Lots of people here exposing their single sign on approve code because a scammer ask them to send them a screenshot.
reply
I mean... "please read me the code you get via text" or "this really Bank of America, please type your OTP" seems to work well enough. We really don't need OS-level controls for stuff on the screen. People can just tell you what's on the screen.
reply
So that means this change will result in a noticeable decline in such scams, right?

Right??

reply
Potentially worse than nothing, it allows for someone to claim they have a fix even if the fix does nothing to stop someone from becoming a victim, thus allowing for even stronger victim blaming.
reply
you don't have a share button tha generates a PDF and shares it with whomever?
reply
Often, you don't, because the same developers of the bank app decided it's an unnecessary power user feature that doesn't fit in the MVP or something.

Or, even if they add it, there's no way to save the file, only to "share" it, which 99% of the times isn't what I want, and I'm frankly tired of routing through the mail app as a workaround. At this point, at least on Android side, there exist apps whose sole purpose is to be a share target and dump the information to file (and being apps on an app store, chances are top 10 are just thinly veiled malware).

reply
really? I'm not suprised by shitty developers developing shitty apps but i'm still baffled. Surely the bank would be getting tons of angry emails from customers if it happened in europe
reply
Would they care?

They probably support proper export for business accounts. Business customers have leverage. Regular people? They're an annoying but necessary nuisance.

reply
>This exists for a very good reason.

This exists for a very bad reason.

>It’s so if an app is showing a password or bank account number or other piece of sensitive information it doesn’t accidentally end up in a screenshot.

and also coincidentally if the app is showing something incorrect that you want to be able to verify and provide proof of now you can't.

>I think it’s a good thing it’s there. This functionality should be easy for apps.

I think it's a bad thing it's there. The functionality should be easy for me.

reply
OTOH, I might very well want to take a screenshot of my own bank details, transactions, or other sensitive information. It's annoying that my information is being protected from myself.
reply
You might have amazing operational security but lots of other people don't, and they make noise, which means governments write laws meaning that banks have to refund them for fraud.

So as much as a bank might agree with your stance on freedom of compute - they probably don't want to pay for it with actual money.

reply
Banks have managed to externalize the costs of their own security onto people by inventing the concept of "identity theft", and pinning the blame for poor security practices on regular people.

They really shouldn't be allowed to double down on it.

And arguably, half of it isn't even really security, it's about keeping you in their app. Application interface is the ultimate sales platform, and banks are making extensive use of that fact.

reply
Then it's a bad solution to a real problem. A better solution would be exposing a hook that apps can call when a screenshot is initiated that tells the OS to warn the user before saving the screenshot. This way the user is actually educated on the risk while still respecting their right to control the outcome.
reply
The OS could draw an ugly censoring block over the sensitive information. That would protect the user's privacy when needed but also prevent apps mis-using the feature like this.
reply
It could. But the root problem is, there is no such thing as unqualified "sensitive information". The information is sensitive to someone, for some reason. The problem with screenshots manifests when the app and the user disagrees about whether the information is sensitive and who has the right to control it.

The immediate technical problem is that OSes allow apps to declare what is "sensitive", and then follow those declarations unquestionably, preventing any preservation of that information.

The underlying social / political problem is that platform vendors allow app vendors to unilaterally declare what is and isn't sensitive, and proxy their opinion without question, and with no consideration for users and their context.

reply
I don't think Apple cares about apps replacing the follow button with an icon. It's a weird use of the api, but it's not abusing the user or a security/privacy risk.
reply
Yeah. I wonder if Apple does something to change this.

This is a failure of imagination for Apple, but it’s hard to blame them.

Who would think someone would put a button inside a “secure” text field and change the masked appearance to a logo?

If I was proposing this feature, I would never imagine someone would come up with something like that.

reply
It's MY phone that I paid over $1000 for. Let me choose what is exposed and what is not.
reply
This shows hardware won't be yours unless the software running on it is open source. Asking a company to modify its closed source software might work occasionally, but it's a band-aid and a never-ending battle.
reply
> it doesn’t accidentally end up in a screenshot

Your banking app probably has an option to disable that because it's a legal requirement in so many places: People who can't see need to use assistive tools, and that includes screenshots and friends. If you are using a tiny/stupid bank in the US, file a ADA claim and get some money. In the EU check your Ombudsman.

No, it's so you can't screen-record Netflix. The bank doesn't care about that because it's not a liability issue to them, just fetishism; no way they pay Apple and Google for this capability.

Apple and Google should step in and allow users to remove these shenanigans with a little button on the screenshot preview screen, but resist this because of Netflix et al.

reply
Account numbers appear on checks. They are not exactly secret, and if I want to take a screenshot of one, I should be able to.
reply
I don't think they're abusing functionality at all. I don't think screenshotting a skeet should, by default, leak the follow state of the user taking the screenshot, which is what would happen without the secure input swap

"Secure inputs" take many forms, and it doesn't feel like this is abuse in any meaningful way

reply
One person's "sensitive input" is another's "key information".

Follow state is a useful bit of information. There's argument to be made for both hiding and preserving it.

reply
But how can I take a screenshot that intentionally shows the password or whatever?
reply
Use a device with an operating system that doesn't think it knows better than you what you want.
reply
You're not that unlikely to leave that feature in place if you have such an operating system. What you really want is two controls: one for "safe screenshot", and another for "raw screenshot".
reply
"accidentally end up in a screenshot" --- how often do you even take a screenshot on a phone, much less accidentally?
reply
Almost daily on my iPhone.

The side button (https://support.apple.com/en-gb/guide/iphone/iph7d116e557/io...) is on the exact opposite of the volume up button. Pressing the side button to shut down and lock the screen is something I do a lot. Press button (2) with the thumb and you will see that it is very natural to have your index or middle finger resting where the volume buttons are.

And occasionally I press hard enough with my thumb that the finger on the perpendicular side of the phone presses the volume up button and whoops I have taken a screen shot instead.

That said. I do consider this "feature" an abuse of privacy API:s, and I also often get annoyed that I cannot take screen shots of my bank app to for example send account information, or confirm a transaction, or report a graphical bug to the developers at the bank.

reply
Consider that people use their phones differently than you. I take screenshots on a daily basis, accidental ones at least once a week. Usually it's just the lock screen though.
reply
I take them constantly. Not even sure how. I think it means I am “of a certain age” these days.

Now get off my lawn.

reply
i take many screenshots, but about half of them are accidental (somehow it recognizes the "tap three times" gesture whenever it feels about it)
reply
If it's to prevent accidents, it should just prompt user to confirm saving the screenshot with sensitive information.

As it is, it is just an annoyance that requires you to do stupid workarounds like taking a photo of your screen.

Imagine if a password manager didn't allow you to copy the password since you might accidentally paste it somewhere incorrect.

reply
Funny enough, that's what the big passkey folks want: https://github.com/keepassxreboot/keepassxc/issues/10407
reply
Really glad open-source password managers are resisting the bullying and not implementing DRM.
reply
For now: https://github.com/keepassxreboot/keepassxc/issues/10406

Or not: https://github.com/Kunzisoft/KeePassDX/issues/2321

They are imo clearly gearing up to lock down passkeys in practice one day so that you will only be able to use those tied to a Google or Apple account (or some new player). They're already threatening in these issues to blacklist open implementations that don't submit to their requirements, and then requiring an attested client would then become the "best practice" adopted blindly and widely. I think the only hope is for the open clients to fully submit, hoping to avoid full attestation, while not making it too hard to patch out the anti-features. Of course, anyone who can't compile is screwed though.

reply
> Imagine if a password manager didn't allow you to copy the password since you might accidentally paste it somewhere incorrect.

... have you heard of passkeys?

Yes, it's as stupid as it sounds. And works about as well.

reply
If a dev forgot to obfuscate the password and rendered it as plain text on the screen, then what are the chances they remember to program the blur into this screenshot api hook. Or why not add an alert, “what me to blur sensitive info? Yes/No”
reply
Unfortunately there's platform-level features for marking surfaces as sensitive/secure. So your dev would typically just mark the whole app as such, and be proud of their proactive problem solving.
reply
You know you could declare your app screen sensitive and then a screenshot requires a face id?

Whatsapp also does this shit. You can’t screenshot a conversation (it comes back black). I am going Chinese for my next phone.

reply
I can always just pull out my second phone to bypass all this shit.
reply
Which is why everyone should root the their phone to turn this kind of shit off.
reply
1000%. Apps should not even be able to know that I've taken a screenshot - let alone change the contents of it.
reply
The app doesn't know. It just produces a widget tree, and the OS-provided renderer renders it this way or that way. In particular, it chooses not to render controls marked as "security-sensitive" when the rendering is intended for a screenshot; it could instead put empty boxes in their place, etc. The app has no idea and no control, AFAIK.
reply
Even having never developed on iOS before, I was able to find this in the first google search result for "ios api to detect screenshot": https://developer.apple.com/documentation/uikit/uiapplicatio...
reply
Open the amazon app. Take a screenshot. See a toast message informing you that the amazon app has detected you've taken a screenshot. Fucking used for fucking profiling.
reply
Don't apps like Snapchat notify the other person if you take a screenshot of your messages?
reply
Yes, iOS has userDidTakeScreenshotNotification for that.

https://developer.apple.com/documentation/uikit/uiapplicatio...

reply
Would be nice if the user could disable that.
reply
Yes, Snapchat does this. Apps absolutely have the ability to know when a screenshot is taken.
reply
Snapchat advertises that they detect screenshots. They try. But they're well aware that they can't actually know.

For example, their bug bounty program policy helpfully informs you that "screenshot detection avoidance" is not considered a vulnerability: https://hackerone.com/snapchat . That's because it's always possible.

reply
The apps definitely know. Horsemen example: If you screenshot on Amazon (and Business version) iOS apps, it “helpfully” pops its own share sheet.
reply
I wonder if this is the expectation of the majority or just the expectation of us tech people.

Because I assume most people want to take a screenshot because they want to capture something they are seeing in the app, most people probably are even annoyed to have the system indicators visible there.

reply
Bank apps black out the whole screen when I take a screenshot and it’s super annoying. As a user, I should be able to take a screenshot of my screen. I can use a camera or another phone to do it anyway.
reply
iOS allows something similar. twitter (X) will also add a logo. I believe reddit did the same but i stopped using their app a while ago.
reply
Reddit has a toggle in its settings to disable it. X, too, I think.

Personally, I wish iOS didn't even facilitate this.

edit: to be clear, I don't think iOS should notify the app at all. The app could register areas as "invisible to screenshots" perhaps - I'm torn on that functionality.

reply
That's what bluesky is doing in this case. It is showing the button on an area that is "invisible to screenshots", and the butterfly is behind it, so it shows through when a screenshot is taken
reply
iOS allows something similar because this is iOS. iOS allows something exactly the same because this article is about iOS.
reply
Bluesky trick exposes how strange the abstraction is
reply
So...

> and now some apps get a hook to insert their branding.

No, apps can already insert their branding anywhere they want. They're writing the app. If they want their logo to be visible in screenshots, they have infinite ways to do that.

This particular way seems basically prosocial. It's much more useful to me as a consumer of the screenshot to see that it came from Bluesky than to see that there was a "Follow" button. It's not what the feature they're using was intended for, but I can't call it an abuse of the feature. What they're actually doing is good.

The fact that you're getting unexpected behavior isn't good. Sometimes you want to create a picture of sensitive information. You should be able to override the app developer's security settings.

reply
The thing that really irritates me about the banking apps blocking screenshots is that it's pretty clear to me it's not about protecting customers but denying customers the ability to document something related to their account.
reply
No, it's about saving the bank money - and what costs them a lot of money is the average person being fooled into sending people their account information easily.
reply
But every bank app which I used had a button to copy all of those directly.
reply
if only there was some kind of app review process... but Apple doesn't care.

I guess the Bluesky bros got inspired by Threads, again.

reply
> I expect to have an image of exactly whatever was displayed on the screen at the time

Do you/should you (we) really expect that though? I regularly use color filters on my apple devices— grayscale to avoid distractions during the day and red tint at night. More recently I’ve been using the motion dots. I don’t know that I can say with confidence that I never want any of those “personal-perceptional-modifiers” to appear in a screenshot, but for most folks, I would guess it’s approximately never.

reply
I want those things included, at least by default. A screenshot normally captures the user’s screen size, brightness, zoom level, font choices, etc.

It is often important to people that the screenshot is an accurate record of what was on the screen.

reply
It doesn’t copy the brightness AFAIK
reply
deleted
reply
The effects of cramming 2 separate workflows and 5 features into one thing called "screenshot" because anything else would end up with something too complicated for users to understand the interaction (sarcasm that figuring out what the behavior is locked to in these scenarios is just as confusing).

While we're at it, this "share" containing the copy/paste flow is the exact same kind of thing. And screw whatever logic decides to copy the URL of an image instead of the actual image sometimes from Safari when I select to copy it!

reply
And whatever’s worse than screw for copying presumable pngs as .webp or whatever that format is
reply