Logs Enrichment Integration
DataDome Bot Protect analyzes your traffic in real time. We can provide insights about your traffic by enriching your logs for all the requests that we analyze.
Our modules include a powerful feature that adds headers on each request before they reach your backend or CDN.
Our customers use it for a deeper integration of DataDome in their infrastructure and applications for the following use cases:
- Enriching server logs with bot information from DataDome for log analytics, SIEM or SOC (e.g. Elasticsearch, Sumo Logic, Splunk)
- Providing insights about bot traffic on your client-side analytics (e.g. Google Analytics, Adobe Analytics)
Header behavior when detection or protection is disabledWhen this feature is enabled, DataDome adds headers to all requests, even if detection and protection are disabled.
- If detection is disabled, all headers that can return
NA(as seen in this section below) will be set toNA.- If protection is disabled, the headers (including
X-DataDome-Traffic-Rule-Response) will reflect what would have occurred if protection was enabled, but the request will still be allowed through with a200status.
Available enriched headers
Default enriched headers
Header name | Description | Possible values |
|---|---|---|
| The bot name | Examples: |
| Is it a bot? |
|
| Was a CAPTCHA passed? |
|
| Was a Device Check passed? |
|
| A unique identifier for the current request | A standard UUID with alphanumeric characters, e.g. This header can be empty if the request was part of a DDoS attack. |
| The traffic category |
|
Advanced enriched headers
How to enable advanced enriched headers?Please contact our support team to enable enriched headers that are not enabled by default.
They will review your requirements and provide you the best recommendations.
Header name | Description | Possible values |
|---|---|---|
| Names of bot models that were triggered (max: 10) | Examples: This header can be empty if no model was matched. |
| The level of confidence when identifying a request as coming from a bot | A float number between 0 and 1: This header will be empty if:
|
| The DataDome session ID to track the user's journey | The session ID. This header can be empty if the request was part of a DDoS attack. |
| The response type applied by DataDome or the type that would have been applied if DataDome protection was enabled |
|
| Whether DataDome protection was enabled or disabled to process the request |
|
| The name of the endpoint targeted by the request (as defined in DataDome set-up) | Examples: |
| The unique identifier of the endpoint targeted by the request. | A standard UUID with alphanumeric characters, e.g. |
| Whether DataDome client-side detection was executed at least once during the session, running DataDome JSTag or mobile SDK. |
|
| Duration in seconds of the session, since its very beginning and without resetting it in case of inactivity. | An integer number, ex. |
| Duration in seconds of the current active session. The active session is reset in case of inactivity. | An integer number, ex. |
| The incremental request number of the current active session, starting from 1. The active session is reset in case of inactivity. | An integer number, ex. |
| The delay in seconds since the previous request of the session. | An integer number, ex. |
Logs integration
Please refer to the documentation pages below to configure your server-side integrations in order to benefit from these enriched headers in your own logs:
- Apache
- Cloudflare Worker (Cloudflare Apps is not supported)
- CloudFront
- Fastly
- HAProxy18/HAPEE
- IIS
- Nginx
- OpenResty
- Varnish
Export to SIEM/SOC tools
You can find more information about how to export these logs and headers to an SIEM/SOC Tools.
Updated 7 days ago
