This is phone OS developer's fault for even allowing it. When I take a screenshot, I expect to have an image of exactly whatever was displayed on the screen at the time. Its not a picture of your app, its a picture of my screen. Some banking apps used to (or still) prevent this and now some apps get a hook to insert their branding. My device serves some master other than myself.
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.
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.
I don't have an issue with BSky's use, but I fairly regularly run into the functionality being abused elsewhere, such as in Thai bank apps, where every page of multiple of the biggest banks' apps prevent all screenshots (iOS). Doing a 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, especially as multiple Thai banks have now entirely dropped web banking in favor of app banking? Blocked. Etc.
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
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.
Lots of people here exposing their single sign on approve code because a scammer ask them to send them a screenshot.
So that means this change will result in a noticeable decline in such scams, right?
Right??
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.
It's MY phone that I paid over $1000 for. Let me choose what is exposed and what is not.
"accidentally end up in a screenshot" --- how often do you even take a screenshot on a phone, much less accidentally?
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.
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.
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.
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.
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
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.
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.
But how can I take a screenshot that intentionally shows the password or whatever?
Use a device with an operating system that doesn't think it knows better than you what you want.
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".
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”
I can always just pull out my second phone to bypass all this shit.
Which is why everyone should root the their phone to turn this kind of shit off.
1000%. Apps should not even be able to know that I've taken a screenshot - let alone change the contents of it.
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.
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...
Don't apps like Snapchat notify the other person if you take a screenshot of your messages?
Yes, iOS has userDidTakeScreenshotNotification for that.
https://developer.apple.com/documentation/uikit/uiapplicatio...
Would be nice if the user could disable that.
Yes, Snapchat does this. Apps absolutely have the ability to know when a screenshot is taken.
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.
The apps definitely know. Horsemen example: If you screenshot on Amazon (and Business version) iOS apps, it “helpfully” pops its own share sheet.
Bluesky trick exposes how strange the abstraction is
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.
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.
iOS allows something similar because this is iOS. iOS allows something exactly the same because this article is about iOS.
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.
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.
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.
But every bank app which I used had a button to copy all of those directly.
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.
> 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.
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.
It doesn’t copy the brightness AFAIK
Your screenshots record brightness? What??
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!
And whatever’s worse than screw for copying presumable pngs as .webp or whatever that format is