파일은 그대로,
비밀값만 잠급니다
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 그대로
파일에 남는 한 줄
암호화한 값은 아래 모양의 토큰으로 바뀝니다. 앞뒤가 정해져 있어서 앱 밖에서도 "여기 비밀값이 있다"는 것을 바로 알아볼 수 있습니다.
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처럼 키별로 거를 수 있습니다.
비밀값 후보 찾기
아직 암호화하지 않은 비밀번호·토큰처럼 보이는 값을 표시하고, 골라서 한 번에 암호화합니다.
여러 키, 키 색
한 파일 안에 운영용·개발용 키를 섞어 씁니다. 키마다 색이 있어서 어느 값이 어느 키인지 한눈에 보입니다.
비밀번호 방식 토큰
Vault 없이 비밀번호만으로 푸는 토큰입니다. 내 키를 건네지 않고 동료에게 값 하나만 건넬 때 씁니다(받는 쪽도 MyConfig로 풉니다).
값 넣기와 바꾸기
무작위 비밀값을 만들어 바로 넣고, 값을 바꾸거나 다른 키로 다시 암호화합니다. 모두 ⌘Z로 되돌릴 수 있습니다.
⌘⇧I 비밀값 삽입전체 복호화 내보내기
파일 전체를 풀어 새 파일이나 클립보드로 내보냅니다. 형식에 맞게 따옴표를 처리하고, 원본은 그대로 둡니다.
키 건네기
키 하나를 비밀번호로 감싼 한 줄(mycfgkey:1:…)로 내보내고, 받는 쪽은 지문을 확인한 뒤 가져옵니다. 서버가 필요 없습니다.
자물쇠 하나를 열면 열쇠 꾸러미가 나옵니다
Vault는 키를 보관하는 금고입니다. 비밀번호나 Touch ID로 금고를 열면, 안에 든 데이터 키들로 토큰을 풉니다.
비밀번호를 바꿔도 파일은 그대로
여는 방법만 바뀌고 데이터 키는 같으므로, 이미 암호화한 파일을 다시 암호화할 필요가 없습니다.
더 중요한 키는 따로 잠금
"독립 잠금" 키는 Vault를 열어도 따로 한 번 더 풀어야 하고, 값은 최대 10초만 펼쳐집니다.
비밀번호 대입에 강하게
마스터 비밀번호는 Argon2id(메모리 128MiB)로 키를 만들어, 하나씩 넣어 보는 공격을 아주 느리게 합니다.
무엇을 막고, 무엇은 못 막는지
할 수 있는 것과 할 수 없는 것을 함께 적었습니다.
막는 것보호됨
- 설정 파일이 새어 나감
공개 저장소에 올리거나 메신저로 보내도, Vault 키 없이는 토큰을 풀 수 없습니다.
- 화면 공유·어깨 너머 보기
값은 기본으로 가려져 있고, 펼쳐도 30초 뒤 다시 가려집니다. 펼친 동안 화면 캡처를 막는 설정도 있습니다.
- 자리를 비운 사이
5분 동안 입력이 없거나, 잠자기·화면 잠금이 되면 Vault를 바로 잠급니다.
- 클립보드에 오래 남음
복사한 값은 30초 뒤 지우고, 클립보드 관리 앱이 기록하지 않도록 표시합니다.
- 실수로 평문 복사
글자를 선택해 복사하면 토큰(암호문) 그대로 복사됩니다. 평문은 명시적인 복사 동작으로만 나갑니다.
막지 못하는 것범위 밖
- 잠금이 풀린 기기를 악성 코드가 장악
화면과 메모리를 읽을 수 있으면 앱이 막을 수 없습니다. 대신 "기기가 장악된 것 같을 때…" 안내와 마스터 키 바꾸기를 제공합니다.
- 비밀번호와 복구키를 모두 잃어버림
설계상 되살릴 수 없습니다. 처음 만들 때 복구키를 꼭 따로 보관하세요.
- 암호화하기 전에 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
궁금한 점
제 값이나 키가 서버로 가나요?
아니요. 지금 버전은 계정도 서버도 없이 기기 안에서만 동작합니다. 키를 다른 사람에게 건넬 때도 비밀번호로 감싼 한 줄을 직접 전달하므로 중간 서버를 거치지 않습니다.
MyConfig가 없는 사람이 파일을 열면 어떻게 보이나요?
평범한 설정 파일로 보이고, 비밀값 자리에만 mycfg:e:1:…:end 토큰이 있습니다. 파일 형식은 그대로라서 다른 프로그램도 문제없이 읽습니다. 값을 풀려면 키가 있는 MyConfig가 필요합니다.
마스터 비밀번호를 잊어버리면요?
Vault를 만들 때 받은 복구키로 열고 새 비밀번호를 정할 수 있습니다. 비밀번호와 복구키를 모두 잃으면 누구도 되살릴 수 없습니다.
팀원과 같은 파일을 함께 쓰려면요?
키 하나를 mycfgkey: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