Skip to main content
The Data tab is the request-level view of the dashboard. Where the Overview tab aggregates traffic into cards, the Data tab is the raw history: a paginated, filterable, sortable, column-configurable, exportable table of individual request records. This is the surface for “show me every identification call, search for one identifier, and export the rows.” Every value in the table is computed server-side and read-only. The dashboard renders results; it never blocks, challenges, or decides anything. Your own code owns the allow / challenge / review / block decision using the Risk Score and signals you receive over webhooks and the Management API.
One row = one identification call (one RequestID). A person who triggers ten identify calls is ten rows here. The Data tab counts requests, not unique visitors. For unique-visitor counts, see Visitor Insights.

Toolbar

The toolbar above the table holds the controls that shape it.
ControlWhat it does
FiltersOpens the filter popover: project, pattern, score range, and date range (see Filters).
Pattern IDsToggles pattern-ID highlighting. When on, identifier cells that match an abuse pattern are highlighted (see Pattern-ID highlighting).
Patterns CountToggles a per-row count of how many abuse patterns that record matched.
ExportExports the current result set as JSON or CSV (see Export).
ColumnsOpens the column toggle to show or hide columns by group.

Filters

The Filters popover scopes the table. Apply one or several together, then clear them all with Reset filters.
FilterBehavior
ProjectA domain select. Default is All Projects (every domain you own). Pick one domain to scope the table to it.
PatternDefault is All patterns. Pick one of the eight abuse patterns to show only records whose identifiers match that pattern. The list is sourced from your live patterns.
ScoreA From / To range over the Risk Score, 0 to 100, validated. Use it to isolate a band, for example 60 to 100 for the High band.
Date rangeA calendar range. The table shows records inside this window.
Reset filtersClears project, pattern, score, and date back to defaults.
To review only your riskiest traffic, set the Score range to 60100 (the High band) and sort by Date. To audit one suspicious entity, set the Pattern filter and turn on Pattern IDs highlighting together.
Records are searchable by identifier or field. Search is parameterized server-side as a search_type plus a search_value, so you look up records by a specific identifier rather than full-text scanning the table. The identifier types you can search by line up with the History API:
Search typeLooks up records by
request_idA single identification call.
visitor_idA VisitorID (breaks on cookie clear).
device_idA DeviceID (durable across cookie clear and incognito in the same browser).
user_hidThe customer’s own hashed account id passed in through the snippet.
ipA public IP address.
See identifiers for how each id is derived and how durable it is.

Columns

Columns are grouped into five categories in the Columns toggle. The default visible set is Request ID, UserHID, Visitor ID, Device ID, Score, Date, IP Address, Country, VPN, Proxy, and Tor. Turn the rest on as you need them.

Request Data

The identity, timing, score, and environment of the request.
ColumnMeaning
Request IDThe RequestID for this call. The join key across the snippet response, the webhook, and the History API.
Session IDThe SessionID for the visit (a 10-minute window).
UserHIDThe customer’s own account id, passed in through the snippet (hashed / pseudonymous).
Cookie IDThe first-party CookieID. Regenerates if the visitor clears cookies or storage.
Visitor IDThe VisitorID. Derived from DeviceID plus CookieID, so it breaks on cookie clear.
Device IDThe DeviceID. Derived from dozens of stable browser components, so it survives cookie clear and incognito within the same browser. Browser-bound.
DateThe request timestamp, rendered MMM D, YYYY HH:mm in your local time.
ScoreThe Risk Score, 0100, shown as a band-colored badge (see Score column).
IP AddressThe public IP the request came from.
CountryThe country derived from the IP.
BrowserThe browser.
OSThe operating system.
Device TypeDesktop, Mobile, Tablet, or Other.
The Request ID, Session ID, UserHID, Cookie ID, Visitor ID, and Device ID cells are copyable so you can paste an identifier straight into search or the History API.

Request Signals

