Vibe Share v1은 WebRTC 직접 연결이 아니라 서버 릴레이와 객체 스토리지 기반 전송을 사용합니다. 그래서 QR만 스캔한다고 파일이 휴대폰과 PC 사이로 직접 순간 이동하는 것은 아닙니다. 파일은 전송 처리를 위해 API와 임시 저장소를 거칠 수 있습니다.
전송 흐름
- PC가 세션을 만들면 서버는 세션 ID와 6자리 코드를 만들고 QR에는 모바일 웹 경로가 들어갑니다.
- 휴대폰이 QR 또는 6자리 코드로 참여하면 같은 세션에 PC 역할과 모바일 역할이 연결됩니다.
- 보내는 쪽은 파일 이름, 크기, MIME 타입 같은 메타데이터와 파일 데이터를 업로드합니다.
- 받는 쪽은 파일 정보를 보고 수락하거나 거절합니다.
- 수락하면 다운로드 URL을 받아 브라우저 다운로드 또는 모바일 저장/공유 동작을 진행합니다.
세션과 파일 데이터의 역할
세션은 두 기기가 같은 전송방에 있는지 확인하는 짧은 연결 단위입니다. 코드, 연결 상태, 만료 시간, 역할 정보가 여기에 속합니다. 파일 전송 데이터는 세션 안에서 별도로 만들어지고, 상태는 업로드 중, 수락 대기, 수락됨, 다운로드 시작, 완료, 실패, 거절 같은 값으로 바뀝니다.
운영 구성에서는 PostgreSQL, Redis, Cloudflare R2 같은 서비스를 사용할 수 있습니다. Redis는 짧은 연결 상태와 캐시, PostgreSQL은 세션과 전송 메타데이터, R2는 파일 임시 저장 경로로 쓰일 수 있습니다.
저장, 만료, 로그
기본 설정은 세션 만료 30분, 전송 만료 1시간, 정리 작업 60초 간격입니다. 운영 환경에서는 비용, 브라우저 제한, 스토리지 정책에 따라 실제 권장 크기와 보관 시간이 더 보수적으로 운영될 수 있습니다.
오류 진단과 오남용 방지를 위해 요청 시간, 상태, 오류, IP 같은 운영 로그가 남을 수 있습니다. 파일 이름, 크기, MIME 타입 같은 메타데이터도 전송 처리를 위해 다뤄질 수 있습니다. 자세한 정책 문서는 개인정보처리방침과 보안 안내를 함께 확인하세요.
보장하지 않는 것
Vibe Share는 영구 백업 서비스가 아니며 장기 보관을 보장하지 않습니다. 민감 파일을 보내기 전에는 수신자, 저장 위치, 전송 목적을 직접 확인해야 합니다. 보안과 보관 범위를 과장하는 문구는 사용하지 않습니다.
백그라운드 대용량 전송도 모바일 브라우저 정책의 영향을 받습니다. 긴 전송은 화면을 유지하고, 실패 시 새 QR과 작은 파일로 흐름을 다시 확인하세요.