개인정보 처리방침
코멘트팩토리(이하 "서비스")는 웹소설 작가가 자신의 원고에 대한 가상 독자 반응을 시뮬레이션하는 웹 애플리케이션입니다. 서비스는 Local-First 원칙으로 설계되어, 이용자의 원고·API 키·생성된 댓글을 운영자의 서버에 저장하지 않습니다. 본 방침은 서비스가 어떤 정보를 어디에서 처리하는지 설명합니다.
1. 수집하는 정보와 목적
| 정보 | 수집 경로 | 목적 | 저장 위치 |
|---|---|---|---|
| Google 계정 이메일 주소, 이메일 인증 여부 | Google 로그인(OAuth) | 라이선스 코드 등록 및 라이선스 확인 | 라이선스 서버(Cloudflare D1)에 이메일, 이용권 기간, 등록한 코드의 앞 4자리만 저장 |
| Google 프로필 이름·프로필 사진 URL | Google 로그인(OAuth) | 앱 화면에 로그인 상태 표시 | 브라우저 메모리에만 (서버 미전송) |
| 라이선스 검증 로그 (이메일, 시각, 성공 여부) | 라이선스 검증 요청 | 부정 사용 방지, 장애 대응 | 라이선스 서버(Cloudflare D1) |
| AI 호출 실패 기록 (이메일, 시각, 제공자·모델·기능, 상태 코드, 제공자가 돌려준 오류 문구) | AI 호출이 재시도 끝에 실패했을 때 앱이 자동 전송 | 장애 대응, 문의 응대 | 라이선스 서버(Cloudflare D1). 원고와 API 키는 포함되지 않습니다 |
| 공지·쪽지 열람 기록 (이메일, 글 번호, 읽은 시각) | 앱에서 해당 글을 펼쳤을 때 | 보낸 안내가 전달되었는지 확인, 문의 응대 | 라이선스 서버(Cloudflare D1) |
| 운영자 쪽지의 받는 사람 (이미 등록된 Google 계정 이메일) | 운영자가 특정 이용자에게 쪽지를 보낼 때 | 패치 내용·문의 답변 등 서비스 안내 전달 | 라이선스 서버(Cloudflare D1)에 쪽지와 함께 저장. 공지·쪽지를 읽었는지는 서버에 저장하지 않고 이용자 브라우저에만 둠 |
| 원고 텍스트, 생성된 댓글, 별점 | 이용자 직접 입력 / AI 생성 | 서비스 핵심 기능 제공 | 이용자 브라우저(IndexedDB) 및 이용자 본인의 Google Drive |
| AI 제공자 API 키 (Gemini, Claude, OpenAI 등) | 이용자 직접 입력 | 이용자 본인 계정으로 AI 호출 | 이용자 브라우저(IndexedDB)에 저장. "API 키를 내 Google 계정에 저장"이 켜져 있으면(기본값) 이용자 본인의 Google Drive(CommentFactory/account.json)에도 난독화하여 저장 — 운영자 서버에는 저장·전송되지 않음 |
서비스는 광고 식별자, 방문 분석(애널리틱스) 도구, 추적 쿠키를 사용하지 않습니다.
2. Google 사용자 데이터의 이용
서비스는 Google 로그인 시 다음 권한(scope)을 요청합니다.
| 권한 | 이용 방법 |
|---|---|
openid, userinfo.email, userinfo.profile | 이메일로 라이선스를 확인하고, 이름과 프로필 사진을 앱 화면에 표시합니다. |
drive.file | 이용자의 Google Drive에 CommentFactory 폴더를 만들고, 그 안에 원고와 생성된 댓글을 JSON 파일로 백업하며, 새 기기에서 이를 복원합니다. 이 권한은 서비스가 직접 생성한 파일에만 접근할 수 있으며, 이용자의 다른 Drive 파일은 읽거나 수정할 수 없습니다. |
Drive 백업은 앱 설정에서 언제든 끌 수 있습니다. Google 계정의 제3자 액세스 관리 페이지에서 서비스의 접근 권한을 회수할 수 있으며, 회수 후에도 Drive에 이미 저장된 파일은 이용자가 직접 관리·삭제할 수 있습니다.
3. 원고와 AI 제공자로의 전송
이용자가 댓글 생성을 실행하면, 원고 텍스트는 이용자 브라우저에서 이용자가 선택한 AI 제공자(Google Gemini, Anthropic Claude, OpenAI 중 하나)의 API로 이용자 본인의 API 키를 사용해 직접 전송됩니다. 이 과정에서 운영자의 서버는 원고를 저장하지 않습니다. 운영자가 제공하는 선택적 중계(프록시) 서버를 경유하는 경우에도 요청 본문과 API 키는 저장·기록되지 않고 그대로 전달만 됩니다.
Gemini 무료 키 주의. Google 의 Gemini API 약관에 따르면, 결제가 연결되지 않은 무료 키(Unpaid Services)로 전송한 프롬프트와 응답은 Google 제품을 제공·개선·개발하는 데 사용될 수 있으며 검토자가 읽을 수 있습니다. 결제를 연결한 유료 키(Paid Services)로 전송한 내용은 제품 개선에 사용되지 않고 정책 위반 탐지를 위해 제한된 기간만 보관됩니다. 미공개 원고를 다루신다면 결제가 연결된 키 사용을 권장합니다. Anthropic·OpenAI 의 API 는 기본적으로 입력·출력을 모델 학습에 사용하지 않습니다.
AI 제공자 측의 데이터 처리는 각 제공자의 정책을 따릅니다: Google Gemini API 약관, Anthropic 개인정보 처리방침, OpenAI 개인정보 처리방침.
4. 보관 기간
- 라이선스 정보(이메일, 이용권 기간): 라이선스가 유효한 동안 보관하며, 이용자의 요청 시 삭제합니다.
- 라이선스 검증 로그: 최대 90일 보관 후 삭제합니다.
- AI 호출 실패 기록: 최대 30일 보관 후 삭제합니다.
- 공지·쪽지 열람 기록: 해당 공지·쪽지가 남아 있는 동안 보관하며, 이용자의 요청 시 삭제합니다.
- 운영자 쪽지의 받는 사람 정보: 해당 쪽지를 삭제할 때 함께 삭제합니다.
- 브라우저 저장 데이터: 이용자가 앱에서 로그아웃하거나 브라우저 사이트 데이터를 삭제하면 즉시 제거됩니다.
- Google Drive 백업 파일: 이용자 본인의 Drive에 있으므로 이용자가 직접 삭제할 때까지 유지됩니다.
5. 제3자 제공 및 처리 위탁
서비스는 개인정보를 제3자에게 판매하거나 마케팅 목적으로 제공하지 않습니다. 서비스 운영을 위해 다음 인프라를 사용합니다.
| 사업자 | 용도 | 처리 정보 |
|---|---|---|
| Cloudflare, Inc. | 웹 호스팅, 라이선스 서버, 선택적 API 중계 | 접속 IP·요청 메타데이터(인프라 로그), 이메일·이용권 기간(라이선스 DB) |
| Google LLC | 로그인, Drive 백업, (선택 시) Gemini API | 계정 정보, Drive 파일, (선택 시) 원고 |
| Anthropic PBC / OpenAI (이용자 선택 시) | 댓글 생성 AI | 원고, 이용자 본인 API 키 |
6. 이용자의 권리
이용자는 언제든 다음을 요청하거나 직접 수행할 수 있습니다.
- 라이선스 서버에 저장된 본인 이메일·로그의 열람 및 삭제 요청 (아래 연락처)
- 앱 내 로그아웃으로 브라우저 저장 데이터(라이선스, API 키, 히스토리) 일괄 삭제
- Google 계정 설정에서 서비스의 접근 권한 회수
- Google Drive의
CommentFactory폴더 삭제
7. 보안
모든 통신은 HTTPS로 암호화됩니다. 라이선스 서버는 이용자가 보낸 이메일을 신뢰하지 않고 Google이 검증한 토큰으로만 신원을 확인하며, 라이선스 토큰은 서버 비밀키로 서명됩니다. API 키와 원고는 운영자 서버에 저장되지 않으므로 서버 침해 시에도 노출되지 않도록 설계되었습니다.
8. 아동의 개인정보
서비스는 만 14세 미만 아동을 대상으로 하지 않으며, 아동의 개인정보를 의도적으로 수집하지 않습니다.
9. 방침의 변경
본 방침이 변경되는 경우 이 페이지에 시행일과 함께 게시합니다. 중요한 변경이 있을 경우 앱 내 공지로 안내합니다.
10. 문의
개인정보 관련 문의 및 삭제 요청: team.storycrew@gmail.com