Comment by skiing_crawling

15 hours ago

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.

  • 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.

    • >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?

      2 replies →

  • 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 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.

    • 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.

      1 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.

  • 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.

    • 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.

      1 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.

  • 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.

    • 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.

    • 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.

  • It's MY phone that I paid over $1000 for. Let me choose what is exposed and what is not.

    • 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.

  • > 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.

    • iOS and MacOS have a large number of built-in accessibility features. Taking a screenshot of the screen is not necessary.

  • 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.

  • 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

    • 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.

  • "accidentally end up in a screenshot" --- how often do you even take a screenshot on a phone, much less accidentally?

    • I believe Apple added an entire section to the photos app to show screenshots that were taken.

      I don’t accidentally take screenshots very often, though it does happen.

      I know multiple people who seem to take them constantly. It’s crazy. You and I may not do it, but I promise you there are people who do. LOTS of them.

    • 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.

    • 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.

    • 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.

    • i take many screenshots, but about half of them are accidental (somehow it recognizes the "tap three times" gesture whenever it feels about it)

  • 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.

  • 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”

    • Doing it correctly requires setting a single Boolean. That’s it. The OS will do everything else for you if you don’t override it.

      There’s no need to implement a custom blur.

    • 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.

  • 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.

  • 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.

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.

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.

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.

    • 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

  • 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.

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.

  • 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