← 포트폴리오로 돌아가기
앱
KeyBox
개발자용 시크릿 매니저. AES-256 암호화, 오프라인 전용.
연도 2026
기간 3주
플랫폼 Windows Desktop
Tauri v2 React Rust SQLite
마스터 패스워드 하나로 API 키와 토큰을 안전하게 관리하는 로컬 전용 시크릿 매니저. 모든 데이터가 로컬 SQLite에 AES-256-GCM으로 암호화되어 저장되며, 외부로 전송되지 않는다.
왜 만들었나
API 키를 .env 파일이나 메모장에 평문으로 두는 게 불안했고, 1Password 같은 클라우드 서비스는
“내 시크릿이 남의 서버에 있다”는 점이 마음에 걸렸다. 오프라인에서만 작동하면서 가벼운
도구가 필요했다.
핵심 기능
- AES-256-GCM 암호화 — 마스터 패스워드에서 PBKDF2(100,000 iterations)로 키 파생
- 오프라인 전용 — 네트워크 연결 없이 100% 로컬 동작, 동기화 기능 의도적 미포함
- 그룹 관리 — 프로젝트별·환경별(dev/staging/prod) 시크릿 분류
- 빠른 검색 — 시크릿 이름·태그로 즉시 필터링
- 클립보드 자동 삭제 — 복사 후 30초 뒤 클립보드 자동 비움
- 마스터 패스워드 변경 — 기존 데이터 재암호화 후 즉시 적용
기술 결정
| 영역 | 선택 | 이유 |
|---|---|---|
| 프레임워크 | Tauri v2 | Electron 대비 50배 작은 설치 파일 (3MB vs 150MB) |
| 백엔드 | Rust | 메모리 안전성, 암호화 라이브러리(aes-gcm, pbkdf2) 성숙도 |
| 프론트엔드 | React + TypeScript | 익숙한 스택으로 UI 구현 속도 확보 |
| 저장소 | SQLite | 단일 파일 DB, 백업·이동 간편 |
출시 결과
- 설치 파일: 3.2 MB (Tauri 약속대로)
- 런타임 메모리: 약 30 MB (Electron 대비 1/7)
- 콜드 스타트: 0.4초
GitHub에 코드를 공개해뒀고, 보안이 중요한 도구이니만큼 누구나 검증할 수 있도록 의도했다. 자세한 개발기는 블로그 글에 정리했다.