TL;DR

  • Vibivibi는 Claude Code, Codex CLI, OpenCode, Pi 세션을 기기 간에 동기화하거나 팀원에게 전송하는 종단 간 암호화 세션 백업·공유 도구임.
  • 세션 내용과 메타데이터는 기기에서 AES-256-GCM으로 암호화되며, 서버에는 내용을 읽을 수 없는 암호문만 저장됨.
  • X25519, HKDF-SHA256, scrypt를 사용하며, 비밀번호나 개인 키는 기기 밖으로 전송되지 않음.
  • vibi push로 세션을 저장하거나 전송하고 vibi pull로 다른 기기에 설치해 원래 세션 기록을 이어서 사용할 수 있으며, 이전 버전도 보관됨.
  • 무료 요금제는 기기 2대와 200MB를 제공하며, 유료 요금제는 저장 용량·세션 크기·기기 수와 팀 기능을 확장함.

기기 간 세션 동기화

  • 프로젝트 디렉터리에서 vibi push를 실행하면 해당 위치에서 시작한 세션 목록이 표시되며, 세션을 선택하면 짧은 식별자로 암호화된 사본이 저장됨.
  • 다른 기기에서 vibi pull을 실행하면 에이전트가 세션을 찾는 위치에 파일이 설치되며, --resume으로 전체 기록을 이어갈 수 있음.
  • 푸시할 때마다 이전 버전이 보관되며, 같은 세션을 여러 기기에서 사용해도 세션별 식별자는 하나임.
  • 전송 진행률 표시와 검증이 제공되며, 업로드가 불완전한 상태로 남지 않음.
  • 세션 목록에는 에이전트, 세션 제목, 마지막 활동 시점, 크기, 동기화 상태가 표시되며 키보드로 이동하고 동기화 또는 전송을 선택할 수 있음.
  • 예시 세션은 Claude Code의 ‘Repair the parser edge cases’(2시간 전, 1.2MB), Codex CLI의 ‘Migrate the billing endpoint’(어제, 640KB), OpenCode의 ‘Add retries to the uploader’(3일 전, 210KB)임.

팀원에게 세션 전송

  • ‘Send’를 선택하고 이메일 주소를 입력하면, 기기에서 수신자의 공개 키에 맞춰 세션 키를 래핑함. 수신자는 자신의 기기에서 이를 해제함.
  • 이미 저장된 세션을 전송할 때는 래핑된 키 하나만 추가되며 세션을 다시 업로드하지 않음.
  • 수신자가 아직 가입하지 않았다면 초대장을 보낼 수 있으며, 수신자가 키를 보유한 뒤 다시 전송해야 함.
  • 수신자는 자신의 식별자와 비밀번호로 세션을 가져옴.
  • 팀은 저장 공간을 함께 사용하고 세션의 이동 경로를 확인할 수 있으며, 팀 전환 시 세션은 해당 팀 안에 유지됨.

접근할 수 없는 암호화

  • 모든 요금제에서 세션은 암호화되며, 세션 제목·작업 디렉터리·모델 이름·대화 기록은 기기를 떠나기 전에 암호화됨.
  • 개인 키는 Vibivibi가 받지 않는 비밀번호로 래핑됨. 관리자 화면이나 지원팀 우회 접근, 복구 절차는 없으며 비밀번호를 잃으면 세션을 읽을 수 없고 Vibivibi도 복구할 수 없음.
  • 서버는 에이전트 종류, 세션 식별자, 크기와 타임스탬프, 버전이 암호화된 대상의 키 지문, 세션을 전송받은 사람, 선택 사항인 평문 세션 이름을 알 수 있음.
  • 서버는 대화 기록이나 메시지, 제목, 작업 디렉터리, 모델 이름, 비밀번호, 개인 키 또는 세션을 읽을 수 있게 하는 정보를 알 수 없음.

암호화 방식

  • 암호화 작업은 모두 vibi 클라이언트에서 수행되며, 서버는 클라이언트에서 나온 데이터만 처리함.
  • 키 생성 및 보호
  • vibi enroll을 처음 실행할 때 기기에서 X25519 키 쌍을 생성함.
  • 개인 키는 비밀번호에서 파생한 키로 AES-256-GCM 암호화하며, 파생에는 scrypt(N=2^16, r=8, p=1)을 사용함.
  • 래핑된 키 데이터는 저장되며, 다른 기기에서도 비밀번호로 잠금을 해제할 수 있음. 비밀번호는 기기 밖으로 전송되지 않음.
  • 공개 키는 다른 사람이 세션을 암호화할 때 사용하며, 지문은 대시보드에 표시됨.
  • 세션 암호화 및 검증
  • 각 세션마다 새로운 무작위 256비트 콘텐츠 키를 생성해 대화 기록과 제목·디렉터리·모델 등의 메타데이터를 AES-256-GCM으로 암호화함.
  • 콘텐츠 키는 임시 X25519 키 교환과 HKDF-SHA256을 사용해 각 수신자용으로 래핑함. 전송 시 래핑된 키 하나만 추가되며 콘텐츠 키를 다시 노출하지 않음.
  • 업로드 뒤와 설치 전에 암호문의 SHA-256 해시를 확인함.
  • 세션 버전 정보에는 에이전트 이름, 세션 식별자, 크기, 암호화 대상 키 지문이 표시되며, 제목과 작업 디렉터리는 암호화된 값으로 나타남. 대화 기록은 암호문으로 저장됨.

