이전 버전입니다. 이 안내는 현재 개인정보 처리방침이 시행되기 전까지 게시되었던 이전 안내로, 기록을 위해 그대로 보관합니다. 현재 적용되는 내용은 개인정보 처리방침을 확인하세요.
Booking Private Beta — 개인정보 처리 안내
작성일: 2026-09-14 · 배포 전 초안 · 적용일: 실제 공개 시 확정
Booking은 개인 개발자가 운영하는 무료 Private Beta 독서 기록 서비스입니다. 이 문서는 현재 확인된 데이터 처리 방식을 설명하며 법률 준수 인증이나 플랫폼의 미확인 동작을 보장하지 않습니다.
처리하는 데이터와 목적
- Sites가 전달하는 사용자 ID를 Booking 계정 식별과 데이터 접근 통제에 사용합니다. 전달된 이메일은 로그인 계정 표시에 사용하며, 장서 DB의 별도 이메일 필드로 저장하는 경로는 없습니다.
- 사용자가 입력한 책 제목·저자·ISBN, 독서 상태·날짜·진도·계획, 노트·메모, task·category, shelf, 연간 목표와 관련 표시 정보를 저장합니다. 기록 관리, 검색, 독서 계획과 진행 상황 제공에 사용합니다.
- 저장 revision, 처리 receipt, 삭제·복구 기록, 계정 lifetime 및 generation 식별 정보를 처리합니다. 중복 저장 방지, 계정 격리, 충돌 감지, 복구와 삭제 후 재생성 차단에 사용합니다.
- 문의를 보내면 회신 주소와 사용자가 제공한 문의 내용을 지원에 사용합니다. 노트 본문이나 전체 backup은 기본 제출 정보가 아닙니다.
인증·저장·외부 조회
로그인과 로그아웃은 Sites의 ChatGPT 인증을 사용합니다. Booking은 비밀번호 입력이나 자체 비밀번호 저장 기능을 제공하지 않습니다. Sites가 전달한 인증 정보를 사용하므로 인증 플랫폼에서 처리하는 쿠키·접속 정보까지 Booking이 수집하지 않는다고 설명하지 않습니다.
호스팅은 Sites/Cloudflare 기반이며 장서는 Cloudflare D1의 계정별 데이터로 저장됩니다. 실제 저장 국가·region, 복제 설정, 플랫폼 로그의 항목·보존 기간과 내부 접근 범위는 아직 확인되지 않았습니다.
ISBN 조회를 사용하면 Booking 서버가 Open Library에 ISBN을 보냅니다. 이 조회 코드에는 사용자 이메일·장서 전체·노트 본문·브라우저 인증 쿠키를 전달하는 동작이 없습니다. 외부 서비스가 요청 처리 중 생성하는 네트워크 메타데이터와 로그의 내부 보존 방식은 확인되지 않았습니다.
현재 Booking 앱에는 analytics/tracking SDK와 별도 crash-reporting 서비스가 없습니다. 이는 Sites/Cloudflare의 운영·보안 로그나 플랫폼 자체 처리가 없다는 의미가 아닙니다.
브라우저 저장
오프라인 열람을 위해 이 기기의 IndexedDB에 마지막으로 서버에서 확인한 책·독서 기록·메모·할 일의 계정별 사본을 저장합니다. 로그인 정보나 인증 토큰은 이 사본에 포함하지 않습니다. Service Worker는 공개 화면 구성 파일과 책 이미지를 보관하며, 인증·관리자 응답은 보관하지 않습니다. 오프라인에서는 책을 직접 추가하거나 기록을 작성·수정할 수 있습니다. 변경 내용은 기기의 IndexedDB 또는 할 일용 localStorage에 먼저 보관하고, 재연결 후 같은 계정과 데이터 세대를 서버에서 확인한 뒤 동기화를 시도합니다. 다른 기기의 수정과 충돌하거나 저장 응답을 확인할 수 없으면 변경을 보존하며 성공으로 표시하지 않습니다. 동기화가 끝나기 전에 앱을 삭제하거나 기기 저장 공간을 지우면 서버에 전송되지 않은 기록을 잃을 수 있습니다. 로그아웃하거나 계정 변경을 확인하면 이전 계정 사본에 대한 접근을 차단합니다. 미전송 변경이 있는 기기 사본은 복구를 위해 남을 수 있으며 같은 계정 확인 없이는 다른 계정에 표시하거나 동기화하지 않습니다. 계정 삭제가 서버에서 확정되면 해당 계정의 기기 사본과 미전송 변경 삭제를 시도합니다. 인터넷에 연결되지 않은 다른 기기의 사본을 즉시 원격 삭제할 수는 없습니다. 이 사본은 앱 자체 암호화를 제공하지 않으므로 공용 기기에서는 사용 후 로그아웃하고 기기의 잠금 기능을 이용해 주세요. 브라우저나 운영체제가 저장 공간을 정리하면 오프라인 열람이 불가능해질 수 있습니다.
localStorage에는 계정 식별 상태, 미확정 저장 의도와 데이터 snapshot, ACK, 탭 간 복구·삭제 조정 정보 등이 남을 수 있습니다. sessionStorage에는 복원 결과 추적, 삭제 관련 탭 식별, 일부 Planner 표시 상태를 저장합니다. 저장 내용에는 사용자가 입력한 기록이 포함될 수 있습니다.
로컬 상태는 계정·lifetime·generation 범위로 분리합니다. 로그아웃은 미전송 데이터를 모두 지우는 작업이 아닙니다. 브라우저 데이터 삭제는 아직 서버에 저장되지 않은 변경을 잃게 할 수 있습니다. Sites 인증 쿠키의 정확한 종류와 수명은 별도 확인 대상입니다.
다운로드와 복원
Settings의 Download my data로 현재 계정의 서버 확정 데이터를 내려받을 수 있습니다. 파일에는 계정·사이트·lifetime 식별 정보와 무결성 검증 정보도 포함됩니다. 미전송 pending 자체, 삭제 복구 payload와 내부 ACK/receipt는 다운로드 대상이 아닙니다.
현재 V3 backup은 같은 계정·사이트·lifetime에서만 복원할 수 있습니다. V1/V2는 지원하지 않습니다. 복원은 명시적 확인 후 현재 데이터를 교체하며, pending이나 다른 탭의 작업 때문에 차단될 수 있습니다. 이 다운로드는 플랫폼 전체 백업이나 모든 로컬 사본의 내보내기가 아닙니다.
보존과 삭제
계정 기록에 일괄 자동 만료 기간을 두는 구현은 없습니다. 개별 book/note/plan 삭제에는 7일 복구 가능 기간이 있습니다. 만료된 복구 본문은 조회 결과에서 제외되지만 실제 DB 정리는 후속 쓰기에 의존하므로, 7일 뒤 모든 사본의 물리 삭제를 보장하지 않습니다.
Delete account는 Booking 데이터를 삭제하며 ChatGPT 계정 자체를 삭제하지 않습니다. 삭제 확정 후 해당 lifetime의 로컬 데이터를 정리하고 열린 탭의 접근을 차단합니다. 연결되지 않은 기기의 사본과 이미 다운로드한 파일은 즉시 원격 삭제할 수 없습니다.
삭제 후에도 계정 연결 키, 종료 lifetime, generation/revision, 삭제 처리 ID·완료 시각·receipt 등 최소 기록을 유지합니다. 이는 오래된 요청·backup으로 삭제된 데이터가 다시 생성되는 것을 막고 삭제 결과를 확인하기 위한 것입니다. 이 최소 기록의 자동 만료 기간은 현재 정해져 있지 않습니다. Start fresh를 명시적으로 선택하면 빈 새 lifetime을 시작하며 이전 lifetime backup은 계속 거부됩니다.
앱의 삭제 완료는 Sites/Cloudflare의 모든 backup·로그에서 즉시 물리 삭제됐다는 의미가 아닙니다. 실제 인프라 backup·로그 보존과 최종 제거 시점은 플랫폼 확인이 필요합니다.
문의와 변경
지원: rkdrns417@naver.com
개인정보 처리나 데이터 다운로드·삭제에 관한 문의를 보낼 수 있습니다. 별도 대응 기한을 보장하지 않습니다. 이 안내를 변경할 때 작성일과 변경 내용을 갱신하고, 처리 목적·범위 등 중요한 변경은 적용 전에 이용자가 확인할 수 있도록 안내하는 것을 원칙으로 합니다. 현재 자동 공지 기능이 있다는 의미는 아닙니다.