ローカル・ファースト × 選べる同期方式のパスワードマネージャー
Argon2id + AES-256-GCM | Flutter | Linux · Android · Windows
- 商用レベルの暗号化 — Argon2id (KDF) + AES-256-GCM。データファイルが流出しても、マスターパスワードなしでは解読不可能
- ローカル・ファースト — データは常にローカルに保存。オフラインでも完全に動作
- 3つの同期方式から選択 — Google Drive / WebDAV(Nextcloud等) / ローカルパス(SMB・外付けドライブ等)の中から1つ選んで使用可能。Googleアカウントを使いたくない場合は他の方式を選べる
- クロスプラットフォーム — Linux / Android / Windows を単一コードベースで対応
- 設定もデータと同じ場所に — 設定ファイル・バックアップはVaultと同じフォルダに配置(OS標準のアプリ設定フォルダに置くのは、前回開いたVaultの場所など最小限の情報だけ)
- オープンソース — ソースコードを公開。誰でも監査可能
| 方式 | 説明 | 想定ユーザー |
|---|---|---|
| Google Drive | Googleアカウントの App Data Folder に暗号化ファイルを保存 | 手軽にクラウド同期したい |
| WebDAV | Nextcloud / Synology / 自前WebDAVサーバーに HTTPS Basic 認証で接続 | 自分のサーバーを持っている |
| ローカルパス | SMBマウント先 / 外付けドライブ / 共有フォルダなどへ直接ファイルコピー | LAN内NAS、ネット非接続環境 |
選択した方式は同期画面右上の ⇄ ボタンからいつでも切り替え可能。複数方式の同時利用は非対応。
(開発中 — 後日追加予定)
(提出未着手 — Windows向けビルドは可能、docs/windows-build-guide.md 参照)
Releases から各プラットフォーム向けのファイルをダウンロード。
Flutter のインストールやビルドは不要です。使っているディストリビューションに合うファイルを選んでください。
| ディストリビューション | ファイル | インストール |
|---|---|---|
| Debian / Ubuntu 系 | Kuraudo-<版>-linux-x86_64.deb |
sudo apt install ./Kuraudo-*-linux-x86_64.deb |
| Fedora / RHEL 系 | Kuraudo-<版>-linux-x86_64.rpm |
sudo dnf install ./Kuraudo-*-linux-x86_64.rpm |
| Arch Linux 系 | Kuraudo-<版>-linux-x86_64.pkg.tar.zst |
sudo pacman -U ./Kuraudo-*-linux-x86_64.pkg.tar.zst |
| インストールせずに使う | Kuraudo-<版>-linux-x86_64.AppImage |
chmod +x ./Kuraudo-*-linux-x86_64.AppImage で実行権限を付けて起動 |
インストール後はアプリメニューまたは kuraudo コマンドから起動できます。PIN や同期のログイン情報を保存するには、KDE ウォレットや GNOME キーリングなど OS のキーリングが必要です。
# リポジトリをクローン
git clone https://github.com/orgsonai/kuraudo.git
cd kuraudo
# 依存関係をインストール
flutter pub get
# 実行
flutter run
# リリースビルド
flutter build linux # Linux
flutter build apk # Android
flutter build windows # Windows(Windowsホスト + Visual Studio 2022 必要)LinuxではAppImageに加え、各ディストリビューションのパッケージ管理でインストールできる形式を作成できます。
flutter build linux --release
./build_linux_packages.sh deb # Debian / Ubuntu (.deb)
./build_linux_packages.sh rpm # Fedora / RHEL系 (.rpm)
./build_linux_packages.sh arch # Arch Linux (.pkg.tar.zst)
./build_linux_packages.sh all # 3形式すべて生成物は dist/ に保存されます。作成には対応するツール(dpkg-deb、rpmbuild、makepkg)が必要です。
sudo apt install ./dist/kuraudo_*_amd64.deb # Debian / Ubuntu
sudo dnf install ./dist/kuraudo-*.x86_64.rpm # Fedora / RHEL系
sudo pacman -U ./dist/kuraudo-*.pkg.tar.zst # Arch Linuxインストール後はアプリメニューまたは kuraudo コマンドから起動でき、削除も各パッケージ管理から行えます。
v* タグ(例: v0.4.6、pubspec.yaml の version と同じ版)を GitHub に push すると、.github/workflows/linux-release.yml が deb / rpm / Arch 用 / AppImage を作ってリリースに添付します。事前にリポジトリの Secrets へ GOOGLE_CLIENT_SECRET を登録してください。
- Flutter SDK 3.16+
- Dart SDK 3.2+
- (Linux)
clang,cmake,ninja-build,pkg-config,libgtk-3-dev - (Android)Android Studio + Android SDK
- (Windows)Visual Studio 2022 + C++ Desktop workload。詳細は
docs/windows-build-guide.md
- Google Cloud Console でプロジェクトを作成
- Google Drive API を有効化
- OAuth 2.0 クライアントIDを作成
google-services.json(Android)をandroid/app/に配置- ビルド時に
--dart-defineでシークレットを注入:
# デスクトップ(クライアントシークレットが必要)
flutter build linux --dart-define=GOOGLE_CLIENT_SECRET=your_secret
# flutter build windows --dart-define=GOOGLE_CLIENT_SECRET=your_secret # 保留中
# Android(google-services.jsonを使用するためシークレット不要)
flutter build apk詳細は google-drive-oauth-guide.md を参照してください。
| 項目 | 仕様 |
|---|---|
| 鍵派生 | Argon2id(デスクトップ: 64MB/3回/4並列, モバイル: 32MB/3回/2並列) |
| 暗号化 | AES-256-GCM(認証付き暗号) |
| ノンス | 暗号化ごとにランダム生成(12バイト)。再利用禁止 |
| ソルト | 32バイト暗号学的乱数 |
| 認証タグ | 16バイト(GCM) |
Offset Size Description
──────────────────────────────────
0x00 4 Magic Number ("KRAD")
0x04 2 Format Version (uint16 LE)
0x06 4 Argon2 Memory (KB, uint32 LE)
0x0A 4 Argon2 Iterations (uint32 LE)
0x0E 4 Argon2 Parallelism (uint32 LE)
0x12 32 Salt
0x32 12 Nonce
0x3E ... Encrypted Payload + GCM Tag (16B)
セキュリティ上の問題を発見した場合は、公開Issueではなく SECURITY.md に記載の方法でご報告ください。
- パスワードの生成・保存・管理
- パスワード強度リアルタイム評価
- パスフレーズ生成
- パスワード履歴(世代管理、最大10件)
- アカウント紐付けビュー(同一メール/IDの横断表示)
- TOTP(二段階認証)対応
- Google Drive同期(タイムスタンプベース衝突回避)
- インポート: KeePassXC / Bitwarden (CSV/JSON) / 1Password / Chrome
- エクスポート: KeePass CSV / Bitwarden CSV / JSON
- Android Autofill Service対応(基盤)
- ダーク/ライトテーマ
kuraudo/
├── lib/
│ ├── core/ # 暗号化エンジン, ファイルフォーマット, パスワード/TOTP生成
│ ├── models/ # データモデル (VaultEntry, Vault)
│ ├── services/ # Vault管理, CSV入出力, Google Drive, 同期, Autofill
│ └── ui/ # テーマ, 画面 (8画面), ウィジェット
├── test/ # テスト
├── pubspec.yaml
├── LICENSE # GPL-3.0
├── SECURITY.md # 脆弱性報告手順
├── CONTRIBUTING.md # コントリビューション方針
├── PRIVACY.md # プライバシーポリシー
└── README.md
- コアエンジン(暗号化 + ファイルフォーマット + パスワード生成)
- UI/UX + KeePassXCインポート
- Google Drive同期(UUID単位マージ)
- エクスポート拡張(Bitwarden/1Password/Chrome対応)
- TOTP + Autofill基盤(Android)
- PIN/生体認証による簡易ロック解除
- セキュリティ監査・修正
- Google Play 公開
- Microsoft Store 公開(保留中)
個人プロジェクトのため、上記以降の機能追加・アップデートは予定していません。バグ修正は随時対応します。
Kuraudo は Zero to Ship プロジェクトの一環として、AIアシスタント(Claude)によって開発されています。設計・コード生成・ドキュメント作成を含むほぼ全ての工程をAIが担当し、人間は方針の指示・変更要望・動作確認を行っています。
Issue報告は歓迎します。PRについては CONTRIBUTING.md をご覧ください。
GPL-3.0 — Copyright (c) 2026 Zero to Ship
- Zero to Ship — プロジェクトホーム
- プライバシーポリシー
- 利用規約
- 方針設計書 — 詳細な技術仕様