
How Bluesky Draws Its Logo on Screenshots
A developer has traced why Bluesky's butterfly logo shows up in iPhone screenshots of posts but not in the app itself: the logo sits behind a secure text field that iOS blanks out the moment a screenshot is taken.
A blog post by Tim Marinin traces how the Bluesky app places its own logo on screenshots that users take of posts. The observation began with a screenshot he captured to send to friends: Bluesky's butterfly appeared in a corner of the image, yet the same spot inside the app showed a "Follow" button and no logo at all.
The answer was in the open-source code
Marinin first suspected a common trick — some apps hide their branding in the area covered by the iPhone notch — but the logo in his screenshot sat in the open. Because Bluesky's app code is public, he could look for the mechanism directly. The answer was in a file named GrowthHack.tsx, added in January 2026 by the developer known as mozzius. That file only calls a dependency, so Marinin went one level deeper, into the package expo-privacy-sensitive, also written by mozzius.
How the trick works
The package creates a UITextField with the isSecureTextEntry property set to true and renders the actual content — the button — into that field's layer. When a screenshot is taken, iOS applies its usual behaviour for secure text entry and blanks the layer, letting the Bluesky logo underneath show through. The logo, as Marinin puts it, was there the whole time. On other platforms the same content is rendered as-is, with no masking.
Why it fails mid-switch
When Marinin captured a screenshot while switching to another app, the Follow button was visible instead. He suggests that in that case iOS takes its own snapshot at the start of the gesture, before any blanking happens, and the screenshot shows only that inert copy — with no live UITextField instance left to react. He notes he is not an iOS developer and that this part is his own guess.
Reaction and precedent
Developers in the thread that spread the finding mostly disliked the behaviour, treating it as an abuse of an API meant for privacy; the thread was later locked. Marinin himself calls the trick cute and points out that it is well known: Telegram uses a similar technique for its secret chats, and Signal has done the same, so he does not expect Apple to patch the behaviour any time soon.
SiTech — AI-powered web development
We build fast, modern websites and bring AI into real business workflows. Have a project or a question? We'd love to help.