# instinct: .envファイルのシークレットローテーションはpython-dotenvで読み込みをスクリプト内に閉じ込める
## 根本原因
シークレットをハードコードしたり `export` でシェル環境に展開すると、
ローテーション時にコードを修正してdeployする必要があり手間がかかる。
また環境変数がプロセス間でリークするリスクもある。
## ポイント
- `python-dotenv` を各スクリプト内で直接 `load_dotenv()` することで `.env` 編集 → `pm2 restart` だけでローテーション完了
- `try/except ImportError` でライブラリ未インストール環境でも動作継続できるようにする
- `.env` の配置場所はスクリプト群ごとに統一する(`tools/ops/.env`, `tools/pipeline/.env` 等)
- `pm2 restart` しないと変更が反映されないことを手順書に明記する
## 関連Issue
- infra PR#410
instinct: .envファイルのシークレットローテーションはpython-dotenvで読み込みをスクリプト内に閉じ込める