Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

PrivacyGuard

上传前数据脱敏 Android 应用。向 AI Agent / 聊天工具上传文件前,本地离线识别并脱敏个人敏感信息(手机号、身份证、住址、人脸等),只输出脱敏副本。

详细需求见 REQUIREMENTS.md。

构建

需要 Android Studio(JDK 17,AGP 8.5+)。打开项目根目录直接同步构建,或:

./gradlew :app:assembleDebug
./gradlew :app:testDebugUnitTest   # 规则引擎单元测试

项目结构

app/src/main/java/com/privacyguard/app/
├── core/model/        Finding 统一数据模型(识别↔脱敏解耦的核心)
├── detection/
│   ├── text/          RegexRuleEngine:正则+校验,按语言分组(zh/en/de + 通用)
│   ├── nlp/           语种路由(Language ID)、实体抽取(zh/en/de)、NER(v2)
│   ├── ocr/           ML Kit 中文 OCR(含拉丁字母)→ 规则引擎 → 映射回图像坐标
│   └── vision/        人脸、二维码/条码检测
├── redaction/
│   ├── image/         遮盖/马赛克
│   ├── document/      文本替换(占位/部分保留/一致性假名)
│   └── pdf/           M4 待实现
├── metadata/          EXIF/文档属性清除
├── domain/            DetectUseCase / RedactUseCase 编排
└── ui/                Compose:home(选文件/接分享)→ preview(确认)→ 导出

当前状态(v0.1 — M2+M3 完成)

已跑通端到端流程(文本 + 图片): 选文件/接收分享 → 本地扫描(规则引擎 + 实体抽取 + OCR/人脸/条码)→ 确认表单 (逐项勾选、切换脱敏方式、图片拖拽框选、文本关键词补充)→ 生成脱敏副本 → 清除元数据 → 系统分享。原文件全程零写入。

核心链路:MainActivity → SessionViewModel(会话状态机)→ FileRepository(加载)→ DetectUseCase(扫描)→ PreviewScreen(确认)→ RedactUseCase + ExportUseCase(脱敏导出)。

待实现:PDF/docx/xlsx 链路(M4)、规则管理与 Profile、批量队列、 中文 NER 人名识别(v2)。已知限制:实体抽取模型需 Play 服务首次下发, 不可用时自动降级为仅正则检测。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages