# セキュリティ アーキテクチャ: プライベート データの保護 (7.8.'26 13:22 Fri) 「service_api.py」のソース コードは、プライベート データを保護するための 3 層の相互に独立したセキュリティ アーキテクチャを実装しています。 ## 概要 |レイヤー |メカニズム |コンポーネント |保護目標 | |------|-----------|-----------|------| | 1 |アンダースコアルールミドルウェア | `サービス_api.py` |隠しパスへのアクセスをブロックする | | 2 | API キー認証 | `サービス_api.py` |エンドポイントのアクセス制御 | | 3 |プライバシー マスキングとキャッシュの分離 | `service_api.py`、`aura_cache.py` |データ難読化とキャッシュ分離 | --- ## レイヤ 1: アンダースコア ルール ミドルウェア 先頭にアンダースコアが付いているパスまたはフォルダー (「_privat」 など) へのリクエストは、ミドルウェアによって **HTTP 403 Forbidden** でハードブロックされます。 **エラーメッセージ:** ``` Access to hidden folders (starting with '_') is forbidden. ``` このルールはパス/ルーティング レベルで動作し、プライベートとしてマークされたディレクトリへのアクセスを防ぎます。 --- ## レイヤ 2: API キー認証 すべての API エンドポイントは「Depends(verify_api_key)」によって保護されます。 有効な「X-API-Key」ヘッダーのないリクエストは、ビジネス ロジックに到達する前に直ちに拒否されます。 --- ## レイヤ 3: プライバシー マスキングとキャッシュの分離 ### マスキング API を使用すると、「unmasked = False」がデフォルトになります。したがって、API 応答内の機密データは自動的にマスクされます。 ### キャッシュの分離 「aura_cache.py」の「cache_id」ハッシュは、アクティブなウィンドウのタイトル (「_active_window_title」) で区切られています。 **結果:** ローカル端末で作成されたキャッシュ エントリは、異なる `cache_id` ハッシュを持っているため、API 経由で読み取ることができません。 --- ## まとめ したがって、「_privat」内の機密データは、3 つの言語およびパス レベルすべてで、不正な API アクセスから保護されます。 1. **パス レベル** — `_` フォルダーへのアクセスはブロックされます 2. **認証レベル** — 有効な API キーのみにアクセスが許可されます 3. **データ レベル** — マスキングとキャッシュ分離によりデータの漏洩を防止します