欢迎光临
我们一直在努力

告别数据泄露风险!推荐一款本地优先的敏感数据扫描与脱敏神器:Privsan

GitHub 仓库地址: GitHub – alakulo/privsan: An offline-first CLI and TUI for scanning and redacting sensitive data in local files. Detects phone numbers, emails, Chinese ID numbers, and IP addresses, with dry-run previews, configurable rules, JSON output for AI agents, and backup-based recovery. Built with Go and Bubble Tea. No data uploads. · GitHubAn offline-first CLI and TUI for scanning and redacting sensitive data in local files. Detects phone numbers, emails, Chinese ID numbers, and IP addresses, with dry-run previews, configurable rules, JSON output for AI agents, and backup-based recovery. Built with Go and Bubble Tea. No data uploads. – alakulo/privsanhttps://github.com/alakulo/privsan

觉得有用的话,点个 Star ⭐️ 支持一下吧!也欢迎提 Issue 反馈问题或建议。

在AI时代,我们经常需要将日志、文档或测试数据喂给各种在线服务。但你是否担心过其中的手机号、邮箱、身份证号甚至IP地址会随之泄露?今天推荐一个我发现的宝藏开源项目——Privsan,它能在数据离开你的机器之前,帮你完成所有脱敏工作。

为什么你需要 Privsan?

在日常开发和运维中,我们常常面临这样的场景:

  • 调试线上问题,需要把日志发给同事或粘贴到Issue里。

  • 使用云端AI助手分析代码或文档。

  • 准备测试数据,但不想使用真实的用户隐私信息。

手动查找替换不仅效率低下,而且极易遗漏。Privsan 正是为了解决这个痛点而生。它的核心理念是 “Keep sensitive data local. Share only what you choose.” (让敏感数据留在本地,只分享你选择的内容)。

核心功能一览:简单、强大、安全

Privsan 是一个用 Go 编写的命令行工具(CLI)和终端界面(TUI),具有以下令人印象深刻的特点:

1. 完全离线,隐私无忧

所有扫描和脱敏操作都在本地进行,没有任何数据上传、遥测或账户要求。扫描默认是只读的,不会修改你的原始文件。对于有严格合规要求的环境,这一点至关重要。

2. 开箱即用的智能检测

内置了对常见敏感信息的检测规则,包括:

  • 中国大陆手机号

  • 电子邮箱地址

  • 18位中国身份证号(支持日期和校验码验证)

  • IPv4 / IPv6 地址

它会将这些信息自动替换为 [PHONE]、[EMAIL]、[ID]、[IP] 等占位符。

3. 交互式终端界面 (TUI)

这是 Privsan 的一大亮点。通过 ./privsan tui –dry-run ./examples 命令,你可以启动一个基于 Bubble Tea 构建的终端界面。

在这个界面里,你可以:

  • 按文件浏览所有发现的敏感项。

  • 使用空格键选择或取消选择需要脱敏的条目。

  • 实时预览脱敏后的文本效果。

  • 所有预览都会遮罩所有检测到的值,让你清晰看到哪些内容会被替换,而实际替换的只是你选中的部分。

这种“先预览,后操作”的方式,极大地避免了误操作。

4. 灵活的脱敏与恢复工作流

  • 导出脱敏副本:将处理后的文件输出到新目录,保持原始目录结构,源文件分毫不动。

  • 原地脱敏与备份:使用 –in-place 和 –backup-dir 选项,可以在原地修改文件,同时生成带恢复功能的备份。restore 命令可以安全地还原,并且会拒绝覆盖脱敏后被手动修改过的文件。

5. 自定义文本替换

除了隐私脱敏,它还是一个强大的文本替换工具。你可以使用 replace 命令进行精确的查找替换,支持正则表达式和大小写不敏感搜索,同样带有预览和备份工作流。

6. 为 AI Agent 集成而设计

这是非常前瞻的设计。你可以将 Privsan 作为 AI 工作流的前置步骤:

./privsan scan –json –content –hide-paths ./documents

它会输出结构化的 JSON,其中包含了脱敏后的文本内容。只有当整个扫描和操作成功时,内容才会返回,这保证了 Agent 拿到的数据是完整且安全的。你甚至可以通过管道直接处理标准输入/输出:

printf 'contact=alice@example.com\\n'| ./privsan redact –stdin –stdout
# 输出:contact=[EMAIL]

7. 高度可配置的规则

你可以通过一个 policy.json 文件来定义自己的检测规则。例如,添加一个识别 API Token 的规则:

{
"id": "api_token",
"pattern": "sk-[A-Za-z0-9]{12,}",
"replacement": "[TOKEN]",
"priority": 200
}

快速上手体验

安装和体验非常简单,前提是你需要安装 Go 1.26.5+。

# 克隆仓库
git clone https://github.com/alakulo/privsan.git
cd privsan

# 构建
go build -trimpath -o privsan .

# 扫描示例目录(只读,不修改文件)
./privsan scan ./examples

# 启动交互式界面体验(只读模式)
./privsan tui –dry-run ./examples

项目提供了丰富的示例和文档,包括中文的操作手册,上手门槛很低。

项目状态与贡献

目前项目处于 1.0.0-rc.1 版本,已经支持 Windows、Linux 和 macOS 的构建。作者非常欢迎社区的反馈和贡献。

如果你觉得这个工具对你有帮助,或者认同它“本地优先、隐私至上”的理念,不妨去 GitHub 仓库点一个 Star ⭐️,这是对开源作者最大的鼓励。如果你在使用中发现了 Bug 或者有新的功能想法,也欢迎提交 Issue 进行讨论。

GitHub 仓库地址: https://github.com/alakulo/privsan


一点期待: Privsan 目前主要处理文本文件,希望未来能支持更多格式(如 PDF、Office 文档)。另外,如果能有一个简单的配置文件来管理常用的自定义规则,那就更方便了。期待项目越来越好!

希望这篇文章能帮助到有同样需求的开发者。如果你有更好的数据脱敏工具或方法,也欢迎在评论区分享交流。

赞(0)
未经允许不得转载:171主机测评 » 告别数据泄露风险!推荐一款本地优先的敏感数据扫描与脱敏神器:Privsan
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址