Skip to content

EluMiel/locka

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Locka

ローカル完結のパスワード管理アプリ

Run

python app.py

Version 1

  • 追加・削除・IDコピー・PWコピー・保存(ダミー)まで実装済み

Version 2

データ管理

  • items を JSON に保存
  • 起動時に JSON を読み込んで復元

操作フロー

  • 追加 → 保存までの一貫処理
  • 削除 → 保存までの一貫処理
  • 編集機能の追加
  • 未保存状態で終了しようとした場合の警告表示

表示・再描画

  • Listbox 再描画ロジックを整理
  • データ変更時の表示ズレを防止

検索・操作性

  • 検索機能の追加
  • 選択状態がない場合の操作ガード実装

GUI / UI改善

  • Frame + grid による全体レイアウト整理
    • 上:検索・リスト表示
    • 下:操作ボタン群
  • フォント・余白・ボタンサイズの統一
  • 検索バー配置と視認性改善
  • ラベル・区切り線による視認性向上
  • シンプル配色+アクセントカラーによるデザイン改善

Version 3(セキュリティ設計)

Version 3 では、Locka をローカル専用パスワード管理アプリとして 現実的な脅威に対して十分な安全性を確保することを目的に、 セキュリティ機能を実装。


🔑 マスターパスワード制

  • アプリ起動時にマスターパスワードを要求
  • 初回起動時は新規パスワードを設定(2回確認)
  • パスワード自体は保存せず、復号できるかどうかで認証

🔐 データの暗号化保存

  • 保存データは Fernet + PBKDF2(SHA-256) で暗号化
  • ランダムな salt + 十分な iteration を使用
  • 正しいマスターパスワードがなければ復号不可
  • マスターパスワードを忘れた場合、復旧不可

⏱ 自動ロック機能

  • 一定時間操作がない場合、自動でロック
  • ロック中は操作不可
  • 再度マスターパスワード入力で解除
  • 状態が分かるように「locked」表示を実装

🛡 操作イベント監視

  • キーボード / マウス操作をフックして「最終操作時刻」を更新
  • OS 時刻変更の影響を受けないよう time.monotonic() を使用

🧹 セキュリティ事故防止(Git運用)

  • 実データ・暗号化ファイル・バックアップ類を .gitignore に追加
  • 誤って秘密情報をコミットできない構成に整理
  • Git 管理対象は コードと設計のみ

設計方針メモ

  • 本アプリは ローカル利用・非ネットワーク前提
  • 物理的覗き見・マルウェア対策は OS 側に委ねる
  • アプリ側では「放置」「誤操作」「誤コミット」のリスクを低減

注意事項

  • マスターパスワードを忘れるとデータは復号できません
  • 本アプリは学習・個人利用目的で作成されています

バージョン履歴

  • v1: 基本CRUD
  • v2: UI改善・永続化・操作性向上
  • v3: セキュリティ実装・事故防止

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages