1. 项目定位与用途
firemark 是一个专注于文档安全的命令行水印工具,用于给图像和 PDF 文件添加可见水印。其核心用途是在发送敏感文档(如身份证、工资单、税务通知)时,嵌入包含接收方、日期、用途等信息的标记,使文档在泄露后可追溯来源,并降低被滥用于身份欺诈或非法交易的风险。工具设计为单二进制、跨平台运行,强调易用性与高性能。
Vitruves/firemark:firemark 是一个用 Rust 编写的高性能命令行水印工具,专为图像和 PDF 文档设计,通过添加可追溯、抗 AI 去除的水印来防止敏感文本页整理它解决什么问题、适用场景、安装方式和使用方法。
firemark 是一个用 Rust 编写的高性能命令行水印工具,专为图像和 PDF 文档设计,通过添加可追溯、抗 AI 去除的水印来防止敏感文档未授权分发,支持 17 种视觉样式与加密 filigrane 安全图案。
firemark 是一个专注于文档安全的命令行水印工具,用于给图像和 PDF 文件添加可见水印。其核心用途是在发送敏感文档(如身份证、工资单、税务通知)时,嵌入包含接收方、日期、用途等信息的标记,使文档在泄露后可追溯来源,并降低被滥用于身份欺诈或非法交易的风险。工具设计为单二进制、跨平台运行,强调易用性与高性能。
仓库 README 明确指出了文档交换中的身份欺诈风险:未标记的身份证、工资单等文件可能被用于开设银行账户、伪造身份。firemark 通过添加定制化水印(如“Sent to XYZ agency — March 2026 — flat rental application only”)使文件仅对特定场景有效,若泄露可追溯源头。此外,水印的视觉样式与安全 filigrane 图案增加了篡改或移除难度,尤其针对 AI 驱动的自动去水印工具进行了硬化处理。
主要适用于需要向第三方发送敏感个人或商业文档的场景,例如:租房申请中的身份证明、雇主要求的工资单、金融机构的税务文件、公司内部机密报告等。用户可通过命令行快速为单个文件或整个文件夹添加水印,也适合需要批量处理文档的机构。配置文件的引入支持团队统一水印策略,而预设(如 ultra-secure)则面向高安全需求场景。
安装方式在 README 中明确给出两种:1) 从 crates.io 安装:运行 `cargo install firemark`,需预先安装 Rust 工具链;2) 从源码安装:克隆仓库后执行 `cargo install --path .`。两种方式均生成一个约 5 MB 的单一优化二进制文件。仓库未提供预编译的二进制包或包管理器(如 apt、brew)安装指令。
基本使用通过命令行参数控制。示例:`firemark photo_id.png -m "Flat rental — SCI Dupont — March 2026"` 为图片添加水印;`firemark tax_notice.pdf -m "CONFIDENTIAL" -s "Do not distribute"` 为 PDF 添加主次文本;`firemark ./documents/ -R -m "Sent to Agency X" -t stamp` 递归处理文件夹并指定样式;`firemark id_card.jpg -m "Draft" -n` 预览不写入文件。输出默认保存为 `{name}-watermarked.{ext}`,可通过 `-o` 或 `-S` 自定义路径或后缀。支持 `--config` 加载 TOML 配置文件,并用 `--preset` 切换 ultra-secure 或 light 预设。
firemark 的实现特点包括:1) 非确定性渲染:每次生成的水印略有不同,增加复制难度;2) 抗 AI 硬化:应用 alpha 抖动、亚像素颜色噪声、边缘微点、稀疏幽灵像素等后处理扰动;3) 安全 filigrane:基于银行note安全特征的几何图案(如 guilloche、spiral),极难用图像编辑器移除;4) 高性能:利用 rayon 并行处理批量文件,walkdir 递归遍历;5) 可配置性:通过 TOML 文件管理文本、颜色、不透明度、字体、边框、阴影、二维码等参数,支持变量替换(如 {timestamp}、{uuid})。PDF 处理基于 lopdf 在内容流中插入图形,并可选扁平化。
firemark 是一个用 Rust 编写的高性能命令行水印工具,专为图像和 PDF 文档设计,通过添加可追溯、抗 AI 去除的水印来防止敏感文档未授权分发,支持 17 种视觉样式与加密 filigrane 安全图案。
firemark 是一个专注于文档安全的命令行水印工具,用于给图像和 PDF 文件添加可见水印。其核心用途是在发送敏感文档(如身份证、工资单、税务通知)时,嵌入包含接收方、日期、用途等信息的标记,使文档在泄露后可追溯来源,并降低被滥用于身份欺诈或非法交易的风险。工具设计为单二进制、跨平台运行,强调易用性与高性能。
安装方式在 README 中明确给出两种:1) 从 crates.io 安装:运行 `cargo install firemark`,需预先安装 Rust 工具链;2) 从源码安装:克隆仓库后执行 `cargo install --path .`。两种方式均生成一个约 5 MB 的单一优化二进制文件。仓库未提供预编译的二进制包或包管理器(如 apt、brew)安装指令。
基本使用通过命令行参数控制。示例:`firemark photo_id.png -m "Flat rental — SCI Dupont — March 2026"` 为图片添加水印;`firemark tax_notice.pdf -m "CONFIDENTIAL" -s "Do not distribute"` 为 PDF 添加主次文本;`firemark ./documents/ -R -m "Sent to Agency X" -t stamp` 递归处理文件夹并指定样式;`firemark id_card.jpg -m "Draft" -n` 预览不写入文件。输出默认保存为 `{name}-watermarked.{ext}`,可通过 `-o` 或 `-S` 自定义路径或后缀。支持 `--config` 加载 TOML 配置文件,并用 `--preset` 切换 ultra-secure 或 light 预设。