Abuse Patterns are a dashboard feature only. They are computed server-side from history and are not part of the webhook or Management API payload. For per-request decisions in your own code, use the Risk Score and
Details you receive over webhooks.How the tab is laid out
At the top of the tab is a Project select (default All Projects) that scopes everything below it to one domain or all of them. Below that are two sections:- The Overlap Summary block: deduplicated totals across all patterns.
- The pattern cards: one card per abuse pattern, each broken down per identifier.
Empty until thresholds are crossed
A freshly connected domain shows an empty state:No patterns detected yet. The pattern worker runs every 10 minutes. Data will appear once traffic is collected and detection thresholds are crossed.A background worker recomputes all 8 patterns for each verified domain about every 10 minutes (with one run at startup). There is nothing to trigger and no schedule to configure. New flags appear on the next pass. A pattern only records a detection once an entity crosses its Suspicious floor, so low-traffic or clean domains stay empty by design.
Overlap Summary
One entity can match several patterns at once. The same DeviceID might show up under “Many Accounts on One Device” and under “Many Accounts on One Local IP.” Because of that, the totals on the individual pattern cards are not additive: summing them double-counts entities that match more than one pattern. The Overlap Summary block exists to give you the deduplicated picture. Its tooltip reads:IDs may appear in multiple patterns. Totals across pattern cards are not additive. Use this block to compare total matches vs deduplicated affected IDs.
Severity filter
Three buttons scope the whole block:| Filter | Shows |
|---|---|
| All Severities | Every flagged entity, Suspicious and Dangerous. |
| Suspicious | Only entities graded Suspicious. |
| Dangerous | Only entities graded Dangerous. |
The three stats
| Stat | Tooltip | What it tells you |
|---|---|---|
| Total affected IDs | ”All flagged IDs” | The raw count of flags across every pattern. An ID that matches three patterns counts three times here. |
| Unique affected IDs | ”Deduplicated flagged IDs” | The distinct count of entities flagged at least once. An ID that matches three patterns counts once here. |
| Avg patterns per ID | ”Average number of matched patterns per flagged ID” | Total divided by Unique. A higher average means your flagged entities are tripping several patterns each, which is a stronger coordination signal than many entities each tripping one. |
Pattern cards
Below the Overlap Summary is one card per abuse pattern. Each card shows:- the pattern name (for example,
Many Accounts on One Device) - a one-line description of what it correlates
- a Possible abuse cases row of badges (for example, Multi-accounting, Account farms, Anti-fraud bypass)
- a grid of per-identifier blocks, one block per identifier type the pattern flags
Per-identifier blocks
Inside each card, an identifier block reports counts for one identifier type. The identifier types a pattern can flag are:| Block | Identifier |
|---|---|
| UserHID | Your own logged-in account id, passed in via the snippet (hashed, never a raw email). |
| VisitorID | UUID5(DeviceID + CookieID). Breaks when storage is cleared. |
| DeviceID | UUID5 of stable browser components. Durable across cookie clear and incognito on the same browser. |
| CookieID | First-party cookie id, minted client-side. |
| WebRTC IP | The WebRTC-derived local IP, shown elsewhere as “Local IP”. |
When a group fires, ShieldLabs marks every linked participant at the same level, not just the entity that triggered it. A flagged device also flags the accounts, visitors, and cookie ids correlated with it. That is why one event can populate several identifier blocks across a card.
Grading: Normal, Suspicious, Dangerous
Every pattern grades an entity on a three-level ramp.| Grade | Meaning |
|---|---|
| Normal | The entity has not crossed the Suspicious threshold. It is the implicit baseline and is not recorded. |
| Suspicious | The entity crossed the lower threshold for that pattern in its window. |
| Dangerous | The entity crossed the higher threshold. The strongest grade. |
Card actions
Each pattern card has three actions.More
Opens a detail modal for the pattern.
Export IDs
Downloads the flagged identifiers as a CSV.
View in Data
Deep-links to the Data tab, filtered to this pattern.
More: the detail modal
More opens a modal that repeats the per-identifier blocks and adds a How it triggers section. That section spells out the pattern’s thresholds in plain language, color-coded by level:- Normal (the baseline, no detection)
- Suspicious (orange)
- Dangerous (red)
Export IDs: the flagged-entity CSV
Export IDs downloads the flagged identifiers for that pattern as a CSV. This is the bridge from the dashboard to your own systems.Workflow
Exports are free. They do not consume request balance. Billing is per identification only. See Billing.
View in Data: deep-link to the records
View in Data opens the Data tab pre-filtered to this pattern, so you can drill from “this device matched Many Accounts on One Device” to the individual request rows behind the flag. On the Data tab you can:- filter records to any one of the 8 patterns
- toggle Pattern IDs highlighting (highlights the ID cells that match a pattern)
- toggle Patterns Count (a per-row count of how many patterns each record matched)
- export the underlying request records as CSV or JSON
How to work the tab
Scope it
Pick a Project and set the Overlap Summary severity filter to Dangerous to start with your highest-confidence flags.
Find the coordinated entities
In the Overlap Summary, compare Total vs Unique affected IDs and read the Avg patterns per ID. Use the bar chart to find entities matching the most patterns at once.
Open the pattern that matters
On the relevant pattern card, read the per-identifier blocks and their Suspicious / Dangerous sub-counts. Use More to confirm what threshold it crossed.
Get the evidence
Use View in Data to inspect the request rows behind the flag and confirm context before you act.
Patterns vs. the Risk Score
The Patterns tab and the Risk Score answer different questions. Use the right one.| Risk Score | Abuse Patterns | |
|---|---|---|
| Scope | One visit, in real time | An entity, across history |
| Delivery | Webhook + History API | This dashboard tab only |
| Grades | Clean / Low / Medium / High (0-100) | Normal / Suspicious / Dangerous |
| You act on it | In your own code, per request | By exporting flagged IDs and acting in your own systems |
Next steps
Abuse Patterns catalog
The 8 patterns in full: descriptions, windows, grading, and abuse cases.
Data tab
The request records behind each flag, filterable by pattern and exportable.
Identifiers
How UserHID, VisitorID, DeviceID, CookieID, and the Local IP are made and linked.
Acting on the Risk Score
Turn the Risk Score and Details into allow, challenge, review, or block in your own code.