The problem. Canvas fingerprinting.

Canvas fingerprinting works by exploiting the HTML5 canvas element: when a user visits a website, his browser is instructed to 'draw' a hidden line of text or other graphic.

Then resulting image is rendered into array of data, which can have small differences across different browsers and platforms. These differences makes image data rather unique and thus can be used to track users without any actual identifier persistence on the machine.

Example: PayPal fingerprint:

Per pixel canvas comparison on Firefox and Chrome (use mouse hover):

Difference :

( 0, 0, 0, 0 ) -> ( 0, 0, 0, 0 )