[Solved] App that prevents screenshot of it's content

What does the link to one of Kodular’s moderator profile supposed to demonstrate?

That said, while I cannot see how to prevent a user form taking a snapshot of their own device’s screen, there may be a way of making such a snapshot almost unusable.
The idea is to cycle through multiple images, each of which show only part of the information.
For instance, suppose that I want to show the following text:

Hi There

Basically, I can have 3 images. The first one shows:

H___he__

the second one
__T__r

and the 3rd
_i____e

Now , you have the app flash image #1, then #2 and #3 and then again #1, 2 3 and so on, continuously.

That is the concept.
Of course, in a real application, the images would not show complete letters, but randomly distributed blocks – if going for 3 images in cycle, 2/3 of the pixels would be completely black on each image.
What would happen then is that an attempt at capturing the screen would only get 1/3 of the image; one would have to capture all three screens and bring them to an image editor

The downsides are

  • that the image would be 1/3 as bright, since any pixel of the actual image would be shown only 1/3 of the time.
  • generating three 1/3 images is not going to be a trivial programming task (euphemism to mean: you have to be an expert) – the canvas in Classic could possibly do this, but the required functions do not exist in X. Also, the code would be extensive, perhaps beyond what Thunkable can support in terms of blocks; and processing would most likely have to be performed by an external widget, written in an different programming language
  • the pixel on/pixel off selection process would be delicate to do, since if the pixels are small and the image large, you would end up with 3 still quite legible images in each sub-frame; they would simply be lower resolution rendition, as opposed to garbled ones
  • that stroboscopic screen effect could be very bad for people with epilepsy
  • the stroboscopic cycle rate would depend on the speed of the end device, which you do not control. Also, it has been my personal experience that some device are smart enough to determine that showing an image is pointless if it would be replaced by another one before the screen had the time to refresh. This makes the timing essentially impossible to tune for all devices; what may work for one smartphone could be impossible for another.
  • the overall partial image flashing experience could still be captured by a animated screen capture utility (as opposed to a static, single image capture) and be played back at leisure
1 Like