ローカルファースト · ゼロ知識

あなたの鍵を。
あなただけに。

Monark は、認証情報を自分のマシン上に置いておくためのオープンソースのパスワードマネージャーです。アカウントも同期サーバーもテレメトリもなく、あるのは保存されている場所で暗号化された保管庫だけです。

対応環境
Linux、macOS、Windows、Android、iOS
暗号化方式
XChaCha20-Poly1305
鍵導出
Argon2id · 64 MB
ライセンス
AGPL-3.0
できること

パスワードマネージャーがやるべきことはすべて、やるべきでないことは何も。

Monark は、ログイン情報、メモ、ワンタイムコードを、あなたが所有する 1 つの暗号化ファイルに保存します。間に事業者は入りません。そもそも間に事業者がいないからです。

保管庫はディスク上のただのファイル

エントリは保存先に書き込まれる前に暗号化され、保管庫を開いている間だけ復号されます。Monark は完全にオフラインで動作し、あなたが求めない限りネットワークには触れません。

暗号処理は Rust で実装

暗号処理の中核は Rust で書かれており、ページ内ではなくネイティブに動作します。

パスワード生成

パスワードとパスフレーズはオペレーティングシステムの CSPRNG から生成します。使用する文字種と長さは指定できます。

2 段階認証コード

TOTP のシークレットは対応するログイン情報の隣に保存でき、現在のコードは保管庫のウィンドウから確認できます。

任意の暗号化バックアップ

保管庫を自分の Google Drive や WebDAV サーバーにコピーできます。ファイルは端末から出る前にすでに暗号化されています。

1 つのコードベースで、手元のすべての PC とスマートフォンへ

Monark は Tauri v2 で作られているため、同じ Rust のコアとインターフェースを Linux、macOS、Windows、Android、iOS に配布できます。Electron ランタイムを抱え込む必要はありません。

内部の仕組み

パラメータは、そのままの言葉で。

ここに独自仕様はなく、秘密もありません。実際に使っているプリミティブはすべてリポジトリに記載され、テストで検証されています。

鍵導出
メモリ 64 MB、3 回の反復、4 並列の Argon2id。GPU を使った総当たり推測を高コストにします。
認証付き暗号化
256 ビット鍵と操作ごとの 192 ビットランダム nonce を用いる XChaCha20-Poly1305(IETF 版)。
乱数
鍵、ソルト、nonce はすべてオペレーティングシステムの CSPRNG から取得し、言語の乱数生成器は使いません。
メモリの衛生管理
導出した鍵と平文のシークレットは破棄時にゼロ埋めされ、解放済みメモリに残りません。
保存形式
移動もコピーも削除もできる、ローカルの保管庫ファイル 1 つだけ。クラウド上のコピーも同じ暗号化バイト列です。
ソース
AGPL-3.0 で公開しています。自分でビルドしても、監査しても、実際に動かしているリビジョンに対して issue を報告してもかまいません。

パスワードを預ける前に、コードを読んでください。

Monark は公開リポジトリから配布されており、テスト、暗号パラメータ、リリース成果物が同じ場所にあります。ビルドを検証するか、自分でコンパイルしてください。