PolicyGapper数据集
收藏资源简介:
PolicyGapper数据集由IMT卢卡高等研究学院等机构联合构建,旨在检测Google Play应用数据安全声明(DSS)与隐私政策(PP)的一致性。该数据集涵盖2025年第三季度330款热门应用,覆盖Google Play全部33个类别,包含2,689条遗漏声明记录(含2,040条数据收集和649条数据共享问题)。数据通过自动化爬取和LLM分析流程生成,经人工验证F1值达0.76,主要用于隐私合规性审计领域,为开发者提供自动化检测工具以解决DSS-PP不一致导致的监管风险问题。
The PolicyGapper dataset was jointly constructed by institutions including IMT School for Advanced Studies Lucca and other partners, aiming to detect the consistency between Data Safety Statements (DSS) and Privacy Policies (PP) of Google Play applications. This dataset covers 330 popular applications from the third quarter of 2025, spans all 33 categories on Google Play, and contains 2,689 missing declaration records, including 2,040 data collection-related issues and 649 data sharing-related issues. The dataset was generated through an automated crawling and LLM-based analysis pipeline, and achieved an F1 score of 0.76 after manual validation. It is primarily used in the field of privacy compliance auditing, providing automated detection tools for developers to address regulatory risks caused by inconsistencies between DSS and PP.
PolicyGapper 数据集概述
数据集基本信息
- 数据集名称:PolicyGapper
- 核心目标:提供一种基于多提示大语言模型(LLM)协作的自动化移动应用隐私合规分析方法。
- 适用对象:Android 应用程序包。
- 分析基础:无需应用程序源代码或额外信息,仅基于公开信息进行分析。
方法概述
该方法自动比较公开应用商店(如 Google Play 的“数据安全”部分)中的隐私声明与应用程序隐私政策中描述的实际数据收集和共享行为。通过集成多个专门的 LLM 提示和结构化的预处理/后处理流程,旨在检测商店元数据中被遗漏的声明。
系统架构与模块
系统由五个协作模块组成,工作流程如图所示。
1. 爬虫模块
收集后续分析所需的所有公开可用信息。
- 数据安全提取器:使用应用程序包名从 Google Play 商店页面提取元数据,重点解析数据安全部分,输出包含所有声明数据类型的结构化 JSON 文件。
- 隐私政策提取器:使用从 Google Play 提取的隐私政策 URL,启动具有自定义
User-Agent的无头浏览器,等待 3 秒以加载 JavaScript 内容,移除 Cookie 横幅,并将渲染的页面导出为 PDF 文件。
2. LLM 预处理模块
处理下载的隐私政策,仅提取相关陈述。
- 分离有关数据收集和数据共享的陈述。
- 使用两个专用提示:
Sharing Statement Analysis PromptCollection Statement Analysis Prompt
3. LLM 分析器模块
核心分析模块,用于比较:
- 相关的隐私政策陈述,以及
- 解析后的 Google Play 数据安全声明。
- 目标:识别关于数据收集和共享的遗漏或不一致的披露。
- 分析结构:考虑 Google Play 官方文档中定义的所有 39 种数据类型和 14 个类别。使用六个专用提示(三个用于收集,三个用于共享):
- 用户数据(例如,个人信息、联系人、文件)
- 技术数据(例如,设备 ID、性能指标)
- 位置数据
- 输出:六个 JSON 文件,代表潜在的遗漏——三个用于收集,三个用于共享。
4. 合并结果模块
将分析器的原始结果聚合为统一输出。
- 为收集遗漏生成单个 JSON 文件。
- 为共享遗漏生成单个 JSON 文件。
- 确保所有候选遗漏都在一致的文档约束下得到验证。
5. LLM 后处理模块
对候选遗漏进行最终验证。
- 输出格式:包含
omitted_declarations(遗漏声明)和exclude_declaration(排除声明)列表的 JSON 对象。 - 处理阶段:
- 语义连贯性检查:确保每个
data_type在逻辑上得到引用的隐私政策摘录的支持。不连贯的配对被标记为误报并移除。 - 文档约束检查:验证是否符合 Google Play 官方披露规则。排除合法的非披露情况,例如:
- 设备上处理或匿名化数据。
- 端到端加密数据。
- WebView 特定收集。
- 不被视为“共享”的传输(例如,服务提供商、法律义务、用户同意)。
- 语义连贯性检查:确保每个
输出文件摘要
| 阶段 | 输出文件 | 描述 |
|---|---|---|
| 爬虫 | DSS/{pkgName}.json |
Google Play 提取的信息 |
| 爬虫 | PPP/{pkgName}.pdf |
渲染的隐私政策页面 |
| 预处理 | AnalysisResults/PreAnalysisResultsCollection/{pkgName}.json |
提取的收集陈述 |
| 预处理 | AnalysisResults/PreAnalysisResultsShare/{pkgName}.json |
提取的共享陈述 |
| 分析器 | AnalysisResults/AnalysisResultsCollection/{pkgName}_{CollectionDeviceData/CollectionPersonalInfo/CollectionUserGeneratedData}.json |
基于类别的潜在遗漏 |
| 分析器 | AnalysisResults/AnalysisResultsShare/{pkgName}_{ShareDeviceData/SharePersonalInfo/ShareUserGeneratedData}.json |
基于类别的潜在遗漏 |
| 合并 | AnalysisResults/AnalysisResultsCollection/{pkgName}.json |
合并的候选遗漏(收集) |
| 合并 | AnalysisResults/AnalysisResultsShare/{pkgName}.json |
合并的候选遗漏(共享) |
| 后处理 | AnalysisResults/AnalysisResultsShare/{pkgName}_COLLECTION_VALIDATED.json |
验证后确认的遗漏 |
| 后处理 | AnalysisResults/AnalysisResultsShare/{pkgName}_SHARE_VALIDATED.json |
验证后确认的遗漏 |
关键优势
- 无需源代码:完全基于公开信息工作。
- 语言无关:支持多语言隐私政策。
- 模块化:每个模块可以独立运行或协同工作。
- LLM 引导推理:多个提示提高了精确度并降低了幻觉风险。
- 合规驱动过滤:遵守 Google Play 的官方要求。
使用要求与方式
- 核心要求:Docker。
- Python 版本:3.11+。
- 支持平台:Linux,macOS,Windows。
- 使用步骤:
- 构建前:在
docker-compose.yml中插入您的 API KEY。 - 构建:执行
docker compose up --build。 - 运行前:将要分析的
PACKAGE_NAME插入PolicyGapper/input/packages.txt。 - 运行:执行
docker compose run --rm dss-validator bash -c "bash ./run.sh "。
- 构建前:在
- 结果位置:
./AnalysisResults文件夹。




