macOS 먼저 · iPhone·iPad·Android 준비 중

파일은 그대로,
비밀값만 잠급니다

MyConfig는 설정 파일과 노트 안의 비밀번호, API 키 같은 값 하나하나만 골라 암호화하는 편집기입니다. 나머지 내용은 평소처럼 읽히고, git diff로도 보입니다. 앱에서도 값은 누를 때만 잠깐 보입니다.

macOS 13.5 이상 · 계정 없이 기기 안에서 동작

application.yaml
1# 결제 서비스 설정
2server:
3 port: 8080
4db:
5 host: db.internal.example
6 user: admin
7 password:
8payment:
9 api-key:
10 webhook:
YAML · UTF-8 · LF키 2개 · 토큰 3개

토큰을 누르면 앱처럼 동작 막대가 나옵니다. [보기]를 누르면 30초 동안 값이 보였다가 저절로 다시 가려집니다. 예시 값은 모두 가짜입니다.

AES-256-GCM
값마다 따로 인증 암호화 (기본)
Argon2id
메모리 128MiB로 비밀번호 대입을 느리게
25+
구문 강조하는 파일 형식
0
필요한 계정과 서버
  • YAML
  • .env
  • JSON
  • TOML
  • properties
  • 셸 스크립트
  • 등 20여 종
왜 값만 암호화하나요

파일을 통째로 잠그면 아무도 못 읽습니다

파일 전체를 암호화하면 안전하지만, 무엇이 바뀌었는지 보거나 다른 도구로 열 수 없습니다. MyConfig는 비밀값 자리만 토큰으로 바꿔 둡니다.

파일 전체 암호화
  • git diff에서 무엇이 바뀌었는지 알 수 없음
  • 포트 하나 고치려 해도 전부 풀어야 함
  • 에디터·린터 같은 일반 도구로 읽을 수 없음
MyConfig (값만 암호화)
server:
  port: 8080
db:
  user: admin
  password: mycfg:e:1:prod.a1b2c3d4:Qk3x…Zp9w:end
  • 구조와 평범한 값은 그대로 읽힘
  • diff에 바뀐 줄만 나오고, 어떤 키로 잠갔는지도 보임
  • 앱 없이 열어도 올바른 YAML 그대로
토큰 읽는 법

파일에 남는 한 줄

암호화한 값은 아래 모양의 토큰으로 바뀝니다. 앞뒤가 정해져 있어서 앱 밖에서도 "여기 비밀값이 있다"는 것을 바로 알아볼 수 있습니다.

mycfg … end

MyConfig 토큰의 시작과 끝. 줄이 잘려 끝 표시가 없어지면 바로 알아챌 수 있습니다.

e : 1

방식과 형식 버전. e는 Vault 키, p는 비밀번호 방식입니다.

prod

사람이 읽는 키 힌트(선택). 앱이 없는 사람도 어떤 키인지 짐작할 수 있습니다.

a1b2c3d4

키 ID. 어느 데이터 키로 풀어야 하는지 앱이 이 값으로 찾습니다.

Qk3xVb7c…

암호문. 기본은 AES-256-GCM으로 암호화하고, 한 글자라도 바뀌면 풀리지 않습니다.

쓰는 순서

처음부터 값 하나 보기까지

  1. Vault 만들기

    마스터 비밀번호를 정하면 복구키를 한 번 보여 줍니다. 둘 다 잃으면 되살릴 수 없으니 복구키는 따로 보관합니다.

  2. 파일 추가

    사이드바에 파일이나 폴더를 끌어다 놓습니다. 파일은 원래 자리에서 바로 고칩니다.

  3. 값 암호화

    값에 커서를 두고 ⌘E. 줄에서 값 부분을 알아서 찾아 토큰으로 바꿉니다.

  4. 저장

    ⌘S. 원래 파일의 줄바꿈과 BOM, 문자 인코딩을 그대로 지킵니다.

  5. 필요할 때 보기

    토큰을 눌러 펼치거나, 보지 않고 바로 복사합니다. 30초 뒤 저절로 가려집니다.

주요 기능

편집기로서도 제 몫을 합니다

구문 강조와 문법 검사

YAML, JSON, TOML, .env, XML, 셸, Dockerfile, Nginx 등 20여 종을 색으로 구분합니다. 그중 YAML, JSON, TOML, .env, INI, XML, 셸 스크립트는 문법도 검사해 오류와 중복 키에 밑줄을 긋습니다. 편집기 테마는 81가지입니다.

라이브러리와 탭

흩어진 설정 파일을 가상 폴더에 모아 둡니다. 실제 폴더를 통째로 연결할 수도 있고, 열어 둔 탭은 앱을 다시 켜도 그대로입니다.

⌘P 빠른 열기

전체 검색

