法務担当者のためのローカル完結型事件メモアーカイブ PWA。事件・ノートをブラウザのローカルストレージに暗号化保存し、iPhone のホーム画面から起動して使う想定です。
インターネット通信は Service Worker 登録とアプリ本体の初回配信以外には 一切発生しません。データも暗号化鍵も自分のデバイスから外に出ない設計になっています。
.cvbackup ファイルへエクスポート/復元| 分野 | 選定 |
|---|---|
| ビルド | Vite 7 |
| UI | Svelte 5 + TypeScript |
| PWA | vite-plugin-pwa (Workbox) |
| ストレージ | Dexie.js (IndexedDB) |
| 暗号化 | Web Crypto API (AES-GCM + PBKDF2) |
| Markdown | marked + DOMPurify |
| 検索 | MiniSearch |
| テスト | Vitest + fake-indexeddb |
npm install
npm run dev
ブラウザで http://localhost:5173/ を開き、初回はマスターパスワードを設定します。
| コマンド | 用途 |
|---|---|
npm run dev |
開発サーバー起動 (Service Worker は無効) |
npm run build |
本番ビルド (dist/ に出力) |
npm run preview |
ビルドされた成果物をローカルサーバーで確認 |
npm run check |
型チェック + Svelte チェック |
npm run test |
Vitest でテスト実行 |
npm run test:watch |
Vitest watch モード |
public/pwa-icon.svg を編集したら次のコマンドで PNG バリエーションを再生成します。
node scripts/gen-icons.mjs
main ブランチに pushSettings > Pages で Source: GitHub Actions を選択.github/workflows/deploy.yml が提供されているので、push すれば自動デプロイされるhttps://<username>.github.io/<repo>/リポジトリ名が case-vault でない場合は、ワークフローファイルの BASE_PATH を実際のパスに書き換えてください。
npm run build でビルドdist/ フォルダをアップロードBASE_PATH 不要 (デフォルトの /)iOS Safari は 7 日間使用しない PWA のキャッシュを退避 することがあります。
アプリは起動時に navigator.storage.persist() を呼んで永続ストレージを要求しますが、
確実な保全のため、定期的に暗号化バックアップを取ることを強く推奨 します。
個人利用のため明示的なライセンスは設定していません。必要に応じて追加してください。