Privacy Policy Generator
Privacy Policy Generator 是一个 VS Code 插件,能够自动扫描您的移动应用或Web项目代码,检测隐私相关功能,并生成符合 Google Play 商店、Apple App Store 等平台要求的隐私政策。
✅ 系统状态
🎉 系统已完成并通过全量测试!
- 测试覆盖率: 100% (4/4 测试样例通过)
- 支持平台: Web应用、Android应用、iOS应用、复杂应用
- AI生成质量: 所有平台均使用AI生成专业隐私政策
- 法规合规: 完全符合GDPR/CCPA、Google Play、Apple Store要求
- 最后测试时间: 2025年7月30日
🚀 主要功能
- 智能代码扫描:自动检测应用权限、第三方SDK、数据收集功能
- 多平台支持:支持 Android、iOS、Flutter、React Native、Web 项目
- 合规生成:生成符合 GDPR、CCPA、Google Play 等要求的隐私政策
- AI 驱动:使用先进的 AI 模型生成专业的隐私政策内容
- 多种格式:支持 Markdown 和 HTML 格式输出
- 100%成功率:经过全量测试验证,所有平台都能稳定工作
📱 支持的项目类型
- Android:Java/Kotlin 项目,自动检测 AndroidManifest.xml 权限
- iOS:Swift/Objective-C 项目,检测 Info.plist 权限声明
- Flutter:跨平台 Dart 项目
- React Native:JavaScript/TypeScript 项目
- Web 应用:检测 Cookie、localStorage 等隐私功能
📚 文档与脚本结构
docs/history/:关键版本的更新记录、部署日志与历史变更说明。
docs/reports/:测试报告、评估结果等运行数据归档。
scripts/dev/:本地开发辅助脚本(如 hot-reload-server.js)。
scripts/deploy/:部署相关脚本(API 部署、函数部署等)。
tests/manual/:需要手动执行的脚本化测试(例如 node tests/manual/test-auth-functionality.js)。
🛠️ 使用方法
快速开始
- 在 VS Code 中打开你的项目
- 按
Ctrl+Shift+P 打开命令面板
- 输入 "Privacy Policy" 查看可用命令
主要命令
- 扫描项目:
Privacy Policy: Scan Project for Privacy Features
- 生成政策:
Privacy Policy: Generate Privacy Policy
- Google Play:
Privacy Policy: Generate Google Play Privacy Policy
右键菜单
在资源管理器中右键点击项目文件夹,可直接选择扫描项目
🌐 落地页部署
本地开发与测试
# 1. 构建落地页
npm run build:landing
# 2. 验证构建产物
node scripts/tools/verify-build.js
# 3. 本地预览
npm run serve
# 访问 http://localhost:3000
# 4. 完整流程(构建+验证+预览)
npm run build:full && npm run serve
构建流程说明
项目使用以下构建流程:
CSS 构建 (scripts/build/build-css.js):
- 使用 PostCSS 编译 Tailwind CSS
- 如果编译失败,自动使用备用的
style.css
- 输出到
dist/output.css
资源合并 (scripts/build/build-landing.js):
- 合并所有 CSS 文件到
dist/landing.css
- 合并所有 JS 文件到
dist/landing.js(移除 ES6 模块语法)
- 处理 HTML 文件,更新资源引用路径
构建验证 (scripts/tools/verify-build.js):
- 检查文件存在性和大小
- 验证 CSS 包含 Tailwind 基础样式
- 验证 JS 已移除 ES6 模块语法
- 验证 HTML 引用路径正确
部署到 Netlify
# 方式1: 使用 npm 脚本
npm run build:landing && netlify deploy --prod
# 方式2: 自动部署
git push origin master # Netlify 会自动触发构建和部署
注意事项
⚠️ 常见问题与解决方案:
页面样式缺失
- 原因:Tailwind CSS 编译失败
- 检查:运行
node scripts/tools/verify-build.js 查看 CSS 文件大小
- 解决:构建脚本会自动使用备用 CSS
JavaScript 模块错误
- 原因:ES6
import/export 语法未移除
- 检查:查看
dist/landing.js 是否包含 import 或 export
- 解决:确保
scripts/build/build-landing.js 正确处理了所有模块语法
本地正常但 Netlify 异常
- 原因:开发环境与生产环境路径差异
- 检查:使用
npm run serve 测试构建后的文件
- 解决:始终从
dist/ 目录提供文件进行测试
CSS 文件太小
- 期望大小:> 20KB(包含 Tailwind 基础样式)
- 实际太小:说明 Tailwind 编译失败
- 检查:查看构建日志中的 CSS 文件大小报告
构建检查清单
在部署前,确保:
- [ ]
dist/index.html 存在且引用 ./landing.css 和 ./landing.js
- [ ]
dist/landing.css 大小 > 20KB
- [ ]
dist/landing.js 不包含 import 或 export 语句
- [ ] 使用
npm run serve 本地测试通过
- [ ] 运行
node scripts/tools/verify-build.js 全部检查通过
⚙️ 配置
VS Code 设置
在 VS Code 设置中配置以下选项:
{
"privacyPolicy.companyName": "您的公司名称",
"privacyPolicy.appName": "您的应用名称",
"privacyPolicy.contactEmail": "privacy@yourcompany.com",
"privacyPolicy.language": "zh-CN"
}
AI 服务配置
插件现已支持阿里云通义千问模型。配置步骤:
获取 API 密钥:访问 阿里云百炼平台 获取 API 密钥
设置环境变量:在项目根目录创建 .env 文件:
ALIYUN_API_KEY=your_aliyun_api_key_here
支持的模型:
qwen-plus(默认,最大8192 tokens)
qwen-turbo(最大6144 tokens)
qwen-max(最大8192 tokens,支持长上下文)
详细配置说明请参考 AI服务配置指南
🔍 检测功能
权限检测
- 相机、麦克风、位置信息
- 通讯录、日历、照片访问
- 存储、电话、短信权限
- 生物识别认证
第三方服务检测
- Google Analytics、Firebase
- Facebook SDK、AdMob
- Crashlytics、AppsFlyer
- Mixpanel、Amplitude
数据收集检测
- 用户输入表单
- 设备标识符
- 广告ID、Cookie
- 网络请求和API调用
📋 详细扫描日志
插件现已支持详细的扫描日志,让你清楚地看到:
- 文件扫描过程:哪些文件被扫描,哪些被跳过
- 功能检测详情:每个文件中检测到的具体隐私功能
- 扫描器执行状态:各个扫描器的工作情况
- 性能统计:扫描时间、文件数量等统计信息
测试扫描日志
# 运行扫描器日志测试,查看详细输出
npm run test:scanner
详细说明请参考 扫描器日志功能文档
🧪 测试与验证
全量测试结果
系统已通过完整的全量测试,包含4个不同类型的测试样例:
| 应用类型 |
测试样例 |
状态 |
风险等级 |
政策长度 |
生成时间 |
| Web应用 |
social-basic |
✅ 通过 |
LOW |
3,446字符 |
47秒 |
| Android应用 |
fitness-tracker |
✅ 通过 |
HIGH |
4,160字符 |
68秒 |
| iOS应用 |
health-monitor |
✅ 通过 |
MEDIUM |
1,019字符 |
1秒 |
| 复杂应用 |
ecommerce-full |
✅ 通过 |
MEDIUM |
2,816字符 |
42秒 |
运行测试
# 运行全量测试
npm run test:full
# 运行单个平台测试
npm run test:web
npm run test:android
npm run test:ios
🧪 AI模型评估框架
插件包含完整的AI模型评估框架,用于测试和比较不同AI模型的表现:
评估维度
- 模型性能:响应时间、成功率、成本效益
- 生成质量:准确性、完整性、合规性、可读性
- 综合对比:多维度综合评分和排名
使用方法
# 运行完整的模型对比评估
npm run evaluate:models
# 运行所有评估测试
npm run evaluate
# 运行质量评估
npm run evaluate:quality
支持的模型
- qwen-plus (阿里云通义千问)
- qwen-turbo (阿里云通义千问)
- qwen-max (阿里云通义千问)
- doubao-seed-1-6-flash-250615 (豆包,历史支持)
详细说明请参考 评估框架文档
📄 生成的隐私政策包含
- 信息收集:详细说明收集的数据类型
- 信息使用:数据使用目的和方式
- 信息共享:第三方服务和数据共享
- 数据安全:安全措施和保护机制
- 用户权利:GDPR 等法规要求的用户权利
- 联系方式:隐私问题联系信息
🌍 合规标准
生成的隐私政策符合以下标准:
- GDPR(欧盟通用数据保护条例)
- CCPA(加州消费者隐私法案)
- Google Play 政策要求
- Apple App Store 审核指南
- COPPA(儿童在线隐私保护法)
🔧 系统要求
- VS Code 1.74.0 或更高版本
- 支持 Windows、macOS、Linux
📝 示例输出
插件会生成类似以下结构的隐私政策:
# MyApp 隐私政策
## 1. 信息收集
- **相机权限**:用于拍照和扫描功能
- **位置信息**:用于提供基于位置的服务
## 2. 第三方服务
- **Google Analytics**:用于分析应用使用情况
- **Firebase**:用于应用后端服务和分析
## 3. 用户权利
根据GDPR,您享有访问、更正、删除个人信息的权利...
🤝 贡献
欢迎提交 Issue 和 Pull Request 来改进这个插件!
📄 许可证
MIT License
注意:本插件生成的隐私政策仅供参考,建议在发布前咨询法律专业人士进行审核。