올결 · 법적 문서
개인정보처리방침
시행일 2026-08-09「올결」(이하 “앱”)은 이름·전화번호·주소를 받지 않습니다. 연습은 로그인 없이 쓸 수 있고, 그때는 서버에 아무것도 저장되지 않습니다. 계정은 주간 랭킹에 참여할 때만 만들어집니다. 아래는 그럼에도 처리되는 정보의 전부입니다.
1. 수집하는 정보
로그인하지 않으면 — 서버에 저장되는 것이 없습니다
연습 문항은 서버가 묶음으로 내려주지만, 누가 무엇을 풀었는지는 서버로 돌아가지 않습니다. 푼 기록과 오답 노트는 기기 안에만 남습니다(아래 “기기에 저장되는 것”).
서버에 저장되는 것 (랭킹에 참여할 때)
| 구분 | 항목 | 어떻게 생기나 |
|---|---|---|
| 계정 | 계정 식별자(무작위 UUID), 로그인 수단(Apple · Google · Kakao 중 하나)과 그 제공자가 준 식별자, 이메일 주소, 계정이 만들어진 시각과 마지막 로그인 시각 | 소셜 로그인으로 계정을 만들 때 자동 생성 |
| 별명 | 이용자가 직접 입력한 별명(2~12자), 중복 판정용 정규화 키 | 로그인 직후 이용자가 입력 |
| 실력 레이팅 | 레이팅 값, 불확실도, 판 수, 마지막 갱신 시각 | 랭킹 한 판을 마치면 서버가 계산 |
| 판 기록 | 판 식별자, 상태, 시작·만료·제출 시각, 맞힌 개수, 기대 정답 수, 판 전후 레이팅 | 랭킹 판을 시작·제출할 때 |
| 문항 시드 | 문항을 다시 만들기 위한 시드(규칙군·난이도·생성기 버전) | 판을 시작할 때 서버가 생성. 정답은 저장하지 않습니다 — 채점할 때 시드에서 다시 만들어 다시 풉니다 |
| 응답 | 문항 번호, 고른 보기 번호, 정오답, 문항별 소요 시간(밀리초) | 랭킹 판을 제출할 때 |
| 주간 리그 | 주차(예: 2026-W32), 그 판의 점수, 기록 시각 | 랭킹 판을 제출하면 자동 기록 |
🚨 랭킹 화면에 계정 식별자를 내보내지 않습니다. 다른 이용자에게 보이는 것은 별명·순위·평균 점수·판 수뿐입니다.
기기에 저장되는 것 (서버로 보내지 않습니다)
| 항목 | 무엇인가 |
|---|---|
| 연습 문항 캐시 | 오프라인에서 풀 수 있게 미리 받아 둔 문항 묶음 |
| 오답 노트 | 틀린 문항(최대 300개). 서버로 올라가지 않습니다 |
| 화면 설정 | 테마(밝게·어둡게·시스템), 첫 안내를 봤는지 여부, 광고 제거 구매 여부 |
| 로그인 세션 | 로그인했다면 그 상태를 유지하기 위한 토큰 |
앱을 지우면 이 항목들은 기기에서 함께 사라집니다.
수집하지 않는 것
- 이름 · 전화번호 · 주소 · 생년월일 · 성별
- 연락처 · 사진 · 위치 · 마이크 · 카메라 — 권한 자체를 요청하지 않습니다
- 기기 광고 식별자(IDFA) — 맞춤형 광고를 위한 추적을 하지 않습니다
2. 이용 목적
- 랭킹과 실력 측정 — 판 기록과 응답으로 레이팅을 계산하고 주간 리그 순위를 만듭니다.
- 부정 방지 — 사람이 낼 수 없는 속도의 제출, 중복 제출, 만료된 판의 제출을 막습니다.
- 문항 난이도 보정 — 어떤 난이도가 실제로 얼마나 어려운지 계산합니다. 이 계산에 쓰이는 집계값에는 누가 풀었는지가 들어가지 않습니다.
- 오류 대응 — 서버에서 오류가 나면 원인을 찾기 위한 진단 정보를 남깁니다(아래 4항).
3. 보유 기간과 파기
계정을 삭제하면 유예 기간 없이 즉시 파기합니다. “며칠 뒤에 지운다”는 약속을 두지 않습니다 — 지연 파기는 사람이 챙겨야만 굴러가는 구조가 되고, 그런 구조는 곧 멈추기 때문입니다.
삭제 경로는 앱 안 → 설정 → 계정 삭제입니다. 확인 문구를 입력하면 바로 지워집니다.
| 지워지는 것 | 남는 것 |
|---|---|
| 계정과 로그인 연결 · 이메일 · 별명 · 실력 레이팅 · 판 기록 · 문항 시드 · 응답 · 주간 리그 기록 · 접속 기록(감사 로그) | 난이도 집계값 — 문항 난이도(규칙군×단계)에 대한 통계입니다. 수천 명의 풀이가 합쳐진 값이라 개인을 가려낼 수 없고, 한 사람 몫을 빼낼 수도 없습니다. 개인정보가 아니라 문항의 성질이므로 남습니다. |
⚠️ 기기의 오답 노트는 서버에 없으므로 계정 삭제로 지워지지 않습니다. 앱을 지우면 함께 사라집니다.
⚠️ 계정을 삭제해도 Apple · Google · Kakao 계정 설정에 남아 있는 앱 연결은 각 사에서 직접 해제해 주셔야 합니다. (예: iPhone → 설정 → 이용자 이름 → 로그인 및 보안 → Apple로 로그인)
4. 처리를 맡기는 곳
| 받는 곳 | 무엇을 | 왜 | 어디에 |
|---|---|---|---|
| Supabase | 위 “서버에 저장되는 것” 전부 | 데이터베이스와 계정 인증 | 대한민국(서울) |
| Apple · Google · Kakao | 로그인 요청과 그에 대한 응답(식별자·이메일) | 이용자가 고른 방법으로 본인을 확인하기 위해 | 각 사의 정책에 따름 |
| Sentry | 서버 오류의 진단 정보(오류 메시지, 함수 이름, 발생 시각) | 오류를 고치기 위해 | 미국 |
개인정보를 판매하지 않고, 광고 목적으로 제3자에게 넘기지 않습니다.
5. 광고
앱에는 광고 자리가 있습니다. 현재 버전에는 광고가 연결되어 있지 않습니다 — 자리만 잡혀 있고 아무것도 표시되지 않습니다. 연결할 때 이 문서를 먼저 고치고, 그때에도 기기 광고 식별자를 이용한 맞춤형 광고는 쓰지 않습니다.
6. 알림
알림은 기기 안에서 예약되는 로컬 알림입니다. 서버가 보내지 않으므로 푸시 토큰을 수집하지 않습니다. 권한은 첫 연습을 마친 뒤에 물어보고, 거절해도 앱은 그대로 동작합니다.
7. 이용자의 권리
- 열람·정정 — 별명은 앱에서 언제든 바꿀 수 있습니다. 그 밖의 항목 열람은 아래 주소로 요청해 주세요.
- 삭제 — 앱 안에서 직접 지울 수 있습니다(설정 → 계정 삭제).
- 처리 정지·동의 철회 — 계정 삭제가 곧 철회입니다.
요청은 support@taeforge.com 으로 받습니다.
8. 만 14세 미만
이 앱은 성인을 대상으로 만들었고, 만 14세 미만 아동의 가입을 받지 않습니다. 만 14세 미만인 것을 알게 되면 해당 계정과 데이터를 지웁니다.
9. 안전 조치
- 모든 통신은 HTTPS로 암호화합니다.
- 데이터베이스 테이블은 앱에서 직접 읽고 쓸 수 없습니다. 서버 함수만 접근할 수 있게 권한을 회수해 두었고, 그것이 실제로 막히는지 배포 때마다 자동 검사로 확인합니다.
- 랭킹 응답에 계정 식별자를 포함하지 않습니다.
10. 이 문서가 바뀌면
내용이 바뀌면 이 페이지의 시행일을 고치고, 이용자에게 불리한 변경은 앱 안에서 알린 뒤 적용합니다.
11. 문의
개인정보에 관한 문의·요청은 support@taeforge.com 으로 보내 주세요. 받은 날부터 10일 이내에 답변합니다.