Skip to content

設計書 概要

AI KeyChain の設計ドキュメント一覧です。

ドキュメント構成

ドキュメント概要
アーキテクチャレイヤー構成・データフロー・ファイル構成・状態管理・エラーハンドリング
データモデルServiceType / KeyCategory / APIKey / CustomKeyStore / ProxyRoute
UI/UXデザイン画面設計・フロー・カラーパレット・メニューバー
セキュリティ脅威モデル・Proxy セキュリティ・暗号化キー転送・Entitlements

技術スタック

要素選定
UISwiftUI (macOS 14+)
状態管理@Observable (Observation framework)
KeychainSecurity.framework 直接利用
プロキシNetwork.framework (NWListener)
暗号化CryptoKit (P-256 ECDH + AES-256-GCM)
ログイン起動ServiceManagement (SMAppService)
最小 OSmacOS 14 Sonoma
Xcode15+
言語Swift 5.9+

アーキテクチャ概要

mermaid
graph LR
    User["ユーザー"] --> |Standard| Shell[".zshrc<br/>security コマンド"]
    User --> |Proxy| App["AI KeyChain<br/>ProxyServer"]
    Shell --> Keychain["macOS<br/>Keychain"]
    App --> Keychain
    App --> |HTTPS + 認証ヘッダー| API["AI API<br/>(Anthropic, OpenAI, xAI)"]
    Shell --> |環境変数| Code["開発コード"]
    Code --> API

    style Keychain fill:#FEF3C7,stroke:#F59E0B
    style App fill:#D1FAE5,stroke:#059669

デュアルモード設計

モード仕組みセキュリティ要件
Standard.zshrc から security コマンドで Keychain 参照環境変数に値が露出アプリ常駐不要
Proxylocalhost HTTP プロキシが認証ヘッダーを注入環境変数に値が露出しないアプリ常駐必要

AI開発チームのための鍵管理ツール