snxoxo.py

개인정보 처리 안내

수정일: 2026-10-06 · 적용 대상: 현재 1.0.2 및 1.0.4 적용 시의 데이터 처리

snxoxo.py는 간단한 게임으로 배운 내용을 복습하는 Chrome 확장 프로그램입니다. 이 안내는 현재 1.0.2의 고정 미션·선택 결과 제출과, 1.0.4 적용 시 추가되는 PIN 로그인·완료 복원·회차별 진행·코드 야구의 데이터 처리를 설명합니다. 1.0.4 기능에 관한 안내는 해당 업데이트가 설치되고 운영 서버에 기능이 적용된 때부터 적용됩니다. 이 개인정보 안내의 갱신은 확장 프로그램 업데이트의 심사 제출·승인·게시 완료를 뜻하지 않습니다. 이전 버전 이용자는 마지막의 버전 안내를 함께 확인해 주세요.

1.0.4에서는 회차별 진행·완료 기록을 로컬에 보관하며, 02회차부터 순서대로 완료 기록을 다음 회차 잠금 해제에 사용합니다. 게임 열기·돌아오기·회차 완료 시 게시된 새 문제를 확인하며, 이 조회에 학생의 답변이나 이름을 보내지 않습니다. 회차 전환이나 재시작은 이미 달성한 완료 조건을 지우지 않습니다. 코드 야구에서는 순서대로 고른 카드 세 개를 답변으로 기록합니다.

기기에 저장하는 정보

정보목적
직접 입력한 이름이나 별명게임 인사, PIN 로그인과 선택 제출 시 기록 구분
로그인 토큰·만료 시각, 복원한 회차의 완료 메타데이터PIN을 다시 저장하지 않고 제출한 완료 여부 확인
현재 미션의 진행, 게임 대화, 보기 선택, 힌트·재도전 횟수와 완료 시각이어서 풀기와 완료 결과 확인
고정 미션 주소와 마지막으로 받은 정상 미션새 미션 수신과 오프라인 복습
미션 ID·내용 요약값, 제출 ID·확인한 전송 내용·접수 결과다른 미션 내용과의 혼동 및 중복 제출 방지
이전 버전의 문제·진행·로컬 초안이 있는 경우 그 보관 정보업데이트 시 기록 보존. 이전 데이터는 플레이에 사용하지 않음

이 정보는 해당 Chrome 프로필의 로컬 저장소에 저장하며 다른 기기로 자동 동기화하지 않습니다. 실명일 필요는 없습니다. 학생용 확장 프로그램은 Google 로그인을 요구하거나 계정 이메일·비밀번호를 읽지 않습니다. 방문 기록, 다른 웹페이지 내용, Google Chat 대화도 읽지 않습니다.

미션을 받을 때

학생이 최초 Google 데이터 접근 권한을 허용하면, 게임을 열거나 새 미션 확인을 누를 때 프로그램에 고정된 Google Apps Script 공개 주소에서 문제 JSON을 받습니다. 이 읽기 요청에는 이름, 답변, 점수나 개인 학습 기록을 넣지 않습니다. 받은 정상 미션은 오프라인에서도 플레이할 수 있습니다.

학생 화면에는 주소 입력·변경, 문제 파일 가져오기·내보내기, 문제 편집 기능이 없습니다. 앱이 닫혀 있는 동안 정해진 일정으로 통신하거나 결과를 자동 제출하지 않습니다.

이름과 PIN으로 완료 기록을 복원할 때 · 1.0.4 적용 시

기존 학생은 운영자가 비공개 시트에 지정한 숫자 4자리 PIN을 사용합니다. 신규 학생만 새 이름과 PIN을 정해 등록합니다. 이미 등록되었거나 제출 결과가 있는 이름은 신규 등록으로 덮어쓰지 않습니다. 이전 기록이 있다면 기존 이름으로 로그인하고, PIN을 잊었다면 운영자에게 재지정을 요청합니다. 이름과 PIN은 로그인·등록 시 운영자의 고정 Google Apps Script 주소로 HTTPS POST 전송하며 URL에 넣지 않습니다. 확장 프로그램은 PIN을 저장하지 않습니다. 서버는 원문 PIN 대신 비밀값을 사용한 검증값을 보관합니다. 운영자가 직접 입력한 원본 시트의 PIN은 해당 비공개 시트에 남으므로 공유 권한을 제한합니다.

성공하면 기기에 로그인 토큰과 만료 시각을 저장합니다. 이후 앱을 열거나 다시 돌아왔을 때 이름과 토큰을 보내 완료 상태를 확인할 수 있습니다. 서버는 토큰 검증값을 보관하며 한 학생의 로그인 토큰은 최대 5개, 유효 기간은 30일입니다. 이름·PIN 오류를 반복할 경우 요청을 일시 제한합니다. PIN 로그인은 제출 기록 접근을 구분하기 위한 기능이며 Google 계정 인증이나 실명 확인이 아닙니다.

복원 응답은 해당 학생의 완료 미션 ID·회차·주차·완료 시각을 최대 32회차까지 포함합니다. 다른 학생의 명단, PIN, 정답 선택 내역, 점수는 포함하지 않습니다. 이미 제출한 완료만 복원하며 미제출 중간 풀이를 서버에 자동으로 올리지 않습니다. 이름을 전환할 때 학생별 로컬 기록을 분리합니다.

완료 결과를 직접 제출할 때

1.0.4에서는 현재 학생의 PIN 로그인을 확인한 뒤 결과를 제출합니다. 모든 문제를 완료한 뒤 스누피에게 결과 제출을 누르면 보낼 항목을 확인할 수 있습니다. 확인하고 제출을 눌러야 다음 정보가 Google Apps Script의 비공개 결과 수신함으로 전송됩니다. 취소하거나 제출하지 않아도 게임 완료, 점수와 학습 목표는 동일하게 유지됩니다.

게임 대화 전체, 자유롭게 입력한 문장, Google 계정 이메일은 결과 제출 본문에 넣지 않습니다. 수신 서버는 접수 시각과 내용 요약값을 추가로 기록합니다. 실패 후 다시 시도하면 같은 제출 ID와 같은 결과를 사용해 중복 접수를 확인합니다. 결과는 사용자가 기기에서 제출한 자기 보고 기록이며 본인 인증, 시험 감독 또는 실제 학습 성취의 증명으로 제공하지 않습니다.

결과의 저장과 열람

결과는 운영자 Google Apps Script의 비공개 수신함에 먼저 보관합니다. 운영자가 SNOOPY STUDIO를 열거나 학생 결과 가져오기를 실행하면 비공개 원본 시트의 Results 탭으로 옮깁니다. 시트에 저장된 것을 확인한 결과는 수신함에서 제거합니다. 앱에 접수 완료가 표시되어도 운영자가 시트로 가져오기 전에는 Results에 바로 나타나지 않을 수 있습니다.

수신함은 최대 40건·120,000바이트(약 120KB)까지 보관합니다. 공간이 부족하면 새 결과를 접수하지 않고 재시도 안내를 보냅니다. 기존 결과를 밀어내는 방식으로 공간을 만들지 않습니다. 시트로 옮긴 결과의 중복 접수 확인용 제출 ID·내용 요약값·접수 시각은 최대 500건까지 보관하며 오래된 확인 정보부터 정리합니다.

운영자는 원본 시트와 Apps Script를 본인 Google 계정만 접근하도록 관리합니다. 결과를 광고·판매·개인별 홍보에 이용하지 않으며 이 게임의 복습 결과 확인과 문의 대응에 사용합니다. 공개 미션 조회 응답에는 학생 결과를 넣지 않습니다.

Google 서비스와 통신

미션 조회, PIN 로그인·등록, 완료 복원과 선택한 결과 제출은 HTTPS로 script.google.com과 응답을 제공하는 script.googleusercontent.com을 사용합니다. Google은 서비스 제공 과정에서 IP 주소 등 네트워크 연결 정보와 서비스 운영 정보를 처리할 수 있습니다. Google 개인정보처리방침이 별도로 적용되며, 이 확장 프로그램이 Google의 로그 보관 기간을 정하거나 모든 사본의 즉시 삭제를 보장하지는 않습니다.

별도의 광고·분석 SDK나 방문 추적 도구를 포함하지 않습니다. 로그인 상태에서는 완료 기록을 조회하기 위해 이름과 로그인 토큰을 전송하지만, 문제별 풀이 결과는 확인 후 선택 제출할 때만 전송합니다.

보관 기간과 삭제

기기 기록은 사용자가 삭제할 때까지 보관합니다. 새 미션을 시작하면 현재 화면이 새 미션으로 바뀌지만, 회차별 진행과 완료 기록은 보관하며 이전 회차를 다시 선택하면 이어서 풀 수 있습니다. 설정의 모든 로컬 데이터 삭제 또는 확장 프로그램 삭제로 해당 기기의 기록을 지울 수 있습니다. 고정된 스누피 미션 주소는 프로그램 설정으로 유지됩니다.

로컬 데이터 삭제는 이미 제출한 수신함·Results 시트의 기록을 삭제하지 않습니다. 제출 결과에는 현재 자동 기간 만료 기능이 없으며 운영자가 복습 결과 확인에 필요한 기간 보관하고, 필요가 끝났거나 삭제 요청을 확인하면 정리합니다. 제출 결과의 확인·정정·삭제는 suzinee.u@kakao.com으로 요청해 주세요. 기록을 찾을 수 있도록 사용한 이름, 미션 주차와 제출 시각을 알려 주세요. 운영자는 다른 학생의 기록을 잘못 삭제하지 않도록 필요한 확인을 할 수 있습니다.

삭제 요청은 수신함, Results, 학생 PIN 검증값·로그인 토큰 검증값·복원용 완료 정보와 연결된 중복 확인 정보까지 함께 확인해 처리합니다. 직접 저장한 파일·캡처, 이미 다른 사람에게 공유한 결과는 해당 저장 위치에서 별도로 삭제해야 합니다.

필요한 권한

Google 호스트 권한을 허용하는 것만으로 결과 제출에 동의한 것으로 처리하지 않습니다. 제출은 완료 화면의 확인 동작을 별도로 요구합니다. 문제에 표시되는 코드는 학습용 텍스트이며 받은 JSON을 프로그램 코드로 실행하지 않습니다.

작성 공간과 이전 버전

문제 작성은 학생 앱과 분리된 비공개 Google 시트의 SNOOPY STUDIO에서 이루어집니다. 작성 공간은 로그인 계정 이메일을 확인하여 지정된 운영자만 초안·게시·학생 결과 가져오기에 접근하도록 제한합니다. 이 계정 확인은 학생 앱의 로그인이나 이메일 수집이 아닙니다.

1.0.2는 고정 주소의 미션 수신과 학생이 확인한 결과의 선택 제출을 제공합니다. PIN 로그인·신규 등록·서버 완료 복원은 1.0.4 적용 시 추가되는 기능이며, 1.0.2의 기존 결과 제출 형식은 계속 지원합니다.

1.0.1에는 문제 주소 입력, JSON 파일 가져오기와 로컬 초안 편집 기능이 있었습니다. 해당 버전의 개인 게임 기록은 기기에 저장하며 이번의 직접 결과 제출 기능은 포함하지 않습니다. 1.0.2 전환 시 이전 미션·진행·초안은 기기에 보관될 수 있고 모든 로컬 데이터 삭제 시 함께 정리합니다. 문제별 제출 기록이 없는 이전 완료 게임은 새로운 결과로 만들어 보내지 않습니다.

사용자 데이터의 이용 범위와 문의

snxoxo.py는 Chrome Web Store 사용자 데이터 정책과 Limited Use 요구사항을 준수하며, 사용자 데이터를 이 안내에 명시한 복습 게임과 선택 결과 제출 기능에 사용합니다. 데이터를 판매하거나 광고에 이용하지 않습니다.

지원 및 삭제 요청: suzinee.u@kakao.com

직접 문의 이메일을 보내면 발신 주소와 문의 내용이 메일 서비스와 수신자에게 전달되며 문의 대응에 필요한 범위에서 처리합니다. 기능이나 데이터 처리 방식이 변경되면 이 안내와 스토어 등록정보를 함께 갱신합니다.

기능이나 데이터 처리 방식이 변경되면 이 페이지를 갱신합니다.