> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.middesk.com/business-risk/dimensions/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.middesk.com/_mcp/server. # Understand risk dimensions > Understand the business-level risk dimensions on a Middesk risk assessment, including scores, banded levels, and top factors 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](/business-risk/risk-assessments). While [identifier assessments](/business-risk/identifier-risk) 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 **`Example risk dimension`** ```json title="Example risk dimension" { "object": "risk_dimension", "type": "transaction_laundering", "score": 0.82, "level": "high", "top_factors": [ { "name": "website_has_no_refund_language", "type": "boolean", "value": true, "contribution": 0.24 }, { "name": "url_risk_score", "type": "double", "value": 91.0, "contribution": 0.18 }, { "name": "url_domain_newly_registered", "type": "boolean", "value": true, "contribution": 0.12 }, { "name": "website_has_privacy_or_tos", "type": "boolean", "value": true, "contribution": -0.07 }, { "name": "website_num_pages_crawled", "type": "integer", "value": 14, "contribution": -0.03 } ] } ``` | 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. > **Get a demo** > > Contact your account manager or [contact sales](https://www.middesk.com/contact-sales) to inquire about access. > Understand the business-level risk dimensions on a Middesk risk assessment, including scores, banded levels, and top factors