プロジェクト紹介
Monica ローカルパスワードマネージャー
Bitwarden と KeePass を統合したローカルファーストのパスワード管理ツール
Android / Browser · Local Vault · TOTP · WebDAV Backup
⚠️ 安全なバックアップに関する重要なお知らせ
データのプライバシーは極めて貴重です!必ず定期的に複数のメディアへバックアップを作成してください!
バックアップは必ず適切に作成してください。データのプライバシーに代わるものはありません!すべてのデータをこの一つのアプリだけに依存させず、リスクを分散させてください。
Monica は、Bitwarden と KeePass のエコシステムを統合した、ローカルファーストのパスワード管理ツール(Local Vault)です。 ローカルストレージ優先を核とし、Android およびデスクトップブラウザ環境で、アカウント情報、パスワード、2FA(二段階認証)トークン、セキュアノート、機密添付ファイルを一元管理できます。
📌 プロジェクトの現状に関するお知らせ
- Monica for Windows はアーカイブされました。過去のコードは
Monica-for-Windowsをご覧ください。 - ⏳ 現在の開発リソースが限られているため、
Monica for WearおよびMonica for Browserは一時的に継続的なアップデートを停止しています。 - 🎯 現段階では、
Monica for Androidの機能充実、UI/UXの最適化、および安定性の維持に全力を注いでいます。ご理解のほどよろしくお願いいたします。
🧭 ユーザーガイド
🎯 Monica はどのような人向けか
- ローカル優先の認証情報管理を求め、サードパーティのクラウドサーバーに機密データを預けたくないユーザー。
- Bitwarden のエコシステムを使いつつ、同時に KeePass(
.kdbx)のデータも維持しているデュアル環境のユーザー。 - Android 端末で日常的に効率よく使用し、同時にブラウザ側でインテリジェントな自動入力を行いたい方。
🎁 利用できる機能
- ローカル暗号化金庫: ログイン情報、クレジットカード、身分証明書、セキュアノート、添付ファイルを安全に保護します。
- 2つのエコシステムの統合: Android 側で Bitwarden API との同期能力を備えつつ、KeePass(
.kdbx)のネイティブな読み書きにも対応しています。 - 多様な同期・バックアップ: 自前で構築した WebDAV インフラを介して、デバイス間でデータを安全に連携・流転させることができます。
- TOTP 内蔵: パスワード管理と同時に、二段階認証(2FA)コードの生成・管理を単一のアプリ内で完結できます。
📱 Android 版のハイライト
✨ コア機能
- ローカル Vault — すべてのコア認証情報は、ローカル環境で高強度の暗号化アルゴリズムを用いて安全に保存されます。
- 統合インポート — KeePass データからのスムーズな移行と、Bitwarden エコシステムとの柔軟な互換接続を完全サポートします。
- スマート検索 — タイトル、ドメイン名、カスタムタグなど、多次元的なクエリから目的の認証情報を素早く特定できます。
- 生体認証 — システム標準の生体認証(指紋/顔認証)と連動し、確固たるセキュリティと即座の起動を両立します。
- TOTP 管理 — 二段階認証用のワンタイムパスワードを統合管理し、動的に生成します。
🛠️ 技術スタック
本プロジェクトのアーキテクチャおよび選型は、Android の現代的な開発手法(Modern Android Development - MAD)に厳格に準拠しています:
| レイヤー | 採用技術およびコンポーネント |
|---|---|
| UI プレゼンテーション層 | Jetpack Compose + Material 3 + Navigation Compose |
| データ永続化層 | Room (PasswordDatabase) + データアクセスオブジェクト (DAO) + リポジトリパターン |
| 非同期・並行処理モデル | Kotlin Coroutines(コルーチン) + Flow 反応型データストリーム |
| 依存関係注入 (DI) | Koin(アプリ起動時に MonicaApplication 内で高凝集に初期化設定) |
| バックグラウンドタスク | WorkManager(AutoBackupWorker により、軽量かつ堅牢な自動 WebDAV バックアップを実現) |
| 下位プロトコルと外部連携 | Retrofit + OkHttp (Bitwarden API) |
kotpass (KeePass コア解析エンジン)
sardine-android (WebDAV クライアント) |
🔒 純粋なセキュリティモデル
パスワードマネージャーの根幹はセキュリティにあります。Monica は下位レイヤーにおいて厳格な防衛アーキテクチャを設計しています:
NOTE
1. コア暗号化アルゴリズムAES-256-GCM 認証暗号化アルゴリズムを採用。データの機密性を保証するだけでなく、包括的な整合性検証を提供し、データの改ざんを防御します。
NOTE
2. 鍵派生メカニズムPBKDF2-HMAC-SHA256 アルゴリズムを導入し、非常に高い反復(イテレーション)パラメータを設定。これにより、オフラインでの総当たり攻撃やレインボーテーブル攻撃の技術的・時間的コストを劇的に引き上げます。
NOTE
3. ハードウェア級のローカル保護 ユーザーのマスターパスワードのハッシュ値およびコアセキュリティ設定は、Android システムレベルの安全コンポーネントである Android Keystore、EncryptedSharedPreferences、および BiometricPrompt が共同で管理します。暗号化鍵がハードウェアの安全区域から外に出ることはありません。
CAUTION
4. 明確なネットワーク境界 アプリが宣言しているネットワーク権限は、Bitwarden API との連携、ユーザーが自発的に実行する WebDAV バックアップおよび同期といったオンライン機能にのみ、厳格に限定されています。サードパーティによるトラッカーや埋め込み、未知のデータアップロードは一切存在しません。
🤝 オープンソースへの謝辞
Monica の設計、互換性の最適化、および一部の機能方針は、オープンソースコミュニティから深い恩恵を受けています。以下の優れたオープンソースプロジェクトとソフトウェアのインスピレーションおよびサポートに、心より感謝申し上げます:
- Keyguard — Android パスワードマネージャーにおける優れたインタラクションデザインとユーザー体験の参考にさせていただきました。
- Bitwarden — オープンソースのパスワード管理エコシステム、データスキーマ、複数クライアント間の同期能力の重要なリファレンスです。
- KeePass — 伝統的なローカルパスワード管理の理念であり、本アプリにおける
.kdbxファイルの互換性と読み書きの基礎となっています。 - Stratum Auth — 認証器(2FA)の操作体験、高品質なブランドアイコンパッケージ、および関連する互換仕様の参考にさせていただきました。
📈 Star History
下のチャートをクリックすると、プロジェクトの全スター履歴ダッシュボードへ遷移できます。
📑 ライセンスと資産表記
ライセンス宣言
Copyright (c) 2025 JoyinJoester
本プロジェクトは、GNU General Public License v3.0 に基づいて厳格に公開されています。ライセンスの規定に従う限り、ソフトウェアの配布、修正、および二次開発が認められます。
📦 サードパーティ製アイコンおよび商標に関する注記
より直感的な認証器管理体験を提供するため、本プロジェクトでは一部のサードパーティ製静的資産をローカルにパッケージ化して引用しています:
IMPORTANT
- アイコンリソースの引用: 本プロジェクトには、Stratum Auth app から提供されたアイコンリソース(バージョン
v1.4.0、iconsおよびextraiconsディレクトリを含む)がローカルに同梱されています。これらの資産も同様に GPL-3.0 ライセンス下で公開されています。原作者の無私な貢献に感謝いたします。 - 商標に関するガイドライン: ドキュメントおよびアプリケーション内で言及されているすべてのサードパーティのブランド名、登録商標、および商業ロゴは、それぞれの法的な権利所有者に帰属します。
