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.
Additional device attribute values for the
IaDfp.setEnhancedFingerprint()
function
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)

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.
Values for the
setEnhancedFingerprintExcludeBrowserList()
function
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)

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)

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

Invoke the
IaDfp.setEnhancedFingerprint()
function as follows. Note the following considerations:
  • You must invoke the
    IaDfp.setParentDomain()
    function before you invoke any other
    IaDfp
    function.
  • You must invoke the
    IaDfp.setEnhancedFingerprint()
    or
    IaDfp.setEnhancedFingerprintExcludeBrowserList()
    functions before you invoke any other non-setter
    IaDfp
    function, such as
    IaDfp.readFingerprint()
    .
  • The
    IaDfp.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 replace
    iadfp.js
    with
    iadfp_1.3.js
    or later wherever you invoke the
    iadfp
    JavaScript 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: