本地优先 · 零知识

你的密钥。
只属于你。

Monark 是一款开源密码管理器,把所有凭据保存在你自己的设备上。没有账号,没有同步服务器,没有遥测——只有一个在本地完成加密的保险库。

运行平台
Linux、macOS、Windows、Android、iOS
加密算法
XChaCha20-Poly1305
密钥派生
Argon2id · 64 MB
许可证
AGPL-3.0
它能做什么

密码管理器该做的事,它全都做;不该做的事,它一件都不做。

Monark 把登录信息、笔记和一次性验证码存进一个属于你的加密文件。中间没有厂商,因为中间本来就不该有厂商。

你的保险库只是磁盘上的一个文件

条目在写入存储之前就已加密,只有在你打开保险库时才会解密。Monark 可以完全离线工作;除非你主动要求,否则它不会碰网络。

加密逻辑用 Rust 写成

加密核心以 Rust 实现并原生运行,不在页面里跑。

密码生成器

密码和口令由操作系统的 CSPRNG 生成,字符集与长度都由你决定。

两步验证码

把 TOTP 密钥和它对应的登录信息存在一起,在保险库窗口中直接读取当前验证码。

可选的加密备份

把保险库复制到你自己的 Google Drive 或 WebDAV 服务器。文件在离开设备之前就已经是加密状态。

一套代码,覆盖你所有的电脑和手机

Monark 基于 Tauri v2 构建,同一个 Rust 核心和界面可以发布到 Linux、macOS、Windows、Android 和 iOS,且不必附带 Electron 运行时。

技术细节

把参数明明白白写出来。

这里没有任何专有内容,也没有任何秘密。所有算法原语都记录在代码仓库里,并有测试覆盖。

密钥派生
Argon2id,64 MB 内存、3 轮迭代、4 路并行,让借助 GPU 的猜测变得昂贵。
认证加密
XChaCha20-Poly1305(IETF 版本),256 位密钥,每次操作使用 192 位随机 nonce。
随机性
所有密钥、盐值和 nonce 都来自操作系统的 CSPRNG,绝不使用语言自带的随机数生成器。
内存卫生
派生密钥和明文机密在离开作用域时归零,不会残留在已释放的内存中。
存储
只有一个本地保险库文件,你可以随意移动、复制或删除。云端副本是同一份加密字节。
源码
以 AGPL-3.0 授权。你可以自行编译、审计,或针对你实际运行的版本提交 issue。

在把密码交给它之前,先读一读代码。

Monark 发布自一个公开仓库,测试、加密参数和发布产物都放在同一个地方。你可以校验构建结果,也可以自己编译。