ponshu-room-lite/SECURITY_SETUP.md

110 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# セキュリティセットアップガイド
このドキュメントは、開発環境でAPIキーを安全に管理するための手順を説明します。
---
## 🔐 初回セットアップ(必須)
### Step 1: 新しいAPIキーを発行
1. [Google AI Studio](https://aistudio.google.com/apikey) にアクセス
2. **重要**: 既存のキー `AIzaSy...` が表示されている場合は、**必ず無効化**してください
3. 新しいAPIキーを発行「Create API Key」ボタン
4. 発行されたキーをクリップボードにコピー
### Step 2: ローカル設定ファイルを作成
```bash
# プロジェクトルートで実行
cd c:\Users\maita\posimai-project\ponshu_room_lite
# テンプレートをコピー
cp lib/secrets.local.dart.example lib/secrets.local.dart
```
### Step 3: APIキーを設定
`lib/secrets.local.dart` をエディタで開き、以下のように編集:
```dart
class SecretsLocal {
/// あなたのGemini APIキーをここに設定してください
static const String geminiApiKey = 'AIzaSy...YOUR_NEW_KEY_HERE';
/// ローカル開発時のAI Proxy URLオプション
static const String aiProxyBaseUrl = 'http://100.76.7.3:8080';
}
```
**注意**: `lib/secrets.local.dart``.gitignore` に含まれているため、Gitにコミットされません。
---
## 🚀 アプリの起動
### 開発時(ローカル設定を使用)
```bash
flutter run
```
`lib/secrets.local.dart` が存在すれば、自動的にそこからAPIキーを読み込みます。
### リリースビルド時(環境変数を使用)
```bash
flutter build apk --dart-define=GEMINI_API_KEY=AIzaSy...YOUR_KEY
```
---
## ✅ セキュリティチェックリスト
- [ ] **Step 1**: 古いAPIキー`AIzaSyARuYSPqMLXz51hYnWN4gkL9vA4lA-CMmQ`)を無効化
- [ ] **Step 2**: `lib/secrets.local.dart` を作成し、新しいAPIキーを設定
- [ ] **Step 3**: `lib/secrets.local.dart` がGitにコミットされていないことを確認
```bash
git status | grep secrets.local.dart
# 何も表示されなければOK
```
- [ ] **Step 4**: アプリが正常に起動することを確認
```bash
flutter run
```
---
## 🔍 トラブルシューティング
### エラー: `Gemini API Key is missing`
**原因**: APIキーが設定されていません
**解決方法**:
1. `lib/secrets.local.dart` が存在するか確認
2. ファイル内の `geminiApiKey` が空文字列でないか確認
3. アプリを再起動
### エラー: `AI解析エラー(Direct): API key not valid`
**原因**: APIキーが無効です
**解決方法**:
1. [Google AI Studio](https://aistudio.google.com/apikey) で新しいキーを発行
2. `lib/secrets.local.dart` を更新
3. アプリを再起動
---
## 📚 参考資料
- [Gemini API ドキュメント](https://ai.google.dev/docs)
- [Flutter環境変数の使い方](https://docs.flutter.dev/deployment/flavors)
- [プロジェクトのアーキテクチャ設計書](docs/ARCHITECTURE_DECISION_RECORD.md)
---
**更新履歴**:
- 2026-01-21: 初版作成Claude Code実装後のセキュリティ対策