osFoundry / Platform
앱별 시크릿 볼트
예약된 로테이션이 있는 암호화된 시크릿. 저장 시 마스킹되고, 모든 읽기가 감사됩니다.
개요
앱별 시크릿 볼트는 osFoundry 안에서 만든 앱과 백엔드가 자격 증명을 보관하는 곳입니다. 제공자 API 키, 데이터베이스 비밀번호, OAuth 토큰, 웹훅 서명 시크릿 등이 여기에 들어갑니다. 앱마다 전용 볼트를 갖기 때문에, 한 앱이 쓰는 시크릿을 다른 앱이 읽을 수 없습니다. 값은 저장 시 암호화되고 표시될 때는 마스킹되므로, 키의 평문이 설정 파일이나 채팅 로그, 스크린샷에 남지 않습니다. 앱은 런타임에 이름으로 시크릿을 읽으며, 원래 값은 볼트 안에 그대로 있습니다.
순환은 수동이 아니라 일정에 따라 이루어집니다. 시크릿마다 주기를 정하면 볼트가 만료 시점을 추적하므로, 90일마다 바꾸려던 토큰이 아무도 기억하지 못한 탓에 1년 동안 조용히 살아 있는 일이 없습니다. 모든 읽기는 감사됩니다. 어떤 앱이 언제 특정 시크릿을 가져갔는지 볼트가 기록하므로, 자격 증명이 유출되거나 이상하게 동작할 때 추측하는 대신 그것이 실제로 어디에서 쓰였는지 보여 주는 흔적을 갖게 됩니다.
osFoundry는 자기 키를 가져오는(BYOK) 로컬 우선 데스크톱 워크스페이스이므로, 이 기능도 제품 전체와 같은 원칙을 따릅니다. 즉 시크릿은 당신의 것이며 리셀러가 보관하지 않습니다. 볼트는 하나의 워크스페이스 안에서 채팅, 에이전트, 앱, 코드, 데이터와 나란히 자리합니다. 그래서 앱이 의존하는 키가 환경 파일과 서드파티 대시보드에 흩어지는 대신, 그것을 만드는 바로 그곳에서 관리됩니다. 여기에 시크릿을 보관하는 데 좌석당 요금은 없습니다.
주요 기능
- 앱별 격리: 앱마다 전용 볼트를 가지므로 한 앱이 다른 앱의 시크릿을 읽을 수 없다
- 저장 시 암호화, 표시 시 마스킹: 평문 키가 설정 파일이나 로그, 스크린샷에 남지 않는다
- 일정 기반 순환이 각 시크릿의 주기를 추적하고 만료를 알려 주므로 기억에 의존하지 않는다
- 감사 로그가 어떤 앱이 어떤 시크릿을 언제 읽었는지 기록해, 유출 이후 실제 사용 흔적을 남긴다
- 앱은 런타임에 이름으로 시크릿을 참조하므로 원래 값이 코드와 채팅 기록 밖에 유지된다
활용 사례
- 1인 개발자: 앱 백엔드용 Stripe 키와 Postgres 비밀번호를 보관해, 자격 증명을 소스에 하드코딩하지 않는다
- 에이전트 개발자: 자동화가 의존하는 제공자 API 키를 env 파일을 뒤지지 않고 분기마다 순환한다
- 프라이버시를 중시하는 팀: 고객 OAuth 토큰을 기기에 암호화해 보관하고, 감사 흔적을 확인해 어떤 앱이 접근했는지 확인한다
자주 묻는 질문
시크릿은 어디에 저장되고 누가 볼 수 있나요?
당신의 osFoundry 워크스페이스에 저장되며, 저장 시 암호화되고 표시될 때 마스킹됩니다. osFoundry는 BYOK이자 로컬 우선이므로 시크릿이 제3자에게 보관되거나 재판매되지 않습니다. 각 앱의 볼트는 격리되어 있어, 시크릿은 그것이 속한 앱만 읽을 수 있습니다.
일정 기반 순환은 어떻게 동작하나요?
시크릿마다 순환 주기를 정하면 볼트가 만료 시점을 추적하므로, 오래된 토큰이 무기한 남지 않고 교체됩니다. 덕분에 앱과 에이전트가 의존하는 자격 증명이 정해진 수명을 넘어 조용히 살아남지 않습니다.
'읽을 때마다 감사'가 실제로 무엇을 주나요?
볼트는 모든 접근을 기록합니다. 어떤 앱이 어떤 시크릿을 언제 가져갔는지가 남습니다. 자격 증명이 유출되거나 앱이 예기치 않게 동작하기 시작하면, 여러 앱을 넘나들며 추측하는 대신 그 시크릿이 실제로 어디에서 쓰였는지에 대한 기록을 갖게 됩니다.