시작하기

  • 기기 등록: 대시보드에서 코드를 생성하고 기기에서 vibi enroll을 실행함. 처음 등록할 때 키를 보호할 비밀번호를 선택함.
  • 세션 푸시: 프로젝트 디렉터리에서 vibi push를 실행하고 세션을 선택함. ‘Sync’는 본인용 저장, ‘Send’는 다른 사람을 위한 암호화 전송임.
  • 세션 가져오기: 다른 기기에서 vibi pull을 실행하면 본인에게 저장된 세션과 다른 사람이 보낸 세션이 표시되며, 선택한 세션이 설치됨.

요금제

  • 모든 요금제의 암호화 방식은 동일하며, 유료 요금제는 더 많은 데이터를 저장하고 전송할 수 있음.
  • Free — 월 $0: 암호화 세션 200MB, 세션당 최대 50MB, 기기 2대, 전송 무제한.
  • Pro — 월 $8 또는 연간 결제 시 월 $6: 암호화 세션 20GB, 세션당 최대 200MB, 기기 무제한, 전송 무제한.
  • Team — 사용자당 월 $15 또는 연간 결제 시 사용자당 월 $12: 팀 전체가 함께 사용하는 사용자당 100GB, 세션당 최대 200MB, 기기 및 전송 무제한, 전체 버전 기록.
  • 전체 요금제 비교

자주 묻는 질문

  • 무엇이 동기화되나?
  • Claude Code, Codex CLI, OpenCode 또는 Pi가 기록한 전체 대화가 원래 세션 식별자와 함께 포함된 에이전트 세션 파일임. 다른 기기에서 가져오면 에이전트가 찾는 위치에 파일이 설치되어 원래 세션을 이어갈 수 있음.
  • Vibivibi가 세션을 읽을 수 있나?
  • 읽을 수 없음. 모든 데이터는 기기에서 비밀번호로부터 파생한 키로 암호화되며, 키는 본인과 세션을 보낸 대상만 보유함. 서버에는 암호문과 ‘서버가 알 수 있는 정보’에 명시된 제한된 평문 정보만 저장됨.
  • 암호화 비밀번호를 잊으면 어떻게 되나?
  • 저장된 세션은 본인과 Vibivibi 모두 읽을 수 없으며 재설정 방법도 없음. 잠금이 해제된 기기에서는 언제든 비밀번호를 변경할 수 있음.
  • 수신자도 Vibivibi를 사용해야 하나?
  • 세션은 수신자의 키로 암호화되므로 계정과 등록된 기기가 필요함. 아직 등록되지 않은 주소라면 선택 화면에서 초대할 수 있으며, 가입 후 세션을 다시 보내야 함.
  • Claude Code 세션을 Codex에서 열 수 있나?
  • 현재는 불가능함. 세션은 생성한 에이전트용으로 설치되며, 에이전트 간 불러오기는 향후 검토 대상이지만 제공이 약속된 것은 아님.
  • 지원하는 코딩 에이전트는 무엇인가?
  • 현재 Claude Code, Codex CLI, OpenCode, Pi를 지원함. vibi는 기기에서 세션 파일을 찾고, OpenCode의 경우 opencode export와 opencode import를 사용함. 파일은 로컬에서 암호화되고 암호문만 업로드되며, 같은 클라이언트로 등록된 기기에 다시 가져옴.
  • 코딩 에이전트 세션 백업인가?
  • 맞음. 푸시할 때마다 암호화된 세션 버전이 저장되며, 이전 버전 보관 여부는 요금제에 따름. 노트북 분실, 재설치 또는 캐시 삭제로 세션이 사라져도 원래 상태 그대로 다시 가져올 수 있으며, 백업을 복호화할 수 있는 사람은 본인뿐임.

다음 작업 환경에서도 암호화된 세션

  • 무료로 기기 2대와 200MB를 사용할 수 있으며, 더 많은 용량이 필요하면 유료 요금제로 전환할 수 있음.
  • 무료 계정 만들기
  • 로그인
  • 무료 계정 만들기
  • 로그인