开源项目
rosuH/EasyWatermark avatar
rosuH/EasyWatermark

EasyWatermark:给敏感照片加水印的离线 Kotlin 应用,值得信任吗?

项目速览:安全、轻松地为您的敏感照片添加水印。 。

1,888 个 Star154 个 ForkKotlinMIT
GitHub

秒懂

它是什么?
EasyWatermark 是一款开源的 Android 应用,用于给身份证、手持照片等敏感图片添加文字或图片水印。它强调纯离线、无跟踪、无权限(Android 10 及以上),但它的安全承诺和功能边界需要仔细审视。
适合谁用?
EasyWatermark 适合那些需要给身份证照片、手持证件照或版权预览图添加水印,并且极度在意隐私、不想让照片经过任何第三方服务器的用户。它不适合需要复杂水印排版(如多行文本、动态日期、批量处理)或需要照片压缩、格式转换的用户,因为它的核心功能就是单一的平铺水印。
能商用吗?
可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库最近一次提交在 2 天前。
用什么语言写的?
主要是 Kotlin(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

它解决什么问题:泄露前的最后一道心理防线

EasyWatermark 的目标用户很明确:那些需要向平台提交身份证正反面、手持身份证照片,或者发送项目预览图、版权样张的人。这些图片一旦离开你的手机,你就无法控制它们会被如何存储、转发或滥用。水印不能阻止泄露,但能降低泄露的价值。README 里有一句话说得直白:我们无法阻止信息上传或泄露,但可以降低信息泄露的价值,至少能让泄露者感到恶心。这个工具不是安全锁,而是一个降低风险的手段。它适合那些已经决定必须交出照片,但想让照片在被滥用时能追溯到源头的人。

离线机制:没有权限,就没有泄露路径

EasyWatermark 的核心卖点是纯离线处理。根据 README,应用没有统计、跟踪、设备 ID,甚至没有崩溃报告。这意味着它不会主动联网,你的照片不会离开设备。更关键的是,Android 10(API 29)及以上版本的用户连存储权限都不需要申请,因为应用使用系统提供的 MediaStore 或 SAF 来访问和保存图片,而不是直接读写文件系统。这个设计是合理的:没有存储权限,应用就无法在后台扫描你的相册,也就减少了数据被窃取的可能。但要注意,这只适用于 Android 10 以上,旧版本(API 28 及以下)仍然需要存储权限,因为系统限制。所以,如果你还在用旧设备,隐私保护的效果会打折扣。

水印机制:平铺、旋转、透明度,但仅此而已

从 README 的功能列表看,EasyWatermark 支持文字水印和图片水印(贴纸),并且可以设置水平垂直间隔,自动平铺整张图片。样式上可以调整字体颜色、字体样式、透明度、字号和旋转角度。这个机制是典型的平铺水印,适合覆盖大面积区域,防止裁剪或局部遮挡。但要注意,它不支持多行文本,也不支持动态内容(比如日期、时间戳),更不支持批量处理。如果你需要在水印中加入“仅供某某使用,日期 2025-10-26”这样的动态信息,这个工具做不到。它只能让你手动输入固定文本,然后平铺。对于需要复杂水印的场景,它可能不够用。

运行方式:从源码构建或直接下载 APK

如果你想亲自构建,README 没有提供详细的构建命令,但这是一个标准的 Kotlin Android 项目,通常使用 Gradle 构建。你可以克隆仓库后,用 Android Studio 打开,或者命令行执行 ./gradlew assembleRelease 来生成 APK。但 README 没有明确写出这些命令,所以你需要查看项目的 build.gradle 文件来确认。更简单的办法是从 GitHub Releases 页面下载预编译的 APK,这是开发者推荐的渠道。此外,应用也上架了 Google Play(付费版,同一代码)、F-Droid 和 Coolapk。下载后安装,打开应用,选择一张图片,输入水印文字,调整样式,导出即可。整个过程不需要联网,也不需要授予额外权限(Android 10 以上)。

局限与失败模式:水印不是万能的

EasyWatermark 的局限很明显。第一,它不能防止照片在传输过程中被截获或修改。水印只是叠加在像素上,如果对方用截图工具裁剪掉水印区域,或者用 AI 修复工具去除水印,你的保护就失效了。README 也承认这一点,说“可能最终没用”。第二,它不支持动态水印,这意味着你无法在照片上自动添加时间戳或一次性验证码,这降低了追溯泄漏源的能力。第三,它没有批量处理功能,如果你需要给几十张照片加水印,只能一张一张来,效率很低。第四,它的图片压缩功能(通过 Compressor 库)是内置的,但 README 没有说明压缩是否会影响水印清晰度。如果你需要高质量输出,可能需要手动调整设置。

替代方案:对比 iWatermark 和 Photo Exif Editor

在 Android 上,另一个常见的加水印应用是 iWatermark,它支持文字、图片、二维码水印,还提供批量处理和时间戳功能。但 iWatermark 是闭源的,而且包含广告或内购,这意味着它可能收集用户数据,与 EasyWatermark 的隐私承诺形成鲜明对比。另一个替代方案是 Photo Exif Editor,它主要专注于编辑 EXIF 信息,但也支持添加文字水印,而且可以批量处理。它的优势是同时能清除照片的元数据(如 GPS 位置),这对隐私保护很重要,因为 EasyWatermark 没有明确提到是否会清除 EXIF 信息。如果你担心照片的拍摄地点泄露,那么 Photo Exif Editor 可能更合适。但它的水印样式和排版功能不如 EasyWatermark 丰富。选择哪个取决于你的优先级:EasyWatermark 胜在极简和离线,但功能单一;其他工具胜在功能全面,但可能牺牲隐私。

维护与升级成本:活跃开发,但依赖第三方库

从仓库的活跃度看,EasyWatermark 在 2025 年 10 月还有更新,版本 2.10.0 于 2025-10-26 发布,说明项目维护是持续的。但你需要关注它的依赖库,比如 material-about-library、ColorPickerView、Compressor 等,这些第三方库如果停止维护,可能会带来安全风险。例如,Compressor 库用于图片压缩,如果它存在漏洞,可能会影响图片处理的安全性。此外,应用没有崩溃报告,这意味着开发者无法主动发现并修复崩溃问题,用户需要手动提交 issue。如果你遇到 bug,可能需要等待社区反馈,而不是自动修复。许可证是 MIT,这意味着你可以自由使用、修改和分发代码,但如果你想在 Google Play 上发布修改版,需要注意 Google Play 的政策。总体而言,维护成本低,但你需要自己关注依赖更新。

编辑结论

EasyWatermark 适合那些需要给身份证照片、手持证件照或版权预览图添加水印,并且极度在意隐私、不想让照片经过任何第三方服务器的用户。它不适合需要复杂水印排版(如多行文本、动态日期、批量处理)或需要照片压缩、格式转换的用户,因为它的核心功能就是单一的平铺水印。在采用之前,你应该验证两件事:一是从 GitHub Release 或 F-Droid 下载的 APK 的签名是否与源码一致(可通过对比官方发布的校验和),二是仔细阅读 PrivacyPolicy.md 中关于数据处理的声明,尽管 README 声称无跟踪,但政策文本的具体条款需要你自己确认。最终判断:EasyWatermark 是一个定位清晰、代码开源、无网络权限的实用工具,但它的安全承诺建立在“代码可审计”和“无权限”这两个事实之上,而非任何第三方认证,所以信任它之前,请亲自检查它的权限列表和源码。

官方来源

  1. Official README
  2. Project repository
  3. Release notes
社区笔记

社区笔记