ponshu-room-lite/SECURITY_SETUP.md

110 lines
3.1 KiB
Markdown
Raw Permalink Normal View History

# セキュリティセットアップガイド
このドキュメントは、開発環境で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実装後のセキュリティ対策