05-secrets-management.md
AI Agent Target: Defines the inventory of credential files, gitignore rules, and runtime secret management via secure storage.
Human Target: 如何在專案中安全地管理 API 金鑰、密碼與敏感設定。
確保這些檔案存在於本地端,但 絕對不要 提交 (commit) 它們。
secrets.json (所有外部 API 金鑰:OpenAI, Gemini 等)android/:
key.properties (金鑰庫密碼)local.properties (Android SDK 路徑)play-store-credentials.json (Google Play 開發者 API 服務帳戶)keystore/upload-keystore.jks (發布簽章金鑰)scripts/:
service-account.json (Firebase Admin SDK 服務帳戶).gitignore 驗證清單確保機密資料不會外洩的檢查清單:
secrets.json
*.jks
key.properties
service-account.json
play-store-credentials.json
權杖 (Tokens) 與使用者工作階段透過 FlutterSecureStorage 安全地儲存在裝置上 (Android 上的 EncryptedSharedPreferences,iOS 上的 Keychain)。
不應存在於前端應用程式中的敏感金鑰 (如 MongoDB URI 或 GitHub token) 會透過 wrangler secret put 注入 Cloudflare Worker 中。
secrets.json 範本{
"GEMINI_API_KEY": "AIzaSy...",
"SUPABASE_SERVICE_ROLE_KEY": "eyJhbGci...",
"MONGODB_URI": "mongodb+srv://..."
}