1. 개요 및 개인정보처리자
오답인박스(Wrong Inbox, 이하 “앱”)는 직접 업로드하거나 Google Drive에 저장한 오답 학습 자료를 개인 복습 기록으로 구조화하는 학습관리 서비스입니다.
- 서비스명: 오답인박스(Wrong Inbox)
- 개인정보처리자: 넥토바 (대표 이준호)
- 개인정보 보호 담당: Wrong Inbox 개인정보 보호 담당
- 이메일: [email protected]
- 전화: 010-2155-7030 (평일 18:00~21:30)
2. 처리하는 개인정보와 학습 데이터
- 계정·인증: Firebase UID, 이메일, 표시 이름, 프로필 사진 URL, Firebase ID Token·Refresh Token 및 만료 시각. 로그인 세션 값은 현재 브라우저의 로컬 저장소에도 보관됩니다.
- 구조화된 학습 기록: 과목·단원·문제 번호, 제목과 문제 요약, 오답 유형·원인, 핵심 개념, 힌트, 정답·풀이, 복습 메모, 난이도·신뢰도·확인 필요 상태, 유사 문제, 사용자가 적은 오답 상황, 고정·복습 일정·횟수·재정답 여부 및 생성·수정 시각.
- AI 처리 기록: 사용된 제공자·모델·작업 종류, 성공·실패 결과, 처리 시간과 입력·출력 토큰 수. 신규 오답 문서에는 계정 이메일을 별도 필드로 중복 저장하지 않습니다.
- Google Drive: 동기화 대상 파일의 ID·이름·유형·크기·수정 시각·상위 폴더·원본 링크, 변경 추적 토큰, 동기화 상태·실패·재시도 정보, 사용자가 삭제한 파일의 자동 재등록 차단·복원 상태와 해당 파일에서 읽은 학습 내용.
- 직접 업로드: 이미지/PDF, 파일명·MIME 유형·크기, 사용자가 선택한 원본 보관 여부. 기본 설정에서는 구조화 저장 완료 후 원본을 삭제하며, 보관을 선택한 경우 사용자 UID 아래의 Storage 경로와 원본 파일명을 보관합니다.
- 키노트: 사용자가 입력한 제목·과목·본문과 생성·수정 시각. 키노트 본문은 별도의 AI 분석 없이 계정에 저장하며, 사용자가 삭제하거나 계정을 삭제할 때 함께 삭제합니다.
- 클립: 잔액, 남은 무료 저장 횟수, 마지막 복습 보상 날짜와 저장·차감 내역을 계정에 보관합니다. 계정을 삭제하면 함께 삭제합니다.
- 알림: 사용자가 알림을 켠 경우 FCM 등록 토큰, 활성 상태, 시간대, 선택한 알림 시간, 마지막 발송일과 생성·수정 시각.
- 사용자 의견: 앱 안의 ‘이용자의 목소리’로 보낸 의견 종류·내용·작성 화면·처리 상태와 작성·수정 시각. 이메일과 학습 자료는 의견에 자동으로 첨부하지 않습니다.
- 브라우저 설정: Drive 연결 동의 여부, Drive 세션, 공지 확인 시각과 앱 설치 안내 닫기 시각 등 기능 유지에 필요한 로컬·세션 저장소 값.
앱은 광고 추적용 분석 도구를 사용하지 않으며 개인정보나 Google 사용자 데이터를 판매하지 않습니다.
3. 이용 목적
- Google 로그인, 사용자 확인 및 사용자별 데이터 격리
- 직접 업로드 자료와 Drive 오답 파일의 AI 분석·구조화
- Drive 변경 확인, 재동기화 및 원본과 파생 기록의 연결 관리
- 오답 카드와 복습 일정 관리, 키노트 저장·열람
- 사용자가 켠 경우 일일 복습 푸시 알림 제공
- 사용자가 보낸 불편 사항과 개선 아이디어 검토
- 오류 진단, 삭제·동기화 실패 기록 및 재시도
4. Google Drive 데이터 처리
Drive 연결 시 앱은 Google Drive 읽기 전용 권한(https://www.googleapis.com/auth/drive.readonly)을 요청합니다. 이 기술적 권한 범위는 사용자가 접근할 수 있는 Drive 파일을 읽을 수 있지만, 앱은 서비스 제공을 위해 이름에 ‘오답’이 포함된 Google Docs·텍스트·Markdown·이미지·PDF와 과목 판별에 필요한 상위 폴더 메타데이터만 처리합니다.
Drive Access Token은 브라우저 sessionStorage에 만료 시각과 함께 보관됩니다. 동기화할 때 HTTPS 요청 헤더로 앱 백엔드에 전달되어 Drive API 호출에 사용되지만, 앱 서버의 장기 저장소나 Firestore에는 저장하지 않으며 OpenAI API에도 전달하지 않습니다.
백엔드가 Drive에서 읽은 오답 파일 내용은 AI 분석을 위해 OpenAI API에 전달될 수 있고, 분석 결과는 해당 Firebase UID 아래의 구조화된 학습 기록으로 저장됩니다. 앱은 Drive 원본을 생성·수정·이동·삭제하지 않습니다.
Google API에서 받은 정보의 사용과 다른 서비스로의 전송은 Google API Services User Data Policy 및 Limited Use 요구사항을 준수합니다. 해당 정보는 사용자가 요청한 Drive 동기화와 개인 학습 분석 기능을 제공하기 위해서만 사용하며 판매·광고 또는 범용 AI 모델 학습에 사용하지 않습니다. 서비스 제공에 필요한 처리업체 외에는 임의로 제공하지 않고, 사용자의 명시적 동의, 보안 목적 또는 법적 의무 등 정책이 허용하는 경우를 제외하고 사람이 임의로 열람하지 않습니다.
Drive Changes API의 삭제 신호, 휴지통 상태 또는 동기화 대상에서 제외된 사실이 명확히 확인되면 해당 파일에서 파생된 오답 카드와 동기화 메타데이터를 앱에서도 삭제할 수 있습니다. 시간 초과, 토큰 만료, 네트워크·일시적 권한 확인 실패만으로는 삭제하지 않고 재시도합니다.
사용자가 앱에서 Drive 오답 박스를 삭제하면 메인 화면에서 숨기고 해당 파일 ID의 자동 재등록을 차단합니다. 일반·수동 Drive 동기화만으로는 복원되지 않으며, 사용자가 삭제한 박스에서 직접 복원을 선택한 경우에만 기존 기록을 되살리거나, 과거 삭제처럼 구조화 기록이 남아 있지 않은 경우 Drive 원본을 다시 분석합니다.
사용자는 Google 계정의 서드 파티 연결 설정에서 접근 권한을 철회할 수 있습니다. 철회하면 새 동기화가 중단되며, 이미 구조화된 앱 기록은 카드 또는 계정 삭제 기능으로 별도 삭제해야 합니다.
5. OpenAI를 통한 AI 처리
앱은 OpenAI Responses API를 통해 오답 자료를 분석합니다. 직접 업로드에서는 이미지/PDF 원본, 마스킹된 파일명, 과목과 사용자가 적은 오답 상황이 전달될 수 있습니다. Drive 동기화에서는 동기화 대상 파일의 텍스트 또는 이미지/PDF, 마스킹된 파일명, 과목 폴더·기존 과목 정보가 전달될 수 있습니다.
이메일·전화번호·명시적으로 표시된 학번·사용자 ID는 텍스트와 파일명에서 규칙 기반으로 마스킹하며, AI 출력에는 불필요한 개인정보와 원문 장문을 재현하지 않도록 지시합니다. 다만 이미지/PDF 안에 보이는 개인정보까지 앱이 자동으로 가리는 기능은 없으므로 업로드 전 사용자가 불필요한 정보를 제거해야 합니다.
OpenAI Responses API 요청에는 store: false 설정을 사용하여 Responses API의 애플리케이션 상태 저장 기능을 사용하지 않습니다. 다만 OpenAI의 안전·오남용 방지 및 운영을 위한 로그는 OpenAI의 현재 API 데이터 정책에 따라 일정 기간 보관될 수 있습니다.
6. 처리위탁 및 외부 서비스
다음 서비스는 앱 기능을 제공하기 위한 처리업체이며, 앱이 개인정보를 판매한다는 의미가 아닙니다.
| 서비스 | 현재 역할 |
|---|---|
| Firebase Authentication | Google 로그인, Firebase UID와 인증 토큰 발급·검증 |
| Cloud Firestore | 사용자별 구조화 오답·과목·복습·Drive 동기화·삭제 재시도 정보와 사용자 의견 저장 |
| Cloud Storage for Firebase | 사용자가 보관을 선택한 직접 업로드 원본과 삭제 전 임시 원본 저장 |
| Firebase Hosting·Cloud Functions | 웹 앱 제공, 인증된 API 요청과 Drive·AI 분석 처리 |
| Firebase Cloud Messaging | 사용자가 켠 경우 일일 복습 푸시 알림 전송 |
| Google Drive API | 사용자가 승인한 동기화 대상 파일의 검색·읽기·변경 확인 |
| OpenAI API | 문제 자료 분석, 구조화, 풀이·복습 정보 생성 |
7. 개인정보의 국외 처리·이전 가능성
Google·Firebase와 OpenAI 기능을 이용하는 과정에서 정보가 국외에서 처리될 수 있습니다. 다음 내용 중 운영 계약과 콘솔에서 확인해야 하는 항목은 확정 전임을 표시했습니다.
| 사업자·서비스 | 처리 정보·목적 | 시기·방법 | 국가·처리지역 | 보유·처리기간 | 거부 방법·영향 |
|---|---|---|---|---|---|
| Google·Firebase [출시 전 계약/콘솔 확인 필요] | 계정·인증, 구조화 학습 기록, 선택 보관 원본, FCM 정보, Drive 동기화 대상 파일의 메타데이터·내용 / 로그인·저장·호스팅·알림·Drive 동기화 | 로그인, 저장, 알림 또는 Drive 연결·동기화 시 HTTPS 등 암호화 통신 | Firebase Authentication: 미국. 앱의 Cloud Functions: 서울(asia-northeast3). Firestore·Storage·Drive 및 그 밖의 처리지역: [출시 전 계약/콘솔 확인 필요] | 앱의 보관·삭제 기준은 아래 8절과 같습니다. 제공자 운영 로그·백업의 정확한 기간: [출시 전 계약/콘솔 확인 필요] | 로그인하지 않거나 Drive·알림을 연결하지 않고, 연결 후에는 권한 철회·알림 끄기·계정 삭제를 요청할 수 있습니다. 로그인 거부 시 앱 이용, Drive 거부 시 자동 동기화, 알림 거부 시 푸시 기능이 제한됩니다. |
| OpenAI API [출시 전 계약/콘솔 확인 필요] | 오답 텍스트·이미지·PDF와 분석에 필요한 관련 입력 / AI 분석·구조화 | 직접 업로드 또는 Drive 오답 분석 요청 시 HTTPS API 전송 | [출시 전 계약/콘솔 확인 필요] | store: false를 사용합니다. 안전·운영 로그의 정확한 기간은 제공자 정책 및 계정 설정에 따르며 [출시 전 계약/콘솔 확인 필요]입니다. | 직접 업로드와 Drive 동기화를 사용하지 않는 방식으로 전송을 거부할 수 있으나 AI 오답 분석 기능이 제한됩니다. |
8. 보관 및 삭제
- 구조화 기록: 오답·과목·복습·동기화·알림·사용자 의견 정보는 사용자가 서비스를 이용하는 동안 보관합니다. 박스 삭제 시 관련 오답·메모·복습 기록은 삭제한 박스로 이동해 자동 만료 없이 보관되며, 사용자가 완전 삭제하거나 계정을 삭제하면 현재 구현 범위에서 삭제합니다.
- 직접 업로드 원본: 신규 업로드는 기본적으로 AI 분석과 Firestore 구조화 저장 성공 후 Storage 원본을 삭제합니다. 보관을 명시적으로 선택하면 삭제한 박스에서 완전 삭제하거나 계정을 삭제할 때까지 보관할 수 있습니다. 삭제 실패 원본은 재시도 대상으로 기록되어 예상보다 오래 남을 수 있으며, 정책 변경 전에 저장된 파일은 일괄 삭제하지 않습니다.
- Drive 파생 기록: 원본 삭제·휴지통 이동 또는 동기화 대상 제외가 확실히 확인되면 연결된 카드·동기화 메타데이터를 삭제합니다. 사용자가 앱에서 삭제한 박스는 직접 복원 또는 완전 삭제 전까지 보관합니다. 완전 삭제 후에도 같은 원본이 동기화만으로 다시 등록되지 않도록 최소한의 Drive 파일 ID와 차단 상태가 계정 삭제 전까지 남을 수 있습니다. Google Drive 원본 자체는 앱이 삭제하거나 수정하지 않습니다.
- 계정 전체 삭제: 앱의 계정 및 앱 데이터 삭제 기능은 인증된 토큰의 UID를 기준으로 사용자 Firestore 전체 트리와 UID Storage 경로를 삭제·확인한 뒤 Firebase Authentication 계정을 삭제합니다. 일부 단계가 실패하면 완료로 표시하지 않고 재시도를 안내합니다.
- 외부 서비스: Google·Firebase·OpenAI의 보안·운영 로그, 백업 또는 법적으로 보존해야 하는 정보는 각 제공자 정책과 적용 법령에 따라 앱 데이터와 동시에 삭제되지 않을 수 있습니다.
9. 사용자의 선택과 권리
| 요청 | 앱에서 직접 가능 | 추가 지원 |
|---|---|---|
| 열람 | 오답 카드, 과목, 복습·동기화 상태 확인 | 확인이 어려운 정보는 지원 이메일로 문의 |
| 정정 | 오답 유형 수정, Drive 원본 수정 후 재동기화 | 그 밖의 정정은 지원 이메일로 문의 |
| 삭제·복원 | 박스를 삭제한 뒤 삭제한 박스에서 복원·완전 삭제, 계정 및 앱 데이터 삭제 | 앱 이용이 어려우면 지원 이메일로 요청 |
| 처리정지·동의 철회 | 푸시 알림 끄기, 로그아웃 | Drive 권한은 Google 계정 연결 설정에서 철회; 그 밖의 요청은 이메일 문의 |
계정 삭제는 Google Drive 원본을 삭제하지 않습니다. Drive 권한 철회만으로 이미 생성된 앱 기록이 자동 삭제되지는 않으므로 필요한 경우 카드 또는 계정 삭제 기능을 함께 이용해야 합니다.
10. 보안
앱은 HTTPS, Firebase ID Token 검증, UID 기준 Firestore·Storage 규칙, 서버 측 OpenAI 비밀키 보관, 요청 크기 제한, 민감 로그 최소화와 기본 웹 보안 헤더를 적용합니다. 다만 어떠한 방식도 절대적인 보안을 보장할 수 없으므로 학습에 불필요한 개인정보를 파일명이나 자료에 포함하지 않는 것을 권장합니다.
11. 아동·청소년 이용
현재 앱에는 생년월일 확인이나 보호자 동의 기능이 구현되어 있지 않습니다. 최소 이용 연령과 보호자 동의가 필요한 경우의 처리 기준은 공개 출시 전에 별도 운영 정책으로 확정하여 안내할 예정입니다.
12. 방침 변경
데이터 처리 방식이나 사용하는 서비스가 달라지면 시행일과 마지막 수정일을 갱신합니다. 중요한 변경은 앱의 업데이트 알림 등 알아보기 쉬운 방식으로 안내합니다.
13. 문의
개인정보, Google 데이터 이용, 계정·학습 기록 삭제 또는 저작권 관련 문의는 [email protected]으로 접수할 수 있습니다. 앱 이용 조건은 이용약관에서 확인할 수 있습니다.