Understand risk dimensions
Dimensions are business-level scored risk analyses inside a risk assessment. Each dimension examines the business through one lens, such as transaction laundering, and carries its own score along with the factors that explain it. Dimensions live in the dimensions[] array on the risk assessment.
While identifier assessments score individual identifiers like an email address or a phone number, a dimension scores the business as a whole. The dimensions[] array grows as Middesk ships new dimensions, so build consumers that tolerate type values they don’t recognize.
The dimension object
| Field | Type | Description |
|---|---|---|
object | string | The object type. Always risk_dimension. |
type | string | The dimension. transaction_laundering is available today, and Middesk adds new values as new dimensions ship. |
score | number | A risk score from 0 to 1. Higher scores indicate higher risk. |
level | string | The categorical level banded from score through the same thresholds as the assessment’s top-level verdict, so the two vocabularies never disagree. |
top_factors | object[] | The factors that contributed most to the score, ordered by the size of their contribution. |
top_factors[].name | string | The factor name, such as url_risk_score. |
top_factors[].type | string | The type of value. One of boolean, integer, or double. |
top_factors[].value | boolean or number | The measured value. |
top_factors[].contribution | number | The signed effect of this factor on the score. Positive contributions raise risk, and negative contributions lower it. |
Only measured factors appear in top_factors[]. A factor Middesk did not measure on a run is omitted rather than reported with a default, so a false value always means the factor was checked and found absent, never that it wasn’t computed.
Transaction laundering
Transaction laundering occurs when a merchant processes payments for undisclosed activity through a seemingly legitimate storefront. The storefront presents an acceptable business while the actual sales, often for prohibited goods or services, run through the same merchant account.
The transaction_laundering dimension draws on 20 measured factors spanning website content and policy signals, phone risk, and URL and domain reputation, listed here in order of importance to the model:
| Factor | Type | What it measures |
|---|---|---|
url_is_web_tracker | boolean | The URL was flagged for web tracking. |
website_has_instagram_link | boolean | An Instagram link detected on the website. |
website_num_social_links | integer | The number of social profile links detected on the website. |
website_has_no_refund_language | boolean | No-refund language, such as “no refunds” or “all sales final”, detected on the website. |
phones_any_risky | boolean | At least one phone number on the business is flagged as risky. |
phones_any_linetype_unknown | boolean | At least one phone number on the business has an unknown line type. |
website_tech_wix | boolean | Wix is among the ecommerce technologies detected on the website. |
website_tech_cloudflare | boolean | Cloudflare appears in the technologies detected on the website. |
website_has_compliance_links | boolean | Compliance-related pages, such as terms or privacy, detected on the website. |
website_num_pages_crawled | integer | The number of pages crawled during the website analysis. |
phones_avg_risk_score | double | The average risk score across the business’s phone numbers. |
url_risk_score | double | The URL’s overall risk score. |
website_has_privacy_or_tos | boolean | A privacy policy or terms of service page detected on the website. |
url_domain_newly_registered | boolean | The website’s domain was registered recently. |
url_tld_risky | boolean | The domain’s top-level domain is high risk. |
url_domain_parked | boolean | The URL is parked. |
website_tech_shoplazza | boolean | Shoplazza is among the ecommerce technologies detected on the website. |
website_tech_woocommerce | boolean | WooCommerce is among the ecommerce technologies detected on the website. |
website_has_business_name | boolean | A primary business name detected on the website. |
website_ecommerce_detected | boolean | Ecommerce functionality, such as an add-to-cart or checkout flow, detected on the website. |
Read each factor together with its contribution. In the example above, website_has_no_refund_language with a value of true and a positive contribution raises the score, while website_has_privacy_or_tos with a value of true and a negative contribution lowers it.
Transaction laundering is the first production dimension. Future dimensions share the same structure, so an integration that reads type, score, level, and top_factors[] handles new dimensions as they ship.