Table of Contents
Fetching ...

Unveiling the Tricks: Automated Detection of Dark Patterns in Mobile Applications

Jieshan Chen, Jiamou Sun, Sidong Feng, Zhenchang Xing, Qinghua Lu, Xiwei Xu, Chunyang Chen

TL;DR

This work addresses the prevalence and harm of dark patterns in mobile apps by introducing UIGuard, a knowledge-driven, vision-based detection system that operates directly on UI screenshots. It merges multiple taxonomies into a unified framework, identifies six core UI properties, and employs seven property-extraction modules plus a taxonomy-driven checker to detect 14 dark-pattern types. The authors provide a large-scale annotated dataset and extensive evaluations showing strong end-to-end performance (macro/micro F1 around 0.82/0.79) and high icon/status detection accuracy, along with a user study demonstrating increased user understanding of dark patterns. The approach promises generalizability across platforms, supports analysis for researchers, designers, and regulators, and offers a foundation for future expansion to new pattern types and dynamic contexts.

Abstract

Mobile apps bring us many conveniences, such as online shopping and communication, but some use malicious designs called dark patterns to trick users into doing things that are not in their best interest. Many works have been done to summarize the taxonomy of these patterns and some have tried to mitigate the problems through various techniques. However, these techniques are either time-consuming, not generalisable or limited to specific patterns. To address these issues, we propose UIGuard, a knowledge-driven system that utilizes computer vision and natural language pattern matching to automatically detect a wide range of dark patterns in mobile UIs. Our system relieves the need for manually creating rules for each new UI/app and covers more types with superior performance. In detail, we integrated existing taxonomies into a consistent one, conducted a characteristic analysis and distilled knowledge from real-world examples and the taxonomy. Our UIGuard consists of two components, Property Extraction and Knowledge-Driven Dark Pattern Checker. We collected the first dark pattern dataset, which contains 4,999 benign UIs and 1,353 malicious UIs of 1,660 instances spanning 1,023 mobile apps. Our system achieves a superior performance in detecting dark patterns (micro averages: 0.82 in precision, 0.77 in recall, 0.79 in F1 score). A user study involving 58 participants further shows that \tool{} significantly increases users' knowledge of dark patterns.

Unveiling the Tricks: Automated Detection of Dark Patterns in Mobile Applications

TL;DR

This work addresses the prevalence and harm of dark patterns in mobile apps by introducing UIGuard, a knowledge-driven, vision-based detection system that operates directly on UI screenshots. It merges multiple taxonomies into a unified framework, identifies six core UI properties, and employs seven property-extraction modules plus a taxonomy-driven checker to detect 14 dark-pattern types. The authors provide a large-scale annotated dataset and extensive evaluations showing strong end-to-end performance (macro/micro F1 around 0.82/0.79) and high icon/status detection accuracy, along with a user study demonstrating increased user understanding of dark patterns. The approach promises generalizability across platforms, supports analysis for researchers, designers, and regulators, and offers a foundation for future expansion to new pattern types and dynamic contexts.

Abstract

Mobile apps bring us many conveniences, such as online shopping and communication, but some use malicious designs called dark patterns to trick users into doing things that are not in their best interest. Many works have been done to summarize the taxonomy of these patterns and some have tried to mitigate the problems through various techniques. However, these techniques are either time-consuming, not generalisable or limited to specific patterns. To address these issues, we propose UIGuard, a knowledge-driven system that utilizes computer vision and natural language pattern matching to automatically detect a wide range of dark patterns in mobile UIs. Our system relieves the need for manually creating rules for each new UI/app and covers more types with superior performance. In detail, we integrated existing taxonomies into a consistent one, conducted a characteristic analysis and distilled knowledge from real-world examples and the taxonomy. Our UIGuard consists of two components, Property Extraction and Knowledge-Driven Dark Pattern Checker. We collected the first dark pattern dataset, which contains 4,999 benign UIs and 1,353 malicious UIs of 1,660 instances spanning 1,023 mobile apps. Our system achieves a superior performance in detecting dark patterns (micro averages: 0.82 in precision, 0.77 in recall, 0.79 in F1 score). A user study involving 58 participants further shows that \tool{} significantly increases users' knowledge of dark patterns.
Paper Structure (49 sections, 9 figures, 12 tables)

This paper contains 49 sections, 9 figures, 12 tables.

Figures (9)

  • Figure 1: Examples of dark patterns in mobile apps. (a) A screenshot displaying an ad page UI with two distinct buttons, "Close" and "Install", centrally located. (b) A UI screenshot showing podcast channels listed alongside an ad, identical to regular content, and featuring a small, possibly challenging-to-click close button on the top right. (c) A UI showcasing a settings page with the notification setting enabled. (d) A UI displaying a pop-up window encouraging users to sign up for a 30-day free trial, with small text at the bottom indicating automatic continuation of subscription for $32.99/month post-trial. (e) A payment page UI where users can purchase virtual currency with real currency.
  • Figure 2: Overview of our approach. Given a UI screenshot, our Property Extraction module extracts element coordinates and types, text content, icon semantic, element status, background and foreground colors and element relationship. Then, powered by knowledge, our Knowledge-Driven Dark Pattern Checker identifies potential dark patterns, delivering detection results and highlighting these patterns with a red box.
  • Figure 3: Some examples of false positives. (a) A screenshot of a settings UI page featuring several items. One item includes a nagging pattern saying, "Rate the app! If you enjoy our app, please help us reach a five-star rating!" (b) A UI features a section at the bottom labeled "Upgrade to ad-free version." (c) A UI contains an embedded ad that noticeably differs from the rest of the content. (d) The UI includes an advertisement at the bottom, styled similarly to the other content.
  • Figure 4: User Study Procedure: Prior to the study, participants was briefed on the study's purpose and procedure, and their consents were obtained. Step 1: Participants completed a demographic questionnaire. Step 2: Participants evaluated UIs based on their dark pattern understanding. Step 3: Participants compared their evaluations with UIGuard's detection results for the UIs from Step 2. Step 4: Participants evaluated a second set of similar UIs. Step 5: Participants provided overall feedback.
  • Figure 5: Participants' demographic information
  • ...and 4 more figures