Skip to main content

Permissions

Browsers have different instructions how to handle different permissions such as the use of a gyroscope or location. By asking the browser for the setting for these permissions, we can add a small bit of entropy to the fingerprinting.

This has some caveats though. If your site might ask for a permission, the setting for it will change. For example, the permission for 'microphone' might be 'ask' first, but once it's been asked and allowed, its permission value changes to 'allow'.

Permissions are relatively costly to resolve, too. If performance is of importance, it is recommended to exclude permissions from the fingerprint.

Example

"permissions": {
"accelerometer": "granted",
"background-fetch": "granted",
"background-sync": "granted",
"camera": "prompt",
"clipboard-read": "prompt",
"clipboard-write": "granted",
"display-capture": "prompt",
"gyroscope": "granted",
"geolocation": "prompt",
"local-fonts": "prompt",
"magnetometer": "granted",
"microphone": "prompt",
"midi": "prompt",
"notifications": "prompt",
"payment-handler": "granted",
"persistent-storage": "prompt",
"storage-access": "granted",
"window-management": "prompt"
},

Code

Check out the implementation