ファイルはそのまま、
シークレットだけロック
MyConfig は、設定ファイルやノートの中のパスワードや API キーなど、値をひとつずつ選んで暗号化するエディタです。それ以外の内容はいつも通り読めて、git diff にも表示されます。アプリでは値をクリックしたときだけ、少しのあいだ表示します。
macOS 13.5 以降 · アカウント不要、デバイス内で動作
トークンをクリックすると、アプリと同じ操作バーが出ます。[表示]を押すと値が 30 秒間表示され、自動でまた隠れます。サンプルの値はすべて架空のものです。
- AES-256-GCM
- 値ごとに認証付き暗号化(既定)
- Argon2id
- 128MiB のメモリでパスワード総当たりを遅く
- 25+
- 構文ハイライト対応のファイル形式
- 0
- 必要なアカウントとサーバー
- YAML
- .env
- JSON
- TOML
- properties
- シェルスクリプト
- など 20 種以上
ファイルごと暗号化すると、誰も読めなくなる
ファイル全体を暗号化すれば安全ですが、何が変わったかを確認したり、ほかのツールで開いたりできなくなります。MyConfig はシークレットの部分だけをトークンに置き換えます。
- git diff で何が変わったかわからない
- ポートをひとつ直すにも全部復号が必要
- エディタやリンターなど一般的なツールで読めない
server:
port: 8080
db:
user: admin
password: mycfg:e:1:prod.a1b2c3d4:Qk3x…Zp9w:end- 構造と普通の値はそのまま読める
- diff には変わった行だけが出て、どのキーでロックしたかもわかる
- アプリなしで開いても、正しい YAML のまま
ファイルに残る 1 行
暗号化した値は、下のような形のトークンに置き換わります。前後が決まっているので、アプリの外でも「ここにシークレットがある」とすぐにわかります。
MyConfig トークンの始まりと終わり。行が途中で切れると終わりの印がなくなるので、すぐに気づけます。
方式と形式のバージョン。e は Vault のキー、p はパスワード方式です。
人が読めるキーのヒント(任意)。アプリがなくても、どのキーか見当がつきます。
キー ID。どのデータキーで復号するかを、アプリはこの値で探します。
暗号文。既定では AES-256-GCM で暗号化しており、一文字でも書き換えると復号できません。
はじめてから、値をひとつ見るまで
Vault を作る
マスターパスワードを決めると、復旧キーを一度だけ表示します。両方を失うと元に戻せないので、復旧キーは別に保管してください。
ファイルを追加
サイドバーにファイルやフォルダをドラッグします。ファイルは元の場所でそのまま編集します。
値を暗号化
値にカーソルを置いて ⌘E。行の中から値の部分を見つけて、トークンに置き換えます。
保存
⌘S。元のファイルの改行、BOM、文字コードをそのまま守ります。
必要なときに見る
トークンをクリックして展開するか、見ずにそのままコピーします。30 秒後に自動で隠れます。
エディタとしても、しっかり使える
構文ハイライトと構文チェック
YAML、JSON、TOML、.env、XML、シェル、Dockerfile、Nginx など 20 種以上を色分けします。そのうち YAML、JSON、TOML、.env、INI、XML、シェルスクリプトは構文もチェックし、エラーや重複キーに下線を引きます。エディタのテーマは 81 種類。
ライブラリとタブ
散らばった設定ファイルを仮想フォルダにまとめます。実際のフォルダを丸ごとリンクすることもでき、タブと開いていた状態は再起動しても元どおりです。
⌘P クイックオープン全体検索
ライブラリ全体で検索・置換します。トークンの中は変更せず、key:prod のようにキーで絞り込めます。
シークレット候補
まだ暗号化していない、パスワードやトークンらしき値を示し、選んでまとめて暗号化できます。
複数のキーとキーの色
1 つのファイルに本番用・開発用のキーを混ぜて使えます。キーごとに色があるので、どの値がどのキーか一目でわかります。
パスワード方式のトークン
Vault なしで、パスワードだけで復号できるトークンです。自分のキーを渡さずに、同僚に値をひとつだけ渡すときに使います(受け取る側も MyConfig で復号します)。
値の挿入と変更
ランダムなシークレットを作ってそのまま挿入し、値の変更や別のキーでの再暗号化もできます。すべて ⌘Z で元に戻せます。
⌘⇧I シークレットを挿入一括復号の書き出し
ファイル全体を復号して、新しいファイルやクリップボードに書き出します。形式に合わせて引用符を処理し、元のファイルはそのままです。
キーの受け渡し
キーをひとつ、パスワードで包んだ 1 行(mycfgkey:1:…)として書き出し、受け取る側はフィンガープリントを確認してから取り込みます。サーバーは不要です。
ひとつの鍵を開けると、キーの束が出てくる
Vault はキーをしまっておく金庫です。パスワードや Touch ID で金庫を開けると、中のデータキーでトークンを復号します。
パスワードを変えても、ファイルはそのまま
変わるのは開け方だけで、データキーは同じです。暗号化済みのファイルを暗号化し直す必要はありません。
大事なキーは別にロック
「独立ロック」のキーは、Vault を開けていても別にもう一度ロック解除が必要で、値は最大 10 秒だけ展開されます。
パスワードの総当たりに強く
マスターパスワードは Argon2id(メモリ 128MiB)で鍵を作るので、ひとつずつ試す攻撃をとても遅くします。
防げること、防げないこと
できることと、できないことを両方書いておきます。
防げること保護
- 設定ファイルの流出
公開リポジトリに上げたりチャットで送ったりしても、Vault のキーがなければトークンは復号できません。
- 画面共有やのぞき見
値は最初から隠れていて、展開しても 30 秒後にまた隠れます。展開中は画面キャプチャを防ぐ設定もあります。
- 席を外したあいだ
5 分間操作がないとき、スリープや画面ロックのときに Vault をすぐロックします。
- クリップボードに残り続ける
コピーした値は 30 秒後に消し、クリップボード管理アプリに記録されないよう印を付けます。
- うっかり平文をコピー
範囲を選んでコピーすると、トークン(暗号文)のままコピーされます。平文は明示的なコピー操作でしか出ていきません。
防げないこと範囲外
- ロック解除中のデバイスをマルウェアが乗っ取る
画面やメモリを読めるなら、アプリでは防げません。代わりに「デバイスが乗っ取られたかもしれないとき」の案内とマスターキーの変更を用意しています。
- パスワードと復旧キーを両方なくす
設計上、元に戻せません。Vault を作るときに、復旧キーを必ず別に保管してください。
- 暗号化する前に git に上げた値
履歴に残った平文は消せません。こうした値は、暗号化と一緒に新しい値に変えることをおすすめします。
- トークンの長さから値の長さを推測
トークンが長ければ、元の値も長いことはわかります。
暗号化したまま開発サーバーを起動
設定ファイルを復号して置いておく必要はありません。myconfig run が起動の瞬間だけ値を復号し、環境変数として渡します。
$ myconfig run --env .env -- npm run dev # 1. .env からトークンを探して MyConfig アプリに送る # 2. アプリで承認ダイアログ + Touch ID # 3. 復号した値を環境変数にして npm run dev を実行 # process.env.DB_PASSWORD → 実際の値
- Vault のキーはアプリの中だけにあります。 CLI はトークンをアプリに送り、アプリが承認ダイアログと Touch ID を経て、復号した値だけを返します。
- 通常はディスクに平文ファイルを作りません。 トークンを含む項目だけを環境変数にし、それ以外はプログラムが元のファイルから読みます。
- 多くのフレームワークでそのまま動きます。 Spring Boot、Next.js、Vite、python-dotenv のように、ファイルより環境変数を優先するツールなら、特別な設定はいりません。
- ほかのコマンド:
export(復号して別の形式で出力)、encrypt・set・gen(ファイルに値を入れる)、rekey、lint(構文チェック)、lib(アプリのライブラリ整理)、keys list、status。
CLI はアプリに入っているので、別にダウンロードするものはありません。 コマンドラインツールのインストールを見る
コマンドラインツールのインストール
CLI はアプリの中に入っています。一度つないでおけば、アプリをアップデートすると CLI も同じバージョンに変わります。
- Homebrew でインストールした場合は何もいりません。
brew install --cask myconfigがコマンドラインツールも一緒につなぎます。 - DMG からインストールした場合は一度だけつなぎます。 アプリのメニューの MyConfig > コマンドラインツールをインストール… が、選んだフォルダにアプリ内の CLI を指すリンクを作ります。
- Apple シリコンの Mac で使えます。 Intel Mac では今はアプリだけが使えます。
DMG からインストールした場合
- アプリをアプリケーションフォルダに移す
リンクはアプリの中を指すので、あとでアプリを移すと切れます。
- MyConfig > コマンドラインツールをインストール…
PATH にあるフォルダを選び、ここにインストールを押します。最初は
~/.local/binが開きます。 - 新しいターミナルで確認
myconfig status - フォルダを PATH に追加見つからない場合のみ
~/.local/binを選んだ場合は下の行を一度実行し、新しいターミナルでもう一度確認します。echo 'export PATH="$HOME/.local/ bin:$PATH"' >> ~/ .zshrc
AI コーディングツール用スキル
Claude Code にスキルを入れると、エージェントが myconfig コマンドでサービスを起動し、平文のシークレットを暗号化します。復号した値は会話に入りません。Codex・Gemini CLI 向けは準備中です。
- シークレットをチャットで尋ねません。 新しい値はアプリに直接入力するか(
myconfig ask)、アプリがランダムに作り(myconfig gen)、ファイルにはトークンだけが入ります。 - アプリで承認しないと進みません。 値の復号やファイルの変更の要求は、アプリの承認ダイアログと Touch ID を経ます。承認するときに、15 分間は同じ作業を聞かないようにできます。
- 先にアプリをインストールしてコマンドラインツールをつなぎ(上の「コマンドラインツールのインストール」)、設定 > セキュリティ > コマンドラインツールの要求を受け付けるをオンにしてください。
- Claude Code
claude plugin marketplace add myconfig-app/myconfig-plugin claude plugin install myconfig@myconfig
まず macOS から、順に広げます
- 利用可能
- macOS13.5 以降
- 準備中
- iPhone · iPad
- Android
- 予定
- Windows · Linux
気になること
値やキーがサーバーに送られますか?
いいえ。現在のバージョンは、アカウントもサーバーもなく、デバイスの中だけで動きます。キーを人に渡すときも、パスワードで包んだ 1 行を自分で渡すので、間にサーバーを通りません。
MyConfig を持っていない人がファイルを開くと?
普通の設定ファイルとして見え、シークレットの部分にだけ mycfg:e:1:…:end トークンがあります。ファイル形式は変わらないので、ほかのプログラムも問題なく読めます。値を復号するには、キーを持つ MyConfig が必要です。
マスターパスワードを忘れたら?
Vault を作ったときに受け取った復旧キーで開き、新しいパスワードを設定できます。パスワードと復旧キーを両方なくすと、誰にも元に戻せません。
チームで同じファイルを使うには?
キーをひとつ mycfgkey:1:… の 1 行として書き出して渡すと、受け取った人はフィンガープリントを確認してから自分の Vault に入れます。キーを渡さずに値だけを渡すなら、パスワード方式のトークンを使います。受け取った人も MyConfig で復号します。
どの言語で使えますか?
アプリの画面は日本語、韓国語、英語に対応しています。
シークレット入りの設定ファイルも、安心してコミット
ファイル形式はそのままで、値だけをロックします。
macOS 版をダウンロードmacOS 13.5 以降 · アカウント不要、デバイス内で動作
Homebrew でもインストールできます
- 準備初回のみ
brew tap myconfig-app/myconfig brew trust --tap myconfig-app/myconfig - アプリをインストール(CLI を含む)CLI は Apple シリコンのみ
brew install --cask myconfig