라이브러리 전체에서 찾고 바꿉니다. 토큰 안은 건드리지 않으며, key:prod처럼 키별로 거를 수 있습니다.

⌘⇧F

비밀값 후보 찾기

아직 암호화하지 않은 비밀번호·토큰처럼 보이는 값을 표시하고, 골라서 한 번에 암호화합니다.

여러 키, 키 색

한 파일 안에 운영용·개발용 키를 섞어 씁니다. 키마다 색이 있어서 어느 값이 어느 키인지 한눈에 보입니다.

비밀번호 방식 토큰

Vault 없이 비밀번호만으로 푸는 토큰입니다. 내 키를 건네지 않고 동료에게 값 하나만 건넬 때 씁니다(받는 쪽도 MyConfig로 풉니다).

값 넣기와 바꾸기

무작위 비밀값을 만들어 바로 넣고, 값을 바꾸거나 다른 키로 다시 암호화합니다. 모두 ⌘Z로 되돌릴 수 있습니다.

⌘⇧I 비밀값 삽입

전체 복호화 내보내기

파일 전체를 풀어 새 파일이나 클립보드로 내보냅니다. 형식에 맞게 따옴표를 처리하고, 원본은 그대로 둡니다.

키 건네기

키 하나를 비밀번호로 감싼 한 줄(mycfgkey:1:…)로 내보내고, 받는 쪽은 지문을 확인한 뒤 가져옵니다. 서버가 필요 없습니다.

키는 어떻게 관리되나요

자물쇠 하나를 열면 열쇠 꾸러미가 나옵니다

Vault는 키를 보관하는 금고입니다. 비밀번호나 Touch ID로 금고를 열면, 안에 든 데이터 키들로 토큰을 풉니다.

여는 방법
마스터 비밀번호
Touch ID
복구키
금고
Vault 마스터 키데이터를 직접 암호화하지 않고 키를 감쌉니다
데이터 키 (키링)
dev#5e6f7a8b
개인#a1b2c3d4
prod · 독립 잠금#9c0d1e2f

비밀번호를 바꿔도 파일은 그대로

여는 방법만 바뀌고 데이터 키는 같으므로, 이미 암호화한 파일을 다시 암호화할 필요가 없습니다.

더 중요한 키는 따로 잠금

"독립 잠금" 키는 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로 설치했을 때

  1. 앱을 응용 프로그램 폴더로 옮기기

    링크가 앱 안을 가리키므로, 나중에 앱을 옮기면 끊깁니다.

  2. MyConfig > 명령줄 도구 설치…

    PATH에 있는 폴더를 고르고 여기에 설치를 누릅니다. 처음에는 ~/.local/bin이 열립니다.

  3. 새 터미널에서 확인
    myconfig status
  4. 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부터, 차례로 넓힙니다

  1. 쓸 수 있음
    • macOS13.5 이상
  2. 준비 중
    • iPhone · iPad
    • Android
  3. 이후
    • Windows · Linux
자주 묻는 질문

궁금한 점

제 값이나 키가 서버로 가나요?

아니요. 지금 버전은 계정도 서버도 없이 기기 안에서만 동작합니다. 키를 다른 사람에게 건넬 때도 비밀번호로 감싼 한 줄을 직접 전달하므로 중간 서버를 거치지 않습니다.

MyConfig가 없는 사람이 파일을 열면 어떻게 보이나요?

평범한 설정 파일로 보이고, 비밀값 자리에만 mycfg:e:1:…:end 토큰이 있습니다. 파일 형식은 그대로라서 다른 프로그램도 문제없이 읽습니다. 값을 풀려면 키가 있는 MyConfig가 필요합니다.

마스터 비밀번호를 잊어버리면요?

Vault를 만들 때 받은 복구키로 열고 새 비밀번호를 정할 수 있습니다. 비밀번호와 복구키를 모두 잃으면 누구도 되살릴 수 없습니다.

팀원과 같은 파일을 함께 쓰려면요?

키 하나를 mycfgkey:1:… 한 줄로 내보내 건네면, 받은 사람은 지문을 확인한 뒤 자기 Vault에 넣습니다. 키를 건네지 않고 값만 건네려면 비밀번호 방식 토큰을 씁니다. 받은 사람도 MyConfig로 풉니다.

어떤 언어로 쓸 수 있나요?

앱 화면은 한국어, 영어, 일본어를 지원합니다.

비밀값이 든 설정 파일, 이제 안심하고 올리세요

파일 형식은 그대로 두고 값만 잠급니다.

macOS용 내려받기

macOS 13.5 이상 · 계정 없이 기기 안에서 동작

또는 Homebrew로 설치

  1. 준비처음 한 번
    brew tap myconfig-app/myconfig
    brew trust --tap myconfig-app/myconfig
  2. 앱 설치 (CLI 포함)CLI는 Apple 실리콘만
    brew install --cask myconfig