Each scoring signal as a boolean column. A red Yes badge means the signal fired on that request; a muted No means it did not. These are the same per-request signals that build the Risk Score and ship in the explainable Details array.
ColumnFires when
ProxyThe IP is flagged as a proxy.
Timezone MismatchThe browser timezone does not match the IP timezone.
Datacenter IPThe IP belongs to a datacenter or hosting range.
VPNThe connection runs through a VPN (corroborated by the 2-of-3 rule).
Privacy RelayiCloud Private Relay or a similar relay service.
Abuser FlagThe IP or device is on an abuse reputation list.
Browser VPN/ProxyAn in-browser VPN or proxy extension is detected.
STUN not CheckedThe real-IP (STUN) check did not complete.
OS not DetectedThe OS could not be derived from the user agent or network.
OS MismatchThe OS the browser claims does not match the OS the network fingerprint shows.
Anti-detect BrowserAnti-detect or fingerprint-spoofing indicators are present.
JavaScript DisabledThe WebRTC API is absent (noscript beacon or headless without WebRTC).
TorThe connection exits through the Tor network.
For what each signal weighs, how anonymity signals (Tor, Privacy Relay, VPN) are mutually exclusive, and the VPN 2-of-3 corroboration rule, see signals.

Connection Type

ColumnMeaning
Connection typeThe connection class for the request, for example Direct, Mobile, VPN, Proxy, Tor, Privacy Relay, or Unknown.

Traffic Source

ColumnMeaning
ChannelThe acquisition channel, one of Google Ads, Meta, TikTok, LinkedIn, X, Organic Search, Referral, Direct, or Other.
Referrer DomainThe referring host for the request.

UTM

The campaign tags captured on the request.
ColumnField
UTM Sourceutm_source
UTM Mediumutm_medium
UTM Campaignutm_campaign
UTM Contentutm_content
UTM Termutm_term
The Channel, Referrer Domain, and UTM columns are the same attribution fields the Traffic Sources card aggregates. Use the Data tab when you need the per-request rows behind a channel’s risk badge.

Score column

The Score cell is a colored badge, banded the same way as everywhere else in ShieldLabs:
BandRangeBadge color
Clean0–9green
Low10–29yellow
Medium30–59orange
High60–100red
The score is always 0–100, capped at 100. There is no higher scale. A legitimate user can land in a higher band (corporate proxy, VPN, privacy browser), so read the Score together with the signal columns that fired, not the number alone. See acting on the Risk Score.

Sorting

The table is sortable by Date, Score, and every boolean signal column. Sorting by a signal groups the rows where that signal fired, which is a fast way to pull, say, every request that tripped Anti-detect Browser in the period.

Pattern-ID highlighting

Turning on Pattern IDs in the toolbar highlights identifier cells that belong to a flagged entity, so you can spot at a glance which records are part of an abuse pattern. Only the UserHID, Visitor ID, and Device ID cells highlight:
  • a Dangerous match shows a red background
  • a Suspicious match shows an orange background
This pairs with the Pattern filter: filter to one pattern, turn on highlighting, and the matched identifiers stand out across the result set. The patterns themselves, their grading, and per-identifier breakdowns live on the Patterns tab. Reaching the Data tab pre-filtered to a single pattern is exactly what the View in Data button on each pattern card does.
Abuse patterns are a dashboard feature, computed server-side from historical data. They are not part of the webhook or Management API payload, and they are distinct from the per-request scoring signals in the boolean columns above. Signals score one request right now; patterns link many requests over a time window.

Export

The Export button exports the current result set in either format:
FormatUse it for
JSONPiping records into your own pipeline or warehouse.
CSVSpreadsheets and quick ad-hoc analysis.
Exports are free: they do not consume request balance the way the History API does (which bills per returned row). Filter and search to the rows you want, then export them.

How the Data tab fits the flow

The Data tab is the readable mirror of the data your own backend already receives:
1

The snippet runs

The snippet collects signals and posts them, returning a RequestID.
2

The server scores asynchronously

ShieldLabs scores the request and delivers a webhook with the Risk Score and signals. You can also read the same record through the History API.
3

The record lands in the Data tab

Every call appears here as a row, joinable by RequestID, ready to filter, search, sort, and export.
Use the Management API when your code needs the records programmatically, and the Data tab when a human needs to investigate.

Where to go next

Abuse Patterns

The eight server-side patterns, their grading, and per-identifier breakdowns.

Traffic Sources

Channels, referrers, and UTM parameters ranked by request volume and risk.

Management API

Read the same records programmatically through the History API.

Identifiers

How RequestID, SessionID, CookieID, VisitorID, DeviceID, and UserHID are derived.