Hardware: WebGL
Related articles
WebGL is a Javascript browser API for rendering 3D graphics on a web page. Websites may exploit WebGL to fingerprint your device. Generally, there are two methods by which websites are able to do it:
- WebGL Report — the entire WebGL Browser Report table is retrieved and examined. In some cases, it’s converted into a hash for faster analysis.
- WebGL Image — a hidden 3D image is rendered and hashed. Because the end result depends on a hardware device that makes calculations, this method yields unique values for different combinations of devices and their drivers.
Fingerprints test
You can check what information the websites can retrieve through this API from Browserleaks' test.
WebGL modes
In Multilogin, you are able to control your WebGL readouts by either adding a persistent random noise to the readout or allowing the website to see the real fingerprint of your device.
WebGL image Noise mode (default)
When you set WebGL mode to Noise, Multilogin will intercept WebGL readout requested by a website and add a unique noise to it. This noise will be persistent for that browser profile. This means all WebGL readouts within this profile will be altered the same way. For example, the same WebGL image on different pages will be altered in the same way. The same image in two different browser sessions will also be altered the same way.
This allows creating a unique fingerprint that persists for a certain browser profile.

WebGL metadata Masking mode (default)
When metadata masking is on, Multilogin will alter WebGL Vendor and Renderer parameters with values retrieved from a fingerprint database.
You can see altered WebGL metadata parameters in "Other WebGL parameters":

WebGL Off mode
When WebGL masking is set to Off, websites will see the real WebGL Report and Image hashes.
Setting the mode to Off can be advantageous in some cases, where websites react badly to 100% unique WebGL readouts.

Opening browser profiles on multiple machines
The added noise is persistent. However, it is added as a filter on top of the existing machine fingerprint. So, if the machine has changed, then the readouts also change.
The WebGL hash with added Noise is not persistent
Below is a screenshot example. The same browser profile is opened on 2 different machines. Although the noise is persistent for that profile, the WebGL readouts are still different.
Solutions if non-changing readouts are required on multiple devices
- Run Multilogin on identically configured Virtual Machines (VM) or Virtual Private Servers (VPS) with Hardware fingerprints set to Noise mode. Since these machines will be set up the same way, the masked WebGL fingerprints will remain consistent on multiple machines.
- Run Multilogin on identical PC models with the same hardware, driver and OS setup. Since these machines have the same hardware setup, the masked hardware prints will remain consistent on multiple machines.
- Run Multilogin on the same Mac computers. The same logic applies, but also helps with blending in better, as described above.