What Digital Fraud Prevention Response Fields Mean
This article describes every field that DFP sends to you.
|
DFP sends the user’s browser JSON with an encrypted payload. The browser forwards this response to your backend, where you decrypt it with the secret key. This article describes all fields: both the fields in the response before decryption and the fields in the decrypted payload. |
DFP Response Before Decryption
A DFP response looks like this:
{
"cipher_type": "aes-256-gcm/json",
"iv": "kUtwgQ8ket0kYwbY",
"payload": "qaBKmqp5rmGHvqWXqvbyTDY3+M4cxO1LlB47gNOh+tRx0wq4IxhXlsNpxNtoMiegyNDDlHd3w2or8J5R8HM6HwMCKj0VeUuXn8pHd7AiTA2rESvQx8ziwKreFbgj8s1K7gbS0P+i7t0sD4dgw3tMkRB8XjAeasOBdbSZLceCgQQfKIM00HAVtyP3zbU4kybR4Z0FXcIK3q19kpaEiCqDgpXsfvrUPpOJgo3nQ0b4uhmbpb8e6BWjXSOSnzf86sQxJD6tu6aUlqUqtt3GxXuB6Ig2ffXEK9JCK7Uv0LnEAzqYJ4ZVdihIwJfrSzXW4agzRAFlSa92wwurSmXV5KBUfi1o2DuZkP+W8wiZ/5xmcSN1ZMYz/GD+WWfPVtI7FlwWSsXiKwjLm/+BcvdNv2QsSrV7gAOKJdhwPPz73bCFTvHZ7D/TYCpm5IQmQV00QPbyieBkBj/kNdp8eXLDwXgFvG+sFaBv9pXalFmvuvVtVbJMzT+WAjj9s6V95CRycR9tksCyD85l7XUuQzvYitu3m0nbd7eAeWkS0uNjsGo7vcOJtvws7q6bm1EidBgCrPknGSwJqd1LvdemKzm81SfFQoE72EzxVZ/cEedPPBFeax1NOQCtFaD/+WUl0cZa36OblMgTw4umdocEJvm9yJc=",
"request_id": "cIK7aBF8WqM1",
"success": true,
"tag": "msxs6Dyk5LBzF6VnpVJ5bw=="
}
Here is what each field means.
| Field | Possible values | Meaning |
|---|---|---|
|
|
Whether DFP processed the request successfully. If you receive |
|
|
|
|
Base64 string |
The initialization vector used to decrypt the payload. It is sent as Base64 and is 12 bytes after decoding. |
|
Encrypted Base64 string |
The result of analyzing technical signals from the client environment and network interaction while sending the request. This result is sent encrypted and does not include the authentication tag. |
|
String |
The request ID. Support uses it to find the request quickly if there is a problem with it. |
|
Base64 string |
The AES-256-GCM authentication tag. It is used to check integrity and decrypt the payload. It is 16 bytes after decoding. |
Decrypted Payload
After decryption, the backend receives JSON similar to this:
{
"details": {
"bot_hosting": false,
"bot_score": 0.215,
"engine": "blink",
"hosting": false,
"incognito": false,
"isp_active_subnet": true,
"mobile": false,
"os": "macos",
"vpn": true,
"new_user": false,
"confidence_score": 1
},
"user_id": "7d052a5b7e99b6d528646708f3422e6f",
"referer_md5": "9f0b84073da2ef97a63c2f4179981a2e",
"timestamp": 1780406318499,
"version": 1,
"custom_data": "{\"event\":\"login_attempt\"}"
}
Here is what each field means.
| Field | Possible values | Meaning | ||
|---|---|---|---|---|
|
Number from 0 to 1 |
The likelihood that a bot sent the request. Values:
|
||
|
|
The browser engine. |
||
|
|
Whether the IP belongs to a hosting subnet. |
||
|
|
Whether the IP belongs to a hosting subnet from which we have detected bot activity or other suspicious activity. |
||
|
|
Whether incognito mode is enabled in the browser. |
||
|
|
Whether the IP belongs to an active Internet service provider subnet used to connect private or corporate customers to the Internet. |
||
|
|
Whether the request came from a mobile device. |
||
|
String, for example |
The operating system on the device. |
||
|
|
Whether a VPN is enabled. |
||
|
|
Whether this client environment is visiting your resource for the first time. |
||
|
Number from 0 to 1 |
How confident DFP is that the If DFP encounters an environment that has not visited your resource before ( If DFP encounters an environment that has already visited your resource, it returns the |
||
|
String |
A persistent identifier of the client environment. Put simply, it is an ID that describes a specific browser-device pair. The ID remains stable even if a user changes device, browser, or network settings. For example, if the user:
The ID stays the same because the main condition is met: the device and browser are unchanged. If the user opens another browser or sends a request from another device, you will see a different ID. This is because every browser-device pair has its own unique ID. |
||
|
MD5 hash |
The hash of the The |
||
|
Unix timestamp in milliseconds |
The time when DFP generated the analysis result shown in this payload.
|
||
|
Number |
The version of the core software that DFP is based on. |
||
|
String |
The string you passed in the request through the
|
How to Use This Data
For guidance on interpreting response field values, see How to Interpret a DFP Response.
We have also prepared instructions for using DFP in specific business scenarios: