워게임체스 개인정보 처리방침
이 처리방침은 워게임체스가 어떤 정보를 받고, 왜 쓰고, 얼마나 보관하고, 누구와 공유하는지를 설명합니다. 게임을 이용하기 전에 읽어 주세요. 어려운 용어는 가능한 한 풀어 썼고, 중요한 내용은 표로 정리했습니다.
한국어판과 영어판은 같은 내용을 담도록 함께 관리합니다. 두 판의 표현이 달라 보이면 privacy@starglass.dev로 문의해 주세요.
한눈에 보기
- 로그인은 Google 또는 Apple 계정으로 합니다. 게임 서버는 발급자와 사용자 식별자만 저장하며, 이메일 주소와 비밀번호는 저장하지 않습니다.
- 계정·대국·전적·채팅은 게임을 제공하고 기록을 남기기 위해 처리합니다.
- 보안, 부정 이용 방지, 채팅 필터, 장애 대응을 위해 필요한 범위에서 정보를 처리합니다.
- 푸시 알림과 외부 AI 앱 연결은 이용자가 선택할 때만 이루어집니다.
- 공개 대전에 참여하면 공개 프로필과 전적이 다른 플레이어와 로그인하지 않은 방문자에게 보일 수 있습니다. 이는 게임을 공개하는 방식에 대한 안내이며, 별도의 동의를 받는 절차가 아닙니다.
- 신고 기능을 제공합니다. 신고 내용·증거·처리 기록은 1.5절에 적은 범위에서 처리하고 보관합니다.
- 전 세계 공통으로 만 14세 미만은 계정을 만들거나 연결할 수 없습니다. 태어난 해는 기기에서만 확인하고 서버에는 저장하지 않습니다.
- 계정 삭제는 게임 안에서 바로 할 수 있습니다. 그 밖의 권리 요청은 privacy@starglass.dev로 받습니다.
1. 처리하는 정보와 받는 방법
1.1 계정과 로그인
| 정보 | 어떻게 받나요 | 보관 |
| 로그인 제공자(Google/Apple), 발급자, 사용자 식별자 | 로그인을 마치면 서버가 로그인 토큰을 검증하고 발급자와 사용자 식별자만 저장합니다. | 계정이 있는 동안 |
| 내부 계정 ID | 서버가 무작위로 만듭니다. | 계정이 있는 동안 |
| 공개 프로필(이름 2~16자, 엠블럼, 색) | 이용자가 계정 화면에서 직접 입력하거나 고릅니다. | 계정이 있는 동안 |
| 로그인 세션 정보와 토큰 해시 | 로그인할 때 서버가 세션을 발급합니다. 서버에는 토큰 원문이 아니라 해시를 저장합니다. | 접속 토큰 15분, 새로 고침 토큰 30일 |
| 클라우드 저장(자동 저장, 슬롯, 편성·군대 프리셋) | 이용자가 저장할 때 기기에서 서버로 보냅니다. | 계정이 있는 동안 |
| 계정에 연결된 대국 참조 | 계정으로 대국에 참여하거나 이어받을 때 기록합니다. | 계정이 있는 동안 |
| 공개 프로필을 표시한 기기와 연결한 이력 | 계정으로 로그인한 기기가 게스트 프로필을 계정에 연결할 때 기록합니다. | 마지막 연결 후 30일 |
| AI 앱 연결 정보(연결 이름, 좌석, 권한 범위, 토큰 해시, 만료) | 이용자가 외부 AI 앱 연결을 승인할 때 발급·저장합니다. | 연결 30일, 접속 토큰 15분 |
| 계정 삭제 진행·완료 기록 | 탈퇴 요청을 처리할 때 기록합니다. | 완료 후 24시간 |
이메일 주소: 게임 서버는 로그인 토큰에 이메일이 들어 있어도 이를 저장하지 않습니다. Google·Apple이 자기 로그인 과정에서 처리하는 정보는 각 사의 개인정보 처리방침을 따릅니다.
비밀번호: 게임은 자체 비밀번호를 만들지 않습니다. Google 또는 Apple 로그인만 사용합니다.
제공자 토큰: 게임 서버는 Google·Apple의 access/refresh 토큰을 보관하지 않습니다. 게임 세션 토큰만 발급하고 해시로 저장합니다.
1.2 로그인하지 않은 이용(게스트)
| 정보 | 어떻게 받나요 | 보관 |
| 게스트 ID, 자격 증명 해시, 게스트 공개 프로필 | 멀티플레이 기능을 처음 쓸 때 기기가 비밀을 만들고, 서버가 그 해시로 게스트 ID를 만듭니다. | 마지막 사용 후 30일 |
| 게스트 공개 이름 | 게스트 ID에서 계산하며, 이용자가 입력한 이름이 아닙니다. | 저장하지 않고 매번 계산 |
| 기기에 저장되는 게스트 자격 증명 | 기기가 만들어 브라우저 저장소에 둡니다. | 이용자가 지우거나 새 게스트로 바꿀 때까지 |
로그인하지 않은 게스트는 로컬 대전, AI 대전, 초대 대국을 할 수 있습니다. 다만 공개 대전과 자유 채팅은 쓸 수 없습니다. 게스트는 계정에 연결될 수 있지만, 계정이 없으면 전적이 쌓이지 않습니다.
1.3 대국 기록과 상호작용
| 정보 | 내용 |
| 대국 참가 정보 | 진영, 게스트 ID 또는 계정 ID, 참가 자격 증명 해시, 입장·기기 연결, 계정 이어받기 시도 |
| 공개 프로필 스냅숏 | 대국을 시작할 때 보여 준 공개 프로필. 계정 프로필을 바꾸면 갱신됩니다. |
| 대국 진행 기록 | 대국 상태, 수순, 체크포인트, 정규 트랜잭션, 안개(Fog) 시야 |
| 채팅·상호작용 | 자유 채팅(최대 280자), 빠른 메시지, 이모지, 무승부·재대국 제안과 동의 상태 |
| 대국 결과 | 승·패·무, 종료 사유, 종료 시각 |
| 턴 알림 | 푸시 구독 정보, 알림 이름, 발송 대기 기록 |
대국마다 최근 상호작용 200건을 남기고, 그보다 오래된 것은 지웁니다. 끝난 대국 기록은 대국 종료 90일 뒤 자동으로 삭제됩니다. 자세한 기간은 4절의 표에 있습니다.
계정을 삭제한 뒤: 탈퇴한 쪽의 계정 ID, 프로필, 기기 연결, 알림 구독, 알림 이름은 지웁니다. 수순·결과·채팅과 게스트 ID는 계정·프로필·기기 연결 없이 90일 동안 보관한 뒤 파기합니다. 이는 상대방의 대국 기록과 대국 연속성을 유지하기 위한 것입니다.
1.4 전적과 공개 로비
| 정보 | 내용 |
| 공개 대전 결과 | 승·패·무, 완주 여부, 종료 사유, 기록 시각 |
| 공개 전적 | 승률, 완주율, 현재·최다 연승, 최근 5판 결과. 상대 이름, 대국 날짜, 대국 ID는 표시하지 않습니다. |
| 공개 로비 게시물 | 방장 공개 프로필, 전장, 턴 시간, 상대 진영, 분 단위 대기 시간, 완주율, 2연승 이상 현재 연승, 신규 표시 |
| 공개 입장 티켓 | 방장·입장자 계정 또는 게스트 ID, 초대 자격 증명, 예약·청구 시각 |
| 차단 관계 | 차단한 계정 ID, 차단 당시 상대 프로필 스냅숏, 차단 시각 |
공개 로비 목록과 그 목록에서 연 전적은 로그인하지 않은 방문자도 볼 수 있습니다. 공개 로비 응답에는 방장 계정 ID, 게스트 ID, 초대 자격 증명, 방·대국 ID가 포함되지 않습니다.
1.5 신고 기능
게임 안에서 상대 닉네임이나 상대가 보낸 채팅을 신고할 수 있습니다. 신고가 접수되면 다음 정보를 처리합니다.
| 정보 | 내용 |
| 신고 내용 | 신고 종류(닉네임/채팅), 사유, 대상 상호작용 순번, 선택 메모(최대 280자) |
| 신고 증거 | 신고된 메시지 본문, 앞뒤 최대 5개 상호작용의 종류·진영·시각, 상대 공개 프로필, 대국 생명주기·공개 범위·전장 |
| 신고 처리 기록 | 신고자·대상·대국을 구분하는 암호화된 참조, 처리 상태, 중복 횟수, 생성·갱신 시각 |
| 운영 감사 | 증거 열람과 운영 조회 기록 |
신고 사건과 증거는 마지막 갱신 후 90일, 신고 시도·중복 방지 기록은 24시간, 신고 관련 감사 기록은 365일, 탈퇴 계정의 신고 삭제 표시는 30일 보관합니다.
처리 원칙: 운영자가 신고 내용과 증거를 확인하고 필요하면 직접 조치합니다. 개별 신고의 처리 결과는 신고자에게 따로 알리지 않습니다. 신고와 관련한 문의는 privacy@starglass.dev로 보내 주세요.
1.6 턴 알림과 운영 알림
| 정보 | 내용 |
| 대국 턴 알림 | 푸시 endpoint, 만료 시각, 암호화 키(p256dh, auth), 언어, 성공·실패 시각, 실패 횟수 |
| 대국별 알림 이름 | 상대 닉네임과 보드 크기로 앱이 만든 이름(최대 48자) |
| 발송 대기 기록 | endpoint 해시, 진영, 턴 번호, 알림 종류, 시도 횟수, 다음 시도 시각 |
| 운영 경보 알림 | 운영자 기기의 푸시 구독 정보(최대 4대), 경보 전달 기록 |
턴 알림은 이용자가 브라우저에서 알림을 허용하고 게임에서 켤 때만 등록합니다. 알림 내용은 Web Push 암호화 안에서 전달되며, 서버는 그 기기의 알림에만 사용합니다.
1.7 기기에 저장되는 정보
게임은 로그인 유지와 게임 기능을 위해 브라우저의 쿠키·localStorage·IndexedDB를 사용합니다.
| 저장 방식 | 담기는 정보 | 보관 |
쿠키 stc_account_refresh | 로그인 새로 고침 토큰. HttpOnly, Secure, SameSite=Lax, 30일 | 로그아웃하거나 30일이 지나면 만료 |
| localStorage | 게스트 자격 증명, 대국·방 재접속 정보, 로컬 자동 저장, 편성·군대 프리셋, 언어·테마·효과음·턴 시트 설정, 대국별 알림 설정, AI 앱 연결 정보, AI 방 소유자 자격 증명, 마지막으로 고른 AI 앱 | 이용자가 지우거나 새 값으로 바꿀 때까지. 일부는 30일 |
| IndexedDB | 수동 저장 슬롯, 알림 서비스 워커의 대국별 마지막 알림 번호와 차단 표시 | 이용자가 지울 때까지. 알림 번호는 8일 |
| 메모리 | 버그·불편 신고 작성 중인 글과 사진 미리보기 | 저장하지 않으며 페이지를 완전히 떠나면 사라짐 |
대국별 알림 설정은 최대 32개, 30일 동안 유지됩니다. 계정을 삭제해도 이 기기의 로컬 저장은 자동으로 지워지지 않습니다. 브라우저나 기기 저장소 설정에서 직접 지울 수 있습니다.
1.8 서버 로그와 운영 통계
| 정보 | 내용 | 보관 |
| 공개 멀티플레이 운영 지표 | 경로 종류, 결과, 허용된 사유 코드, 지연 시간, HTTP 상태 | Cloudflare Analytics Engine에서 약 3개월 |
| 서버 관측 로그 | 이벤트 이름, 경로 종류, 무작위 요청 ID, HTTP 상태, 실패 횟수 | Cloudflare Workers 로그에서 수일 |
| 요청 제한 키 | Cloudflare가 전달한 IP로 만든 요청 제한 키, 계정 ID 키 | Cloudflare Rate Limiting 정책에 따름 |
| 운영 대국 색인 | 대국 ID, 공개 범위, 생명주기, 생성·활성·완료·보존 예정 시각 | 대국 완료 후 90일 |
| 운영 감사 | 운영자·대상 참조, 조회 종류·결과, 관련 대국 수, 해시 체인, 시각 | 365일 |
IP 주소: 게임 애플리케이션은 IP 주소를 데이터베이스에 저장하지 않습니다. 요청 제한을 위한 키로만 사용합니다. Cloudflare의 Rate Limiting, Workers 로그, Access 로그가 처리하는 정보와 보관 기간은 Cloudflare의 정책과 설정에 따릅니다.
게임은 Cloudflare Web Analytics를 사용하지 않습니다. 별도의 웹 분석 비콘도 넣지 않습니다.
1.9 운영 화면에서 보는 정보
운영자는 Cloudflare Access(다중 인증)로 보호되는 운영 화면에서만 다음 정보를 조회합니다.
- 계정 존재 여부, 생성 시각, 공개 프로필, 대국 슬롯, 공개 완주·연승
- 대국 생명주기, 활성 진영, 수·리비전, 참가자 공개 프로필, 상호작용·트랜잭션 건수, 보존 예정 시각
- 운영 대국 색인과 운영 알림 구독
운영 화면은 채팅 본문이나 수순 본문을 요약에 포함하지 않습니다. 계정·대상 식별자는 암호화된 참조로 바꿔 표시합니다. 운영자의 조회는 감사 기록으로 남기며 365일 보관합니다.
2. 이용 목적과 처리 근거
게임은 다음 목적에 필요한 범위에서만 정보를 처리합니다.
| 목적 | 처리하는 정보 | 처리 근거 |
| 계정 식별, 로그인, 세션 유지 | 로그인 제공자, 발급자, 사용자 식별자, 내부 계정 ID, 세션 정보 | 서비스 제공 계약의 이행 |
| 클라우드 저장 동기화 | 클라우드 저장, 슬롯, 프리셋 | 서비스 제공 계약의 이행 |
| 대국 진행·기록·재접속·복구 | 대국 참가 정보, 수순, 체크포인트, 안개 시야, 결과 | 서비스 제공 계약의 이행 |
| 공개 로비·전적·공개 프로필 표시 | 공개 프로필, 공개 대전 결과, 전적, 로비 게시물 | 서비스 제공 계약의 이행 |
| 채팅 전달과 차단 | 채팅·상호작용, 차단 관계 | 서비스 제공 계약의 이행 |
| 신고 접수·검토 | 신고 내용·증거·처리 기록 | 운영자의 정당한 이익(이용자 보호) |
| 보안, 부정 이용·남용 방지, 요청 제한, 채팅 필터 | 접속·요청 정보, 요청 제한 키, 자격 증명, 채팅 내용, 감사 기록 | 운영자의 정당한 이익 |
| 운영 통계, 장애 대응, 서비스 개선 | 운영 지표, 서버 로그, 운영 대국 색인 | 운영자의 정당한 이익 |
| 턴 알림 | 푸시 구독 정보, 알림 이름, 발송 기록 | 이용자의 동의 |
| 외부 AI 앱 연결 | AI 앱 연결 정보, 지정된 대국 좌석 정보 | 이용자의 동의 |
법령상 의무를 위해 별도로 보관하는 기록: 현재는 없습니다. 법령에 따라 보관이 필요한 기록이 생기면 그 범위에서만 보관합니다.
동의를 철회하려면: 푸시 알림은 게임 설정이나 브라우저 권한에서 끄고, 외부 AI 앱 연결은 계정 화면에서 해제할 수 있습니다. 자유 채팅은 대국 화면에서 끌 수 있습니다. 동의를 철회해도 철회 전 처리의 적법성에는 영향을 주지 않습니다.
정당한 이익: 운영자는 보안과 남용 방지를 위해 필요한 최소 범위에서만 정보를 처리하며, 이용자의 권리와 자유가 우선하는 경우에는 그 처리를 하지 않습니다.
하지 않는 일: 게임은 개인정보를 판매하거나, 행태 광고·프로파일링을 위해 사용하거나, 광고 네트워크에 제공하지 않습니다.
3. 다른 사람에게 보이는 정보
3.1 공개 대전에 참여하면
공개 대전에 참여하면 다음 정보가 다른 플레이어와 로그인하지 않은 방문자에게 보일 수 있습니다.
- 공개 프로필의 이름, 엠블럼, 색
- 공개 대전의 승·패·무, 승률, 완주율, 현재·최다 연승, 최근 5판 결과
- 공개 로비의 전장, 턴 시간, 상대 진영, 분 단위 대기 시간, 신규 표시, 현재 연승
- 대국 상대에게는 그 대국의 수순, 결과, 양쪽이 동의한 범위의 채팅
공개 대전에 참여하는 것은 위 정보가 공개되는 방식에 대한 안내이며, 별도의 동의를 받는 절차가 아닙니다. 게임 안의 "공개되는 정보" 안내에서도 같은 내용을 확인할 수 있습니다.
3.2 다른 사람에게 보이지 않는 정보
- 이메일 주소. 게임 서버는 저장하지 않습니다.
- Google·Apple 로그인 발급자와 사용자 식별자, 내부 계정 ID, 로그인 토큰
- 클라우드 저장과 로컬 게임
- 차단 목록. 차단된 사람에게 따로 알리지 않습니다.
- 운영 화면의 조회 기록과 내부 참조
3.3 채팅·차단·신고
- 자유 채팅은 로그인하여 연령 확인을 마친 이용자끼리만 쓸 수 있습니다.
- 공개 대전의 자유 채팅은 두 사람이 모두 켜야 열립니다. 빠른 메시지(프리셋)와 이모지는 언제나 쓸 수 있습니다.
- 초대 대국은 두 사람이 모두 로그인했다면 자유 채팅이 켜진 채 시작하며, 둘 중 누구든 끌 수 있습니다.
- 자유 채팅을 끄면 새 메시지만 막고, 이미 보낸 메시지는 남습니다.
- 로그인한 플레이어는 대국 화면에서 상대를 차단할 수 있습니다. 차단해도 진행 중인 대국이 끝나거나 기존 메시지가 지워지지는 않습니다.
- 서버는 예약명·욕설·유사 문자로 위장한 공개 닉네임을 거절하고, 자유 채팅에서 감지한 욕설과 위험한 문자를 정제합니다. 자동 필터는 유해 표현을 놓치거나 정상 문장을 바꿀 수 있습니다.
- 신고 기능을 이용할 수 있습니다. 신고 내용·증거·처리 기록은 1.5절에 적은 범위에서 처리합니다.
4. 보관 기간과 파기
4.1 주요 보관 기간
| 정보 | 보관 기간 |
| 계정, 공개 프로필, 클라우드 저장, 전적 | 계정이 있는 동안 |
| 로그인 접속 토큰 / 새로 고침 토큰 | 15분 / 30일 |
| 게스트 정보 | 마지막 사용 후 30일 |
| 완료 대국 기록(수순·결과·채팅 포함) | 대국 종료 후 90일 |
| 대국별 상호작용 | 최근 200건. 대국과 함께 90일 |
| 공개 로비 게시물 | 기기 연결이 끊긴 뒤 약 1분 |
| 공개 입장 티켓 | 예약 45초, 정리 약 5분 |
| 방 | 대기 1시간, 진행 7일, 준비·대체 5분 |
| 초대 세션 | 최대 7일 |
| 대국 턴 알림 | 대국과 함께 90일 |
| 운영 경보 알림 | 마지막 갱신 후 90일, 최대 4대 |
| AI 앱 연결 | 30일 |
| 계정 삭제 완료 기록 | 24시간 |
| 신고 사건·증거 | 마지막 갱신 후 90일 |
| 신고 시도·중복 방지 | 24시간 |
| 신고 관련 감사 | 365일 |
| 신고 삭제 표시 | 30일 |
| 운영 감사 | 365일 |
| 운영 대국 색인 | 대국 완료 후 90일. 재시도 기록은 최대 약 2일 |
| Cloudflare Workers 로그 | 수일 |
| Cloudflare Analytics Engine 운영 지표 | 약 3개월 |
| 기기 로컬 저장 | 이용자가 지울 때까지. 대국별 알림 설정은 30일, 알림 번호는 8일 |
기간이 지나면 데이터베이스에서 행을 삭제하고, 게스트처럼 더 이상 필요 없는 저장 공간은 통째로 정리합니다. Cloudflare의 물리 저장 매체와 백업에서의 파기는 Cloudflare의 정책과 보관 기간에 따릅니다.
4.2 계정 탈퇴
게임 안 계정 화면의 "계정 삭제" 또는 웹 주소 /account-delete에서 탈퇴할 수 있습니다. 탈퇴하면 다음 정보가 지워집니다.
- 로그인 연결과 제공자 식별자, 내부 계정 ID
- 공개 프로필과 기기 게시본, 계정 프로필 스냅숏
- 클라우드 저장, 대국 참조, 기기 연결과 연결 이력
- 본인 전적 원장과 차단 관계
- 계정 세션과 AI 앱 연결
- 대국 알림 구독과 알림 이름
완료 대국: 탈퇴한 쪽의 계정·프로필·기기 연결을 지운 대국 기록은 90일 동안 보관한 뒤 파기합니다. 이 기간에는 수순·결과·채팅이 남지만, 탈퇴한 이용자의 계정 ID와 프로필로 연결되지는 않습니다.
기기 로컬 저장: 서버 데이터만 지우며, 이 브라우저나 기기에 이미 저장된 게임과 설정은 남습니다. 브라우저나 기기 저장소 설정에서 직접 지워 주세요.
일부 정리가 지연되면 서버가 자동으로 다시 시도합니다. 탈퇴 요청이 접수된 뒤에는 화면을 닫아도 재시도가 이어집니다.
4.3 파기의 한계
- 오랫동안 다시 열리지 않은 완료 대국은 자동 파기 시점이 늦어질 수 있습니다. 다음에 그 대국이 열리면 만료 여부를 다시 확인해 파기합니다.
- 상대방의 전적 원장에 남은 연결 정보는 그 원장이 다음에 열릴 때 정리됩니다. 한 번도 열리지 않는 원장에는 일시적으로 남을 수 있습니다.
- 이미 다른 사람이 보거나 복사한 정보는 회수할 수 없습니다.
- Cloudflare의 백업·복제본에서의 파기는 Cloudflare의 정책과 보관 기간에 따릅니다.
5. 정보를 받는 회사와 서비스
| 받는 곳 | 역할 | 받는 정보 | 비고 |
| Cloudflare(Workers, Durable Objects, Analytics Engine, Access, Rate Limiting) | 처리 위탁(수탁자) | 이 방침 1절에 적은 서버 저장 정보, 운영 지표, 요청 제한 키, 운영자 접근 기록 | 게임 서버 실행, 저장, 보안, 운영 화면 보호 |
| Google 로그인 | 이용자가 고른 로그인 수단. 자기 처리의 독립 책임자 | Google 계정 식별자, 로그인 토큰 | 게임 서버는 발급자와 사용자 식별자만 받습니다. 이메일은 저장하지 않습니다. |
| Apple 로그인 | 이용자가 고른 로그인 수단. 자기 처리의 독립 책임자 | Apple 계정 식별자, 로그인 토큰 | 게임 서버는 발급자와 사용자 식별자만 받습니다. 이메일은 저장하지 않습니다. |
| Web Push 서비스 제공자(브라우저·운영체제 제공자) | 알림 전송 서비스 | 푸시 endpoint, 암호화 키, 알림 제목·본문, 대국 알림 이름 | 브라우저가 만든 endpoint로 전송합니다. |
| 이용자가 연결한 외부 AI 앱 | 이용자 요청에 따른 제공. 그 앱 사업자가 독립 책임자 | OAuth 연결 정보, 지정된 대국 좌석의 대국 정보 | 이용자가 동의 화면에서 승인한 범위만 전달합니다. |
게임은 개인정보를 판매하지 않습니다. 광고 네트워크나 데이터 판매 사업자에게 정보를 제공하지 않습니다.
6. 국외 이전
| 받는 곳 | 이전 국가 | 이전 항목 | 근거 |
| Cloudflare | 전 세계 네트워크. 미국 등 Cloudflare 데이터센터가 있는 국가 | 이 방침 1절에 적은 서버 저장 정보, 운영 지표, 요청 제한 키, 운영자 접근 기록 | 서비스 제공 계약의 이행에 필요하며, 이 방침에서 공개합니다. |
| Google | Google이 처리하는 국가 | Google 로그인 과정에서 처리되는 정보 | 이용자가 Google 로그인을 선택할 때 |
| Apple | Apple이 처리하는 국가 | Apple 로그인 과정에서 처리되는 정보 | 이용자가 Apple 로그인을 선택할 때 |
| Web Push 서비스 제공자 | 브라우저·운영체제 제공자의 국가 | 푸시 endpoint, 알림 내용 | 알림을 켠 기기로 전송할 때 |
| 외부 AI 앱 사업자 | 그 사업자가 처리하는 국가 | 지정된 대국 좌석의 대국 정보, 연결 정보 | 이용자가 AI 앱 연결을 승인할 때 |
서비스를 이용하면 게임 데이터가 네트워크를 통해 Cloudflare의 전 세계 인프라로 전송됩니다. Cloudflare가 실제로 데이터를 저장하는 국가는 대국·계정 객체가 만들어진 위치에 따라 달라질 수 있으며, 미국 등 Cloudflare 데이터센터가 있는 국가가 포함됩니다. 이전 시기와 방법은 서비스를 이용할 때마다 네트워크로 수시 전송이며, 보관 기간은 4절과 같습니다. Cloudflare의 정식 명칭은 Cloudflare, Inc.(미국)입니다.
Google·Apple·Web Push·외부 AI 앱은 이용자가 해당 기능을 선택해 이용할 때만 정보가 전송됩니다. 각 사의 처리와 국외 이전에는 그 사의 약관과 개인정보 처리방침이 적용됩니다. Cloudflare에는 운영자의 계약과 보안 조치가 적용됩니다.
EU 대리인: 운영자는 EU 대리인을 별도로 두지 않습니다. EU·영국 이용자도 privacy@starglass.dev로 문의하고 권리를 행사할 수 있습니다.
7. 이용자의 권리와 행사 방법
| 권리 | 행사 방법 |
| 삭제(탈퇴) | 게임 안 계정 화면의 "계정 삭제" 또는 웹 주소 /account-delete에서 즉시 요청할 수 있습니다. |
| 열람(사본), 정정, 처리정지, 이전 | privacy@starglass.dev로 요청해 주세요. |
| 동의 철회 | 푸시 알림은 게임 설정이나 브라우저 권한에서, 외부 AI 앱 연결은 계정 화면에서, 자유 채팅은 대국 화면에서 철회할 수 있습니다. |
| 차단·차단 해제 | 대국 화면과 계정의 차단 목록에서 할 수 있습니다. |
| 대리인·보호자 요청 | privacy@starglass.dev로 요청해 주세요. |
| EU·영국 감독기관 민원 | 거주국의 개인정보 감독기관에 민원을 낼 수 있습니다. |
본인 확인: 계정 화면에 로그인한 상태에서 요청 내용을 확인하는 방식 등 합리적인 방법으로 본인 여부를 확인합니다. 대리인이나 보호자의 요청은 이메일로 받고, 필요한 경우 관계를 확인할 수 있는 자료를 요청할 수 있습니다.
답변 기한: 요청을 받은 날부터 10일 이내에 답변합니다. 추가 확인이 필요하면 그 사실과 이유를 알려 드립니다.
게스트: 계정이 없는 게스트는 탈퇴할 계정이 없습니다. 게스트 정보는 마지막 사용 후 30일 뒤 만료되며, 기기의 게스트 자격 증명은 브라우저 저장소에서 직접 지울 수 있습니다. 게스트 정보의 삭제를 원하면 privacy@starglass.dev로 요청해 주세요.
공개 정보: 계정을 삭제하면 공개 로비 게시물, 전적, 프로필은 지워지지만, 이미 다른 사람이 보거나 복사한 정보는 회수할 수 없습니다. 완료 대국 기록은 계정 연결 없이 90일 동안 남습니다.
8. 아동·청소년 보호
8.1 만 14세 미만은 계정을 만들 수 없습니다
전 세계 공통으로 만 14세 미만은 계정을 만들거나 계정을 연결할 수 없습니다. 이 기준은 한국의 만 14세, 미국 COPPA의 13세 미만 아동 보호, EU·영국의 아동 보호 기준을 함께 고려한 보수적인 기준입니다.
계정을 연결할 때는 중립적인 생년 확인 화면에서 태어난 해(필수)와 태어난 달(선택)을 입력받습니다.
- 입력한 생년은 기기에서만 계산합니다.
- 서버에는 적격 여부와 정책 버전만 보냅니다.
- 태어난 해와 달은 서버, 로그, 저장소에 저장하지 않습니다.
- 화면에는 "실제 태어난 해를 입력해 주세요. 만 14세 미만은 계정을 만들 수 없어요."라고 안내합니다.
운영자는 만 14세 미만 아동의 정보를 법정대리인 동의로 수집하는 절차를 두지 않습니다. 만 14세 미만은 가입 자체를 막는 방식으로 보호합니다. 정책 버전이 바뀌면 다시 확인을 받습니다.
8.2 게스트 이용 범위
로그인하지 않은 게스트는 로컬 대전, AI 대전, 초대 대국을 할 수 있습니다. 다만 자유 채팅과 공개 대전은 쓸 수 없습니다. 이 제한은 연령 확인을 마치지 않은 이용자가 공개 공간에서 다른 사람과 소통하지 않도록 하기 위한 것입니다.
8.3 만 14세 미만의 정보가 수집된 것을 알게 되면
운영자는 만 14세 미만 아동의 정보가 수집된 것을 알게 되면 지체 없이 삭제합니다. 보호자는 privacy@starglass.dev로 삭제를 요청할 수 있습니다.
8.4 미국 COPPA
게임은 13세 미만 아동을 대상으로 하지 않으며, 13세 미만 아동의 개인정보를 고의로 수집하지 않습니다. 13세 미만 아동의 정보가 수집된 것을 알게 되면 지체 없이 삭제합니다. 미국 이용자도 같은 기준(만 14세 미만 계정 불가)이 적용됩니다.
9. 쿠키와 기기 저장소
9.1 게임이 직접 쓰는 쿠키와 저장소
| 구분 | 내용 |
| 필수 쿠키 | stc_account_refresh 하나. 로그인 유지에 필요하며 30일 뒤 만료됩니다. |
| 기능용 localStorage·IndexedDB | 게스트 자격 증명, 대국 재접속, 로컬 저장, 프리셋, 설정, 알림 설정, AI 앱 연결 정보 |
| 광고·추적 쿠키 | 없습니다. |
| 분석 비콘 | 없습니다. 게임은 Cloudflare Web Analytics를 사용하지 않습니다. |
게임이 직접 쓰는 쿠키는 로그인 유지에 필요한 stc_account_refresh 하나뿐입니다. 나머지는 모두 게임 기능을 위한 localStorage·IndexedDB입니다.
9.2 외부 로그인 과정의 쿠키
Google·Apple 로그인을 사용할 때 각 사의 로그인 화면과 SDK가 자체 쿠키나 저장소를 사용할 수 있습니다. 이는 각 사의 처리이며, 각 사의 개인정보 처리방침이 적용됩니다.
9.3 거부 방법
브라우저 설정에서 쿠키·localStorage·IndexedDB를 차단하거나 삭제할 수 있습니다. 다만 이 경우 로그인 유지, 클라우드 저장, 대국 재접속, 게스트 자격 증명, 알림 설정이 동작하지 않을 수 있습니다.
- 로그아웃하면 세션은 폐기되지만 로컬 저장은 남습니다.
- 알림은 브라우저 권한을 거부하거나 대국별로 끌 수 있습니다.
- 자유 채팅은 대국 화면에서 끌 수 있습니다.
- 계정을 삭제해도 로컬 저장은 남으므로 브라우저나 기기 저장소 설정에서 직접 지워 주세요.
9.4 Do Not Track / Global Privacy Control
게임은 개인정보를 판매하거나 행태 광고에 사용하지 않습니다. 따라서 Do Not Track이나 Global Privacy Control 신호에 따라 별도로 달라지는 판매·공유 처리가 없습니다. 브라우저가 보내는 DNT·GPC 신호를 별도로 읽어 다른 처리를 하지도 않습니다.
10. 안전성 확보 조치
- 전송 구간: 서비스는 HTTPS로 제공됩니다.
- 토큰: 서버에는 세션 토큰 원문이 아니라 해시를 저장합니다. 새로 고침 토큰은 HttpOnly·Secure·SameSite=Lax 쿠키로 전달합니다.
- 접근 통제: 운영 화면은 Cloudflare Access와 다중 인증으로 보호합니다. 운영자는 필요한 최소 범위만 조회합니다.
- 권한 분리: 운영·유지보수·신호 처리 역할을 분리해 필요한 기능만 열어 둡니다.
- 감사: 운영자의 계정·대국 조회와 증거 열람을 기록하고 365일 보관합니다.
- 요청 제한: IP와 계정 기준으로 방 생성, 로비 목록, 입장, 계정 요청을 제한합니다.
- 로그 최소화: 방 ID, 예외 원문, 외부 응답 본문을 로그에 남기지 않습니다. 운영 통계에는 허용된 사유 코드만 넣습니다.
- 브라우저 보호: 콘텐츠 보안 정책(CSP), 프레임 차단, 출처 제한, 권한 제한 헤더를 적용합니다.
- 데이터 최소화: 이메일 미저장, 상대 계정 ID 신규 저장 중단, 공개 응답 필드 고정, 대국별 상호작용 200건 제한을 적용합니다.
11. 운영자의 접근
운영자는 본인이 Cloudflare Access(다중 인증)로 보호된 운영 화면에서만 계정·대국 정보를 조회합니다. 조회 범위는 운영에 필요한 최소 범위로 제한되며, 운영 화면은 채팅 본문과 수순 본문을 요약에 포함하지 않습니다. 운영자의 조회 기록은 365일 동안 보관합니다.
12. 외부 AI 앱 연결
이용자는 ChatGPT·Claude 등 외부 AI 앱을 OAuth로 연결해 지정된 대국 좌석에서 플레이하게 할 수 있습니다.
- 연결할 때 OAuth 동의 화면에서 접근 범위를 확인하고 승인합니다.
- AI 앱은 지정된 대국 좌석의 대국 정보에만 접근합니다.
- 이용자는 계정 화면에서 언제든 연결을 해제할 수 있습니다.
- AI 앱 사업자는 그 앱의 처리에 대해 독립적인 책임을 지며, 그 사업자의 개인정보 처리방침이 적용됩니다.
- AI 앱에 전달되는 정보는 그 사업자의 국가로 이전될 수 있습니다.
13. 처리방침의 변경
이 처리방침의 시행일은 2026-10-19입니다. 변경된 처리방침은 이 페이지에 시행일과 함께 게시합니다.
이용자의 권리나 처리하는 정보, 보관 기간, 정보를 받는 곳에 중요한 변경이 있으면 시행 7일 전에 게임 안에서 알립니다. 법령에서 별도의 동의를 요구하는 변경은 그에 따른 절차를 따릅니다.
14. 문의처
문의는 10일 이내에 답변합니다. EU·영국 이용자는 거주국의 개인정보 감독기관에 민원을 낼 수 있습니다.
지역별 추가 안내
한국(개인정보 보호법)
- 운영자는 이용자의 개인정보 열람, 정정, 삭제, 처리정지 요구를 받고 10일 이내에 답변합니다.
- 만 14세 미만 아동은 계정을 만들 수 없으며, 법정대리인 동의를 받아 가입하는 절차를 운영하지 않습니다.
- 개인정보 관련 문의와 권리 행사는 privacy@starglass.dev로 받습니다.
EU·영국(GDPR/UK GDPR)
- 처리 근거는 2절의 표와 같습니다. 계약 이행, 정당한 이익, 동의를 구분해 적었습니다.
- 이용자는 열람, 정정, 삭제, 처리정지, 이전, 동의 철회, 감독기관 민원의 권리를 가집니다.
- 국외 이전은 6절에 적었습니다. 운영자는 EU 대리인을 별도로 두지 않으며, 문의는 privacy@starglass.dev로 받습니다.
- EU·영국 이용자는 거주국의 감독기관에 민원을 낼 수 있습니다.
미국(COPPA 등)
- 게임은 13세 미만 아동을 대상으로 하지 않으며, 13세 미만 아동의 개인정보를 고의로 수집하지 않습니다.
- 만 14세 미만은 계정을 만들 수 없습니다.
- 게임은 개인정보를 판매하거나 행태 광고에 사용하지 않습니다.
- 13세 미만 아동의 정보가 수집된 것을 알게 되면 지체 없이 삭제합니다.
↑ 한국어 처음으로
Wargame Chess Privacy Policy
This policy explains what information Wargame Chess collects, why we use it, how long we keep it, and who we share it with. Please read it before you play. We have avoided legal jargon where we can, and we have put the most important points in tables.
The Korean and English versions are maintained to say the same thing. If the two versions appear to differ, please contact privacy@starglass.dev.
At a glance
- You sign in with a Google or Apple account. The game server stores only the issuer and user identifier that the sign-in provider gives us. We do not store your email address or a password.
- We process account, match, record and chat information to run the game and keep its records.
- We process information in the limited scope needed for security, abuse prevention, chat filtering and incident response.
- Push notifications and external AI app connections happen only when you choose them.
- If you play a public match, your public profile and record can be seen by other players and by visitors who are not signed in. This is a notice about how public play works, not a separate consent step.
- Reports are available. We process and retain report content, evidence and handling records as described in section 1.5.
- Children under 14 cannot create or link an account, worldwide. Your birth year is checked only on your device and is not stored on the server.
- You can delete your account immediately in the game. For other rights requests, contact privacy@starglass.dev.
1. What we collect and how we receive it
1.1 Account and sign-in
| Information | How we receive it | Retention |
| Sign-in provider (Google/Apple), issuer, user identifier | When you finish signing in, the server verifies the token and stores only the issuer and user identifier. | While the account exists |
| Internal account ID | Randomly generated by the server. | While the account exists |
| Public profile (name of 2–16 characters, emblem, colour) | You enter or choose it in the account screen. | While the account exists |
| Sign-in session information and token hashes | The server issues a session when you sign in. It stores hashes, not the original tokens. | Access token 15 minutes; refresh token 30 days |
| Cloud saves (autosave, slots, unit and army presets) | Your device sends them to the server when you save. | While the account exists |
| Match references linked to the account | Recorded when you join or resume a match with your account. | While the account exists |
| Devices that displayed your public profile and the link history | Recorded when a signed-in device links a guest profile to your account. | 30 days after the last link |
| AI app connection information (connection name, seat, scope, token hash, expiry) | Issued and stored when you approve an external AI app connection. | Connection 30 days; access token 15 minutes |
| Account deletion progress and completion records | Recorded while a deletion request is processed. | 24 hours after completion |
Email address: The game server does not store your email address even if the sign-in token contains one. Information that Google or Apple processes in its own sign-in flow is governed by that company's privacy policy.
Password: The game does not create its own password. It uses Google or Apple sign-in only.
Provider tokens: The game server does not keep Google or Apple access or refresh tokens. It issues only game session tokens and stores them as hashes.
1.2 Playing without signing in (guest)
| Information | How we receive it | Retention |
| Guest ID, credential hash, guest public profile | When you first use a multiplayer feature, your device creates a secret and the server derives a guest ID from its hash. | 30 days after last use |
| Guest public name | Calculated from the guest ID. It is not a name you entered. | Not stored; calculated each time |
| Guest credential stored on the device | Created by the device and kept in browser storage. | Until you delete it or switch to a new guest |
A guest who is not signed in can play local matches, AI matches and invited matches. A guest cannot use public matches or free chat. A guest can be linked to an account, but without an account no record is kept.
1.3 Match records and interactions
| Information | Details |
| Match participation | Side, guest ID or account ID, participation credential hash, entry and device links, account handoff attempts |
| Public profile snapshot | The public profile shown when the match starts. It is updated when the account profile changes. |
| Match progress | Match state, moves, checkpoints, canonical transactions, fog of war vision |
| Chat and interactions | Free chat (up to 280 characters), quick messages, emoji, draw and rematch offers and their consent state |
| Match result | Win, loss or draw, end reason, end time |
| Turn notifications | Push subscription information, notification name, delivery queue |
Each match keeps its latest 200 interactions and deletes older ones. A finished match record is automatically deleted 90 days after the match ends. The full retention table is in section 4.
After you delete your account: We remove the deleted player's account ID, profile, device links, notification subscription and notification name. Moves, results, chat and the guest ID remain without the account, profile or device links for 90 days and are then destroyed. This preserves the opponent's match record and continuity.
1.4 Records and the public lobby
| Information | Details |
| Public match result | Win, loss or draw, whether the match was completed, end reason, recorded time |
| Public record | Win rate, completion rate, current and best win streaks, last five results. Opponent names, match dates and match IDs are not shown. |
| Public lobby listing | Host's public profile, battlefield, turn time, opponent side, wait time to the minute, completion rate, current streak of two or more wins, new-player tag |
| Public entry ticket | Host and entrant account or guest ID, invitation credential, reservation and claim times |
| Block relationship | Blocked account ID, profile snapshot at the time of blocking, block time |
Anyone, including a visitor who is not signed in, can see the public lobby list and a record opened from that list. The public lobby response does not include the host's account ID, guest ID, invitation credential or room/match ID.
1.5 Reports
You can report another player's nickname or a chat message they sent from within the game. When a report is received, we process the following information.
| Information | Details |
| Report content | Report type (name/chat), reason, interaction sequence number, optional note (up to 280 characters) |
| Report evidence | The reported message text, up to five surrounding interactions (type, side, time), the other player's public profile, and match lifecycle, visibility and battlefield |
| Report handling record | Encrypted references identifying the reporter, subject and match, status, duplicate count, creation and update times |
| Operations audit | Evidence access and operations review records |
Report cases and evidence are kept for 90 days after the last update, report attempts and duplicate-prevention records for 24 hours, related audit records for 365 days, and the deletion marker for a deleted account for 30 days.
How we handle reports: An operator reviews the report content and evidence and takes action directly where needed. We do not tell the reporter the outcome of an individual report. Questions about reports go to privacy@starglass.dev.
1.6 Turn notifications and operations alerts
| Information | Details |
| Match turn notifications | Push endpoint, expiry, encryption keys (p256dh, auth), locale, success and failure times, failure count |
| Per-match notification name | A name created by the app from the opponent's nickname and board size (up to 48 characters) |
| Delivery queue | Endpoint hash, side, turn number, notification type, attempt count, next attempt time |
| Operations alert notifications | Push subscriptions for operator devices (up to 4) and alert delivery records |
Turn notifications are registered only when you allow notifications in your browser and turn them on in the game. Notification content is delivered inside Web Push encryption, and the server uses it only for that device's notification.
1.7 Information stored on your device
The game uses browser cookies, localStorage and IndexedDB to keep you signed in and to run game features.
| Storage | Information | Retention |
Cookie stc_account_refresh | Sign-in refresh token. HttpOnly, Secure, SameSite=Lax, 30 days | Expires on sign-out or after 30 days |
| localStorage | Guest credential, match and room recovery information, local autosave, unit and army presets, language, theme, sound and turn-sheet settings, per-match notification settings, AI app connection information, AI room owner credentials, last selected AI app | Until you delete it or replace it. Some items last 30 days |
| IndexedDB | Manual save slots, the notification service worker's last notification number and block markers per match | Until you delete it. Notification numbers last 8 days |
| Memory | A bug or feedback draft and photo preview | Not stored; lost when you fully leave the page |
Per-match notification settings are kept for up to 32 matches and for 30 days. Deleting your account does not automatically clear local storage on this device. You can clear it in your browser or device storage settings.
1.8 Server logs and operations metrics
| Information | Details | Retention |
| Public multiplayer operations metrics | Route type, result, allowed reason code, latency, HTTP status | About 3 months in Cloudflare Analytics Engine |
| Server observation logs | Event name, route type, random request ID, HTTP status, failure count | A few days in Cloudflare Workers logs |
| Request-limit keys | Request-limit key derived from the IP that Cloudflare provides, and account-ID keys | Per Cloudflare Rate Limiting policy |
| Operations match index | Match ID, visibility, lifecycle, creation, activity, completion and scheduled-retention times | 90 days after the match completes |
| Operations audit | Operator and subject references, review type and result, related match count, hash chain, time | 365 days |
IP address: The game application does not store IP addresses in its database. It uses them only as request-limit keys. Information processed by Cloudflare Rate Limiting, Workers logs and Access logs, and its retention, are governed by Cloudflare's policy and configuration.
The game does not use Cloudflare Web Analytics. It does not add a separate web analytics beacon.
1.9 Information seen in the operations screen
An operator reviews the following only in an operations screen protected by Cloudflare Access with multi-factor authentication.
- Whether an account exists, its creation time, public profile, match slots, and public completion and win-streak counts
- Match lifecycle, active side, move and revision counts, participant public profiles, interaction and transaction counts, scheduled retention time
- Operations match index and operations alert subscriptions
The operations screen does not include chat text or move text in its summaries. Account and subject identifiers are replaced with encrypted references. Operator reviews are recorded in an audit log kept for 365 days.
2. Purposes and legal bases
We process information only as needed for the following purposes.
| Purpose | Information | Legal basis |
| Account identification, sign-in, session maintenance | Sign-in provider, issuer, user identifier, internal account ID, session information | Performance of the service contract |
| Cloud save sync | Cloud saves, slots, presets | Performance of the service contract |
| Match play, records, reconnection and recovery | Match participation, moves, checkpoints, fog vision, results | Performance of the service contract |
| Public lobby, records and public profile display | Public profile, public match results, records, lobby listings | Performance of the service contract |
| Chat delivery and blocking | Chat and interactions, block relationships | Performance of the service contract |
| Receiving and reviewing reports | Report content, evidence and handling records | Our legitimate interests (protecting users) |
| Security, abuse prevention, rate limiting, chat filtering | Access and request information, request-limit keys, credentials, chat content, audit records | Our legitimate interests |
| Operations metrics, incident response, service improvement | Operations metrics, server logs, operations match index | Our legitimate interests |
| Turn notifications | Push subscription information, notification name, delivery records | Your consent |
| External AI app connection | AI app connection information, designated match seat information | Your consent |
Records kept for a legal obligation: None at present. If a law requires us to keep a record, we will keep it only to the extent required.
Withdrawing consent: You can turn off push notifications in the game settings or browser permissions, disconnect an external AI app in the account screen, and turn off free chat in the match screen. Withdrawing consent does not affect the lawfulness of processing before the withdrawal.
Legitimate interests: We process only the minimum information needed for security and abuse prevention, and we do not process it where your rights and freedoms override those interests.
What we do not do: We do not sell personal information, use it for behavioural advertising or profiling, or provide it to advertising networks.
3. Information other people can see
3.1 When you play a public match
If you play a public match, the following can be seen by other players and by visitors who are not signed in.
- Your public profile name, emblem and colour
- Your public match wins, losses and draws, win rate, completion rate, current and best win streaks, and last five results
- The public lobby's battlefield, turn time, opponent side, wait time to the minute, new-player tag and current win streak
- Your opponent can see the match's moves, result and chat to the extent both players allowed it
Playing a public match is notice that this information is public, not a separate consent step. The in-game "What others see" notice describes the same information.
3.2 Information other people cannot see
- Your email address. The game server does not store it.
- Your Google or Apple issuer and user identifier, internal account ID and sign-in tokens
- Cloud saves and local games
- Your block list. A blocked player is not told.
- Operations review records and internal references
3.3 Chat, blocking and reports
- Free chat is available only between signed-in users who have completed the age check.
- In a public match, free chat opens only when both players turn it on. Quick messages (presets) and emoji always work.
- An invited match starts with free chat on when both players are signed in, and either player can turn it off.
- Turning free chat off stops new messages but does not delete messages already sent.
- A signed-in player can block an opponent from the match screen. Blocking does not end the current match or delete existing messages.
- The server rejects reserved, profane or visually disguised public names, and masks recognised profanity and unsafe characters in free chat. Automated filtering can miss harmful language or change legitimate text.
- Reports are available. Report content, evidence and handling records are processed as described in section 1.5.
4. Retention and deletion
4.1 Main retention periods
| Information | Retention |
| Account, public profile, cloud saves, record | While the account exists |
| Sign-in access token / refresh token | 15 minutes / 30 days |
| Guest information | 30 days after last use |
| Completed match record (including moves, result and chat) | 90 days after the match ends |
| Per-match interactions | Latest 200; kept with the match for 90 days |
| Public lobby listing | About 1 minute after the device stops responding |
| Public entry ticket | 45-second reservation; cleanup about 5 minutes |
| Room | Waiting 1 hour, active 7 days, provisional or superseded 5 minutes |
| Invitation session | Up to 7 days |
| Match turn notifications | 90 days with the match |
| Operations alert notifications | 90 days after the last update, up to 4 devices |
| AI app connection | 30 days |
| Account deletion completion record | 24 hours |
| Report case and evidence | 90 days after the last update |
| Report attempts and duplicate prevention | 24 hours |
| Report-related audit | 365 days |
| Report deletion marker | 30 days |
| Operations audit | 365 days |
| Operations match index | 90 days after the match completes. Retry records up to about 2 days |
| Cloudflare Workers logs | A few days |
| Cloudflare Analytics Engine operations metrics | About 3 months |
| Device local storage | Until you delete it. Per-match notification settings 30 days; notification numbers 8 days |
When a period ends, we delete the rows from the database and clear storage that is no longer needed, such as guest storage. Destruction from Cloudflare's physical storage media and backups follows Cloudflare's policy and retention periods.
4.2 Deleting your account
You can delete your account from "Delete account" in the in-game account screen or at the web address /account-delete. Deleting your account removes:
- Sign-in links and provider identifiers, and the internal account ID
- The public profile and its device-published copies, and account profile snapshots
- Cloud saves, match references, device links and link history
- Your own record ledger and block relationships
- Account sessions and AI app connections
- Match notification subscriptions and notification names
Completed matches: A completed match record with the deleted player's account, profile and device links removed is kept for 90 days and then destroyed. Moves, results and chat remain during that period, but they are no longer linked to the deleted player's account ID or profile.
Local storage on your device: We delete only server data. Games and settings already stored in this browser or device remain. Please clear them in your browser or device storage settings.
If some cleanup is delayed, the server retries automatically. After a deletion request is accepted, retries continue even if you close the screen.
4.3 Limits of deletion
- A completed match that is not opened for a long time may be destroyed later than scheduled. When the match is next opened, expiry is checked again and the record is destroyed.
- Link information left in an opponent's record ledger is cleaned up the next time that ledger is opened. It may remain temporarily in a ledger that is never opened.
- We cannot recall information that another person has already seen or copied.
- Destruction from Cloudflare backups and replicas follows Cloudflare's policy and retention periods.
5. Companies and services that receive information
| Recipient | Role | Information received | Notes |
| Cloudflare (Workers, Durable Objects, Analytics Engine, Access, Rate Limiting) | Processor | Server-stored information described in section 1, operations metrics, request-limit keys, operator access records | Runs the game server and provides storage, security and operations-screen protection |
| Google Sign-In | Sign-in method chosen by the user; independent controller for its own processing | Google account identifier, sign-in token | The game server receives only the issuer and user identifier. It does not store email. |
| Apple Sign-In | Sign-in method chosen by the user; independent controller for its own processing | Apple account identifier, sign-in token | The game server receives only the issuer and user identifier. It does not store email. |
| Web Push service provider (browser or operating system provider) | Notification delivery service | Push endpoint, encryption keys, notification title and text, match notification name | Sent to the endpoint created by the browser. |
| External AI app chosen by the user | Provision at the user's request; the app provider is an independent controller | OAuth connection information, match information for the designated seat | Only the scope approved in the OAuth consent screen is shared. |
We do not sell personal information. We do not provide information to advertising networks or data brokers.
6. International transfers
| Recipient | Country | Information transferred | Basis |
| Cloudflare | Global network, including the United States and other countries where Cloudflare data centres are located | Server-stored information described in section 1, operations metrics, request-limit keys, operator access records | Necessary to perform the service contract and disclosed in this policy |
| Google | Countries where Google processes information | Information processed during Google sign-in | When you choose Google sign-in |
| Apple | Countries where Apple processes information | Information processed during Apple sign-in | When you choose Apple sign-in |
| Web Push service provider | Countries of the browser or operating system provider | Push endpoint, notification content | When a notification is sent to your enabled device |
| External AI app provider | Countries where that provider processes information | Match information for the designated seat, connection information | When you approve an AI app connection |
When you use the service, game data is transmitted over the network to Cloudflare's global infrastructure. The country where Cloudflare actually stores data can depend on where the match or account object was created, and may include the United States and other countries where Cloudflare data centres are located. Transfers happen over the network whenever you use the service, and data is kept for the periods in section 4. Cloudflare's legal name is Cloudflare, Inc. (United States).
Information reaches Google, Apple, Web Push and external AI apps only when you choose to use those features. Their processing and international transfers are governed by their terms and privacy policies. Cloudflare is governed by our contract with Cloudflare and its security measures.
EU representative: We do not appoint a separate EU representative. EU and UK users can still contact privacy@starglass.dev and exercise their rights.
7. Your rights and how to exercise them
| Right | How to exercise it |
| Deletion (account withdrawal) | Use "Delete account" in the in-game account screen or /account-delete on the web. |
| Access (a copy), correction, restriction of processing, portability | Contact privacy@starglass.dev. |
| Withdraw consent | Turn off push notifications in the game settings or browser permissions, disconnect an external AI app in the account screen, or turn off free chat in the match screen. |
| Block or unblock | Use the match screen and the blocked list in the account screen. |
| Requests by an agent or guardian | Contact privacy@starglass.dev. |
| Complaint to an EU or UK supervisory authority | You may complain to the data protection authority in your country of residence. |
Identity verification: We verify identity by reasonable means, such as confirming the request while you are signed in to the account screen. Requests from agents or guardians are accepted by email, and we may ask for information that shows the relationship.
Response time: We respond within 10 days of receiving a request. If we need more information, we will tell you what we need and why.
Guests: A guest without an account has no account to delete. Guest information expires 30 days after last use, and the guest credential on your device can be deleted in browser storage. To request deletion of guest information, contact privacy@starglass.dev.
Public information: Deleting your account removes public lobby listings, records and your profile, but we cannot recall information that another person has already seen or copied. Completed match records remain for 90 days without account links.
8. Children and young people
8.1 Children under 14 cannot create an account
Children under 14 cannot create or link an account, worldwide. This conservative rule takes account of Korea's age-14 standard, the United States' COPPA protection for children under 13, and EU and UK child-protection standards.
When you link an account, a neutral birth check asks for your birth year (required) and birth month (optional).
- The birth date is calculated only on your device.
- The server receives only whether you are eligible and the policy version.
- The birth year and month are not stored on the server, in logs or in storage.
- The screen says: "Enter the year you were actually born. Children under 14 cannot create an account."
We do not run a process to collect information about children under 14 with a guardian's consent. We protect children under 14 by blocking sign-up itself. If the policy version changes, we ask you to confirm again.
8.2 What guests can do
A guest who is not signed in can play local matches, AI matches and invited matches. A guest cannot use free chat or public matches. This keeps people who have not completed the age check from communicating with others in public spaces.
8.3 If we learn that information about a child under 14 was collected
If we learn that information about a child under 14 was collected, we delete it without delay. A guardian can request deletion at privacy@starglass.dev.
8.4 United States COPPA
The game is not directed to children under 13, and we do not knowingly collect personal information from children under 13. If we learn that information about a child under 13 was collected, we delete it without delay. The same rule (no account under 14) applies to users in the United States.
9. Cookies and device storage
9.1 Cookies and storage used directly by the game
| Type | Details |
| Required cookie | One cookie, stc_account_refresh. It keeps you signed in and expires after 30 days. |
| Functional localStorage and IndexedDB | Guest credential, match reconnection, local saves, presets, settings, notification settings, AI app connection information |
| Advertising or tracking cookies | None. |
| Analytics beacons | None. The game does not use Cloudflare Web Analytics. |
The only cookie the game sets directly is stc_account_refresh, which is needed to keep you signed in. Everything else is localStorage or IndexedDB used for game features.
9.2 Cookies used during external sign-in
When you use Google or Apple sign-in, their sign-in screens and SDKs may use their own cookies or storage. That processing is theirs, and their privacy policies apply.
9.3 How to refuse
You can block or delete cookies, localStorage and IndexedDB in your browser settings. If you do, staying signed in, cloud saves, match reconnection, guest credentials and notification settings may stop working.
- Signing out discards the session but leaves local storage in place.
- You can deny notification permission in the browser or turn notifications off per match.
- You can turn free chat off in the match screen.
- Deleting your account leaves local storage in place, so please clear it in your browser or device storage settings.
9.4 Do Not Track / Global Privacy Control
We do not sell personal information or use it for behavioural advertising. As a result, there is no sale or sharing processing that changes in response to Do Not Track or Global Privacy Control signals. We also do not read DNT or GPC signals to apply different processing.
10. Security measures
- Transport: The service is provided over HTTPS.
- Tokens: The server stores hashes rather than original session tokens. The refresh token is delivered in an HttpOnly, Secure, SameSite=Lax cookie.
- Access control: The operations screen is protected by Cloudflare Access with multi-factor authentication. Operators review only the minimum scope needed.
- Separation of duties: Operations, maintenance and signal-processing roles are separated, and only the necessary functions are exposed.
- Audit: Operator account and match reviews and evidence access are recorded and kept for 365 days.
- Rate limiting: Room creation, lobby listing, entry and account requests are limited by IP and account.
- Log minimisation: Room IDs, exception text and external response bodies are not written to logs. Operations metrics contain only allowed reason codes.
- Browser protection: We apply a Content Security Policy, frame denial, origin restrictions and permission restrictions.
- Data minimisation: We do not store email, we stopped storing opponent account IDs for new records, we fix the fields in public responses, and we limit each match to 200 interactions.
11. Operator access
An operator reviews account and match information only in an operations screen protected by Cloudflare Access with multi-factor authentication. The scope is limited to what operations need, and the operations screen does not include chat text or move text in its summaries. Operator review records are kept for 365 days.
12. External AI app connections
You can connect an external AI app such as ChatGPT or Claude through OAuth so that it can play in a designated match seat.
- When you connect, you review and approve the access scope in the OAuth consent screen.
- The AI app can access only the match information for the designated seat.
- You can disconnect at any time in the account screen.
- The AI app provider is independently responsible for its processing, and its privacy policy applies.
- Information sent to the AI app may be transferred to that provider's country.
13. Changes to this policy
This policy takes effect on 2026-10-19. We post a changed policy on this page with its effective date.
If we make an important change to your rights, the information we process, retention periods or the recipients of information, we will tell you in the game 7 days before it takes effect. If a law requires separate consent for a change, we will follow that process.
14. Contact
We respond within 10 days. EU and UK users may complain to the data protection authority in their country of residence.
Regional notes
Korea (Personal Information Protection Act)
- We accept requests to access, correct, delete or restrict personal information and respond within 10 days.
- Children under 14 cannot create an account, and we do not run a sign-up process based on a guardian's consent.
- Privacy questions and rights requests go to privacy@starglass.dev.
EU and UK (GDPR and UK GDPR)
- The legal bases are set out in section 2: performance of a contract, legitimate interests and consent.
- You have the rights to access, correct, delete, restrict processing, portability, withdraw consent and complain to a supervisory authority.
- International transfers are described in section 6. We do not appoint a separate EU representative; contact privacy@starglass.dev.
- EU and UK users may complain to the supervisory authority in their country of residence.
United States (COPPA and similar laws)
- The game is not directed to children under 13, and we do not knowingly collect personal information from children under 13.
- Children under 14 cannot create an account.
- We do not sell personal information or use it for behavioural advertising.
- If we learn that information about a child under 13 was collected, we delete it without delay.
↑ Back to top