# Browser Fingerprint:WebGL

WebGL is a JavaScript browser API for rendering 3D images on web pages. Websites can use WebGL to identify your device fingerprints. In general, websites can do this in two ways:

WebGL Report - The complete WebGL browser report form is available and can be detected. In some cases, it is converted to a hash for faster analysis. WebGL Images - Hidden 3D images that are rendered and converted to hash values. Because the final result depends on the hardware device on which the calculation is being made, this method generates unique values for different combinations of the device and its drivers. This approach generates unique values for different device combinations and drivers. You can check websites through the Browserleaks test to see what information a website can access through the API.

# WebGL Image noise feature

When you select noise mode in the WebGL Settings, the Migratory Bird browser intercepts the WebGL readout requested by the website and adds a special noise to it. The noise value is consistent across the browser profile, which means that all WebGL image readouts for that file are changed in the same way. For example, the same WebGL image on different pages will be changed in the same way; The same image in different browser sessions is also changed in the same way.

This makes a unique fingerprint in a browser profile persistent.

Since random noise is added to the WebGL image readout, fingerprints are 100% unique if the site applies data analysis techniques.

# WebGL Metadata masking

When you set WebGL to noise mode, the WebGL metadata is masked by the migratory bird browser. This is an old mechanism that will be improved in the future by hiding WebGL metadata and images separately.

With metadata masking enabled, the Migrating Bird Browser changes the WebGL vendor and renderer parameters based on the values retrieved from the fingerprint database.