LLM은 사랑스럽지만,
보여주고 싶지 않은 것도 있어요.
외부 서비스 자격증명과 개인정보는 Vault에 암호화 저장되고, LLM에는 라벨과 ID만 흐릅니다. 어떤 LLM이든, 어떤 디바이스에서든, 한 번 등록하면 평문은 절대 LLM에 노출되지 않습니다.
어떻게 동작하는가
1.등록
GitHub PAT, Slack OAuth, 주소·연락처 같은 개인정보를 한 번 Vault에 등록해요. 평문은 사용자 화면에서 한 번만 보이고 이후 다시 표시되지 않아요.
2.LLM은 라벨만
Claude / GPT가 도구를 부를 때 보는 건 rec_xxx 같은 ID와 라벨뿐. 평문은 어떤 LLM 컨텍스트에도 들어가지 않아요.
3.실행은 서버에서
Edge Function이 fetch 직전에 Vault에서 평문 꺼내 외부 API에 채워 보냄. 모든 호출은 감사 로그에 ID 단위로 기록 (평문 0).
Architectural separation: 후처리 마스킹이 아니라 LLM이 PII를 볼 수 있는 자리에 *애초에* 들어가지 않게 design.
Portability: Claude Code · Claude Desktop · Cursor · ChatGPT — 한 번 등록, 어디서든.
Operator control: 키별 분당 호출 제한 / IP 허용 목록 / 서비스 스코프 / 거부 즉시 알림.
Vault-first: Supabase Vault (pgsodium AES-256-GCM). 키 회전·즉시 폐기 · RLS로 격리.