dotenvx で暗号化、1Password CLI で注入 — .env 平文ゼロのローカル開発環境を構築する
dotenvx で暗号化、1Password CLI で注入 — .env 平文ゼロのローカル開発環境を構築する @higa_toshiki 氏のポストが、ローカル開発で .env の平文を排除する実践的な手法を紹介しています(いいね 217、ブックマーク 255)。 ローカルに.envの平文を置きたくないけど、ローカルで開発したいこともあるので、 dotenvxで.envを暗号化 1 password cli で key を注入する を使ってます。 (元木さんの言うように「秘密情報の平文はクラウドに置こう」に則る形) 引用元の @swarm_ai_cloud 氏のポストでは、AI CLI の .env 読み込み防止機能への疑問が呈されています。 AI のCLIには.env読まない仕様があるって?そんなん信用できるか?AI CLIはバージョンが上がればバグが混入し弾くファイル設定していても普通に読んだりするし Claude Code が .env ファイルを自動的に読み込むことが確認されている今、「deny ルールで防ぐ」だけでは不十分という指摘は的を射ています。本記事では、higa 氏が紹介する2つのツール — dotenvx と 1Password CLI — の仕組みと実践的なセットアップ手順を解説します。 2つのアプローチの組み合わせ higa 氏のワークフローは、2つの異なるアプローチを組み合わせています。 ツール アプローチ 何を守るか dotenvx .env ファイル自体を暗号化 ファイルを読まれても平文が漏れない 1Password CLI クラウド Vault からランタイム注入 そもそもファイルにシークレットを置かない [dotenvx のアプローチ] .env(暗号化済み)→ dotenvx run → 復号してプロセスに注入 → .env.keys(秘密鍵)が必要 → Git にコミット可能 [1Password CLI のアプローチ] 1Password Vault(クラウド)→ op run → プロセスに注入 → Touch ID / マスターパスワードで認証 → ディスクに平文が一切残らない 両者は排他的ではなく、用途に応じて使い分けるのが現実的です。 ...