Enabling enhanced device fingerprinting
You can enable enhanced device fingerprinting using the
IaDfp.setEnhancedFingerprint()
function. Enhanced device fingerprinting uses advanced techniques to identify a device based on browser rendering characteristics (canvas fingerprint) and other device attributes. At a minimum, the function expects a boolean (true
/false
) value. If IaDfp.setEnhancedFingerprint()
is set to true
, subsequent calls to IaDfp.readFingerprint()
return more device browser and version attributes in an encoded fingerprint, if available. The function also accepts a list of additional device attribute values to return. If no additional device attribute values are provided, the function returns all of the additional device attributes that are available.Value | Description |
|---|---|
CANVAS | Returns enhanced device fingerprinting (canvas fingerprinting) attributes. |
AUDIO_CAPABILITIES | Returns information on the device audio capabilities, such as the audio codecs installed. VIP does not collect device audio capabilities for the Safari 17 browser or higher. See Preventing enhanced device fingerprinting from capturing device audio capabilities (the setAudioFingerprintExcludeBrowserList() function) for details on preventing the collection of device audio capabilities for other browsers. |
VIDEO_CAPABILITES | Returns information on the device video capabilities, such as the video codecs installed. |
AVAILABLE_FONTS | Verifies the installed fonts against a pre-defined list. VIP does not collect device font information for the Firefox 118 browser or higher. See Preventing enhanced device fingerprinting from capturing device font information (the setFontsFingerprintExcludeBrowserList() function) for details on preventing the collection of device font information for other browsers. |
IA uses the additional device attributes to enhance the device fingerprint. Also, a device remains recognized even if the browser cookies are cleared. If a device is recognized, any changes between the device attribute values that are remembered by VIP Services and the current values are returned in the
device.fingerprint.changes
response of the evaluateRisk
call. See VIP User Services Developer's Guide
for details about the evaluateRisk
call. Enhanced device fingerprint values are used only for device recognition, and only if a device tag is not sent in the request. Enhanced device fingerprint values are not used for risk evaluation.
See
VIP User Services Developer's Guide
for details about risk evaluation.Preventing browsers from prompting users (the setEnhancedFingerprintExcludeBrowserList() function)
setEnhancedFingerprintExcludeBrowserList()
function)Some browsers may detect attempts to fingerprint devices and may display prompts to users asking them to allow the collection of data. Use the
setEnhancedFingerprintExcludeBrowserList()
function to prevent attempts to gather data by the browsers specified in the call. The call prevents the browsers that are specified from prompting the user for permission to collect data. However, the call also prevents the collection of the additional device attributes that are enabled by the IaDfp.setEnhancedFingerprint()
call. The
setEnhancedFingerprintExcludeBrowserList()
function expects the following values and format:setEnhancedFingerprintExcludeBrowserList("<browserType>:<versionRange>")
Separate multiple
<browserType>:<versionRange>
pairs with commas.Value | Description |
|---|---|
<browserType> | |
MS Edge | Microsoft Edge |
Explorer | Microsoft Internet Explorer |
Firefox | Mozilla Firefox |
Opera | Opera |
Chrome | Google Chrome |
Safari | Apple Safari |
<versionRange> | |
Version | The exact version number |
Version+ | All versions starting with the listed version. |
MinVersion-MaxVersion | All versions within the specified range (inclusive). |
Preventing enhanced device fingerprinting from capturing device audio capabilities (the setAudioFingerprintExcludeBrowserList() function)
setAudioFingerprintExcludeBrowserList()
function)If you have configured enhanced device fingerprinting and want to prevent VIP from capturing information about device audio capabilities as part of the device fingerprint for specified browsers, call the
setAudioFingerprintExcludeBrowserList()
function. After you have made this change, users may be prompted to remember their devices again. The
setAudioFingerprintExcludeBrowserList()
function expects the following format:setAudioFingerprintExcludeBrowserList()("<browserType>:<versionRange>")
The function expects the same values as the
setEnhancedFingerprintExcludeBrowserList()
function. See the table in Preventing browsers from prompting users (the setEnhancedFingerprintExcludeBrowserList() function
, above.Preventing enhanced device fingerprinting from capturing device font information (the setFontsFingerprintExcludeBrowserList() function)
setFontsFingerprintExcludeBrowserList()
function)If you have configured enhanced device fingerprinting and want to prevent VIP from capturing information about device font information as part of the device fingerprint for specified browsers, call the
setFontsFingerprintExcludeBrowserList()
function. After you have made this change, users may be prompted to remember their devices again. The
setFontsFingerprintExcludeBrowserList()
function expects the following format:setFontsFingerprintExcludeBrowserList()("<browserType>:<versionRange>")
The function expects the same values as the
setEnhancedFingerprintExcludeBrowserList()
function. See the table in Preventing browsers from prompting users (the setEnhancedFingerprintExcludeBrowserList() function
, above.Invoking the IaDfp.setEnhancedFingerprint() function
IaDfp.setEnhancedFingerprint()
functionInvoke the
IaDfp.setEnhancedFingerprint()
function as follows. Note the following considerations:- You must invoke theIaDfp.setParentDomain()function before you invoke any otherIaDfpfunction.
- You must invoke theIaDfp.setEnhancedFingerprint()orIaDfp.setEnhancedFingerprintExcludeBrowserList()functions before you invoke any other non-setterIaDfpfunction, such asIaDfp.readFingerprint().
- TheIaDfp.setEnhancedFingerprint()function requires the latest version of the IA device fingerprinting JavaScript. If you are adding device fingerprinting to an existing JavaScript implementation, you must replaceiadfp.jswithiadfp_1.3.jsor later wherever you invoke theiadfpJavaScript function.Symantec recommends that you always upgrade to the latest version of the IA device fingerprinting JavaScript.
<!-- Include VIP IA JavaScript Library --> <script type="text/javascript" src="https://userservices.vip.symantec.com/ vipuserservices/static/v_1_0/scripts/iadfp_1.3.js"></script> <!-- Configure device fingerprint collection parameters --> <script type="text/javascript">IaDfp.setEnhancedFingerprint(true, [CANVAS, AVAILABLE_FONTS]);</script> <script type="text/javascript">IaDfp.setEnhancedFingerprintExcludeBrowserList ("Firefox:60.5.1+,Safari:12.0.3,Chrome:66-72");</script>
For more information about enhanced device fingerprinting, see: