Issue: users download without purchasing

Users can save images without purchasing them, both in Desktop AND mobile versions of Patreon. I hope you may solve this Issue sooner than later, for the majority of Patreon’s community will be greatly benefited by this.

  • Simply putting a Watermark on the Hero Image is not a solution, not only because this is a deterrent from a purchase, as it doesn’t allow you to see the image well and fully; but also because there are plenty of AI capable of erasing the watermark.

- I suggest two solutions:

  1. You can disable right-clicking on an image: by this method you disable the option “save image”, for that is the most common way to download images.
  2. You can also disable taking screenshots by adding an EME (Encrypted Media Extension) or something like that.

Having said that:

Solution 1: - Here’s the information on disabling right-click that I found:

  • here’s how to disable right-clicking on a webpage:

    1. Save the key code value of the F12 button, which is 123
    2. Add an alert that says “f2l has been disabled”
    3. Return equals to false
    4. Save the change
    5. Load the page
    6. Press the F2L button

Right-clicking and inspect element options should be disabled.

I also found this:

In a browser

Use CSS to disable right-clicking by setting the “pointer-events” property to “none” for the element you want to disable.

On a WordPress website

You can disable right-clicking by:

    • Using the WP Content Copy Protection & No Right Click plugin

    • Editing your site’s code:

      1. Log into your WordPress dashboard
      2. Click Appearance > Theme Editor
      3. Find and click the functions.php file
      4. Add the following code to the end of the file:
      • function disable_right_click() { echo “”; } add_action( ‘wp_footer’, ‘disable_right_click’ );
      1. Update the file to save your changes


Solution 2: - And here’s the information on adding an EME that I found:

To add an Encrypted Media Extension (EME) to a web app, you can use the EME API to:

  1. Find the key system: Use the navigator.requestMediaKeySystemAccess()method to determine which key system to use.
  2. Initialize the keys: Use the createMediaKeys method to create a MediaKeys object.
  3. Create a session: Use the createMediaKeySession method to create a session where the keys are valid.
  4. Generate a license request: Use the generateRequest() method to send a request to the CDM to generate a license request.
  5. Send the license request: Send the license request message to the license server.
  6. Receive the license: Receive the license from the license server.
  7. Forward the license to the CDM: Use the update method on the MediaKeySession object to forward the license to the CDM.

The EME API is available in most browsers and allows clients to play encrypted audio and video content without using additional plugins.

Here are some things to keep in mind when using EME:

  • The EME specification defines the APIs for the application to interact with the CDM and license server, but it doesn’t define the CDM or the communication protocol with the license server.
  • The browser and application can’t understand the communication between the CDM and the license server, but the app layer can see what type of message the CDM is sending.
  • EME supports several CDM functionality options, including decryption only, decryption and decoding, and rendering directly in the hardware.



Regards, Emilio Anzola G.

This relates to patreon.com the site, so you should post this at a place like Patreon’s Discord server or open a support ticket at Patreon’s help desk to tell about this.