Thursday, January 11, 2018

ScreenShield: SDK to Prevent Screenshots


ScreenShield is a patent-pending technology that allows you to view an app’s content on your screen but prevents you from taking a screenshot of it. If you try to take a screenshot on Confide, you will now simply capture a blank screen. ScreenShield also protects against other forms of screen capture, including iOS 11 screen recording, AirPlay screen mirroring, QuickTime screen recording as well as taking screenshots from the app switcher or by using Xcode.

We initially developed ScreenShield for Confide, but quickly realized that it could be used in a large number of apps — far more than we could build ourselves. That’s why we created ScreenShieldKit — to offer the ScreenShield technology to 3rd-party developers for use in a variety of different apps and categories.

Via John Gruber:

My best guess as to how they’re doing this is that they’re using AVPlayer and somehow using FairPlay Streaming to block screenshots and recording. (Where by “my” best guess I mean the best guess of a smart friend who poked around the Confide app bundle.) Have you ever noticed how you can’t take screenshots of streaming video content in apps like Netflix and HBO Go/Now? That’s a feature in iOS (and MacOS — try taking a screenshot of Netflix video playing in Safari) for skittish video providers who don’t want us to capture even a still frame of their precious content. I think ScreenShieldKit is somehow using this to prevent screenshots or video captures of text or images.


If I’m reading their application correctly, Confide also has also filed for a patent for a way to identify when you’re using another device to take a photo of your screen.


Please do not use FairPlay to block screen capture of non-premium video content. It’s not for your ‘secure’ messaging app.

4 Comments RSS · Twitter

"Please do not use FairPlay to block screen capture of non-premium video content. It’s not for your ‘secure’ messaging app."

This attitude is seriously crazy. What's his justification? "Because it’s gross. You have to pretend that a text message is a video."

So, Netflix preventing you from grabbing a static screenshot, which is useful for all kinds of fair use and hobbyist reasons, and doesn't damage their business model or licensing contracts in the least is just fine, but using a FairPlay hack to substantially increase the utility of messaging apps designed to prevent sharing is verboten?

And the difference between the two is because its a core truth of the universe that you should only use frameworks for their stated purposes? I mean, that's genuine, tin-foil-hatted crazy-town.

I understand Chucky's point, but it is gross. I don't like it. The Target app, on Android at least, won't allow a screenshot of the Cartwheel bar code. I find this useful for the days I forget my phone, but my daughter has her phone, allowing her mom to message us the cartwheel bar code. Can't do that anymore. On those days, I simply don't shop at Target loses a sale.

The Cartwheel app used to support this function, screenshots of barcode, but the integrated into Target app version of Cartwheel does not. I am not of the belief I should be blocked from taking a screenshot of my own content. How do we know this feature will only be used for off the record messaging apps? What's to stop any developers from blocking screenshots. I use screenshots quite a bit when troubleshooting apps/devices.

I also don't understand how using a preexisting API on a locked down wall garden platform equals anything worth patenting. Hasn't this always been possible if you wanted to misuse the API?

The App Store review guidelines are pretty explicit about deliberate misuse of API being grounds for eviction. Surely Apple will simply refuse this app, and those that use the technique, from the store.

(Am I being sarcastic with the latter statement? Even I'm not sure.)

It seems weird to me to file a patent on using an API for other than its intended purpose, but I guess that's the world we live in.

Leave a Comment