Xschool 개인정보 처리방침
판 번호 2026-10-v13 · 시행일 2026년 10월 19일
한눈에 보기
- 선생님만 가입해요. 학생 계정은 없고, 만 14세 미만의 정보는 받지 않아요.
- 모으는 것: 이메일(로그인 아이디, 교원 확인이 켜진 학교는 교육청 메일), 표시 이름, 소속 학교와 자리, 선생님이 올린 자료와 기록.
- 쓰는 곳: 업무 인수인계와 우리 학교 · 지역 · 전국 선생님과 자료를 나누는 데만 써요. 광고나 판매는 없어요.
- 개인정보로 보이는 자료는 올린 사람만 보고, 주민등록번호처럼 보이는 숫자는 저장하지 않아요.
- 데이터는 Supabase(서울)에 두고, 서버는 Railway(싱가포르 (asia-southeast1-eqsg3a))에서 돌아요.
- 탈퇴하면 계정과 개인 자료를 바로 지워요. 학교 자료는 남고 올린 사람은 "이전 담당자"로 바뀌어요.
- 구글 캘린더에는 고른 일정만, 개인정보로 보이는 제목은 "일정 있음"으로 나가요. PDF 작업실 · 아고라에는 가명 번호만 가요.
- 궁금하거나 지우고 싶으면: Xschool 운영자(앱 안 요청)
자세히
1. 모으는 항목과 목적
- 가입할 때: 이메일(로그인 아이디예요. 본인이 로그인 화면의 [비밀번호 찾기]를 누를 때 재설정 링크를, 교원 확인에서 [코드 받기]를 누를 때 6자리 코드를 그 주소로 보내고, 다른 메일은 보내지 않아요. 교원 확인은 14번), 화면에 보일 이름, 비밀번호, 가입 동의 기록(이 처리방침의 판 번호와 동의한 시각). 비밀번호는 Supabase가 되돌릴 수 없는 형태로만 보관해서 운영자도 볼 수 없어요.
- 쓰는 동안: 소속 학교와 역할(관리자·선생님), 해마다 맡은 자리(담당 이력), 올린 자료(메모·링크·파일·사진과 그 제목·칩), 내 아카이브 폴더(이름·색·순서, 만든 선생님만 봐요), 인수인계 메모, 공지와 읽음 표시, 일정, 달마다 할 일, 공문 기록, 좋아요, 공유 링크(만든 사람·기한·열어 본 횟수·받은 횟수·보낸 양·멈춘 때·다시 연 때·운영자가 닫은 때)와 선생님마다 이번 달 링크로 보낸 양의 합계.
- 학교 기록: 합류 기록(누가 언제 어떤 초대로 들어왔는지), 비밀번호 재설정 링크를 누가 언제 만들었는지. 학교 관리자가 봐요.
- 설정: 구글 캘린더 구독 설정(담을 것과 주소 판 번호).
- 교실 PC 지키기(나만 봐요): 폴더를 잠갔는지 · 이름을 숨겼는지, 파일을 새 판으로 바꿀 때의 이전 판 파일(크기 · 종류 · 바꾼 때), "작업 중" 표시(선생님이 붙인 기기 이름과 시작 시각), 빌려주는 시간(요일 · 교시 · 전담/외부강사 · 8자 이름, 교시 시각, 띠 · 자동 잠금 켬/끔), 내 계정이 열린 기록(때, 로그인 · 휴대폰으로 찍어 로그인 · 자리 비움 · 잠김 · 잠금 풀기 · 잠금 풀기 틀림(횟수) · 로그아웃, 기기 이름). IP 주소 · 위치 · 기기 지문은 모으지 않아요.
- 운영 기록: 운영자가 한 일(누가, 언제, 무엇을, 어떤 id에, 왜). 운영자도 고치거나 지울 수 없고 1년이 지나면 지워요. 탈퇴는 이름 없이 "계정 삭제 1건"만 남아요.
- 신고·요청: 선생님이 운영자에게 보낸 글(500자까지, 학생 이름 같은 개인정보는 적지 말라고 안내해요). 운영자만 봐요.
- 2단계 인증: 켠 사람만, 인증 앱 등록 정보(Supabase가 보관). 숫자나 설정 키는 Xschool에 남지 않아요.
- 목적: 로그인, 학교와 자리별 자료 나누기, 다음 담당자에게 넘기기, 계정 도움(비밀번호 재설정), 부정 사용 막기. 이 밖의 목적으로 쓰지 않아요.
2. 서버가 남기는 기록(로그)
- 요청마다 한 줄: 방법, 주소 경로, 응답 상태, 걸린 시간. 초대 코드·공유 코드·구독 주소는
****로 가려요. - 이메일·이름·비밀번호·올린 내용·입장권은 로그에 남기지 않아요.
- 요청 횟수를 세려고 IP 주소와 로그인 토큰의 해시를 서버 메모리에 잠깐(길어야 1시간) 둬요. 파일이나 DB에 저장하지 않아요.
- 휴대폰으로 찍어 로그인할 때: PC 화면의 요청과 휴대폰의 승인을 서버 메모리에만 1분 동안 둬요(요청 번호와 확인용 해시, 승인한 계정 id, 휴대폰에 보여 줄 PC의 운영체제 · 브라우저 이름). 파일이나 DB에 저장하지 않고, 쓰거나 1분이 지나면 지워요.
- Railway가 따로 보관하는 서버 로그는 요금제에 따라 7일에서 최대 30일 동안 남고, 그 뒤에는 지워져요.
3. 이 기기(브라우저)에 저장하는 것
- 로그인 정보: "이 기기에서 로그인 유지"를 켜면 브라우저 저장소(localStorage)에, 끄면 탭 저장소(sessionStorage)에 두어 창을 모두 닫으면 사라져요.
- 로그인 유지 선택, "내 기기도 오래 안 쓰면 잠금" 설정, 잠긴 뒤 다시 로그인할 때 채워 둘 이메일(탭을 닫으면 사라짐).
- 화면 잠금 PIN의 확인용 값(PIN 자체는 저장하지 않아요), "원본 그대로 올리기" 선택, 달력 보기 설정(모양 · 마감 일정의 끝냄 표시 포함), 도구함에서 마지막으로 본 탭(탭 이름만), 인수인계 체크 표시.
- 달력 배경으로 고른 내 사진("내 교실 PC"로 정한 기기에서만, 줄인 사진 한 장, 계정마다). 서버로 보내지 않고 [사진 지우기]로 지워요.
- 학교에 파일·사진을 올리기 전 개인정보 확인을 오늘 했는지(날짜만, 계정마다). 저장이 막힌 기기에서는 올릴 때마다 물어요.
- 교실 PC 지키기(계정마다, 이 브라우저에): 선생님이 붙인 이 기기 이름(20자, 비우면 "Windows · 엣지"처럼 운영체제와 브라우저 이름. 서버에는 "작업 중" 표시와 열린 기록에만 함께 남아요), "내 교실 PC" 표시, "점검 없이 바로 잠그기" 선택, 자리를 비운 사이 잠금 풀기를 틀린 시각(풀고 [확인]을 누르면 지워요). [자리 비움]의 30초 점검 체크는 어디에도 남기지 않아요.
- 이 창에서 받은 파일의 이름과 받은 시각(탭 저장소). [다 썼어요]를 누르면 "이 PC에 남은 파일"로 한 번 보여 주고 지워요. 파일 내용이나 주소는 담지 않아요.
- 쿠키는 쓰지 않아요.
4. 보관 기간
- 탈퇴하면 바로 지워요: 계정과 표시 이름, 내 아카이브 자료와 파일, 내 일정, 좋아요, 공유 링크, 캘린더 구독 주소, 동의 기록.
- 학교에 남는 것: 내가 자리에 올린 자료, 공문 기록, 인수인계 메모, 공지, 담당 이력. 올린 사람 이름은 "이전 담당자"로 바뀌어요.
- 휴지통에 넣은 자료는 30일 뒤 파일과 함께 저절로 지워져요. 그 전에 휴지통에서 바로 지울 수도 있어요.
- 층 자료실에서 내린 자료는 휴지통(우리 학교 자료실은 학교 관리자, 지역 · 전국은 운영자)에 1년까지 두었다가 저절로 지워요(13번).
- 이전 판 파일은 자료마다 최근 5개를 30일 동안 두고 저절로 지워요. 내 계정이 열린 기록은 90일 뒤에 지워요. 탈퇴하면 둘 다 바로 지워요.
- Supabase 백업은 매일 만들어지고 최근 7일치만 남아요(그보다 오래된 백업은 지워져요). 백업은 복구할 때만 쓰고, 복구하면 지워진 계정은 다시 지워요.
5. 처리를 맡기는 곳
- Supabase Inc.: 데이터와 파일 보관, 로그인 처리 · 서울(ap-northeast-2)
- Railway Corporation: 서버 운영 · 싱가포르 (asia-southeast1-eqsg3a)
- Resend, Inc.: 메일 보내기([비밀번호 찾기] 재설정 링크 · 교원 확인 코드, 보내는 주소 no-reply@xschool.kr) · 미국(보내는 서버는 일본 도쿄)
6. 국외 이전
서버(Railway)가 싱가포르에 있어서, 서버를 거쳐 가는 개인정보가 국외로 옮겨져요. 데이터 보관(Supabase)은 서울이에요.
- 이전받는 자: Railway Corporation (서버 운영 대행)
- 이전되는 국가: 싱가포르
- 이전되는 항목: 요청을 처리하는 동안 서버를 거쳐 가는 이메일, 표시 이름, 소속 학교와 자리, 올린 자료의 제목과 메모, 접속 기록(주소 경로·응답 상태·시각)
- 이전 목적: Xschool 서버 운영(요청 처리와 오류 확인)
- 이전 시기와 방법: 서비스를 쓸 때마다 암호화된 연결(HTTPS)로
- 보유 기간: 요청을 처리하는 동안. 서버 기록(로그)은 Railway의 로그 보관 기간 동안
- 거부 방법과 결과: 국외 이전을 원하지 않으면 가입하지 않거나 [탈퇴하기]로 계정을 지울 수 있어요. 서버 없이는 서비스를 쓸 수 없어요.
[비밀번호 찾기] · 교원 확인 메일은 Resend로 보내서, 그때 받는 메일 주소와 메일 본문이 국외로 옮겨져요.
- 이전받는 자: Resend, Inc. (메일 보내기)
- 이전되는 국가: 미국(회사), 일본(보내는 서버, 도쿄)
- 이전되는 항목: 받는 메일 주소, 메일 본문(재설정 링크 또는 6자리 교원 확인 코드와 안내. 그림 · 추적 없음)
- 이전 목적: 본인이 [비밀번호 찾기]나 교원 확인의 [코드 받기]를 누를 때 그 메일 보내기
- 이전 시기와 방법: 누를 때마다, 암호화된 연결로
- 보유 기간: Resend가 보낸 기록을 30일 동안 두고 지워요(운영자만 열 수 있어요. 링크는 한 번 쓰거나 시간이 지나면, 코드는 10분이 지나면 쓸 수 없어요)
- 거부 방법과 결과: [비밀번호 찾기]를 쓰지 않고 학교 관리자에게 재설정 링크를 받을 수 있어요. 교원 확인 코드를 받지 않으면 교원 확인이 켜진 학교에는 가입할 수 없어요.
7. 밖으로 나가는 것
- 구글 캘린더 구독: 선생님이 구독 주소를 넣은 캘린더(구글·아이폰·아웃룩)가 고른 일정의 제목·날짜·메모를 읽어 가요. 개인정보로 보이는 제목(명단·연락처·상담·성적·주민·생활기록·개인정보, 주민등록번호 모양)은 "일정 있음"으로 바꾸고 설명을 비워요. 구독 창에서 끌 수 있어요.
- 공유 링크: 만든 사람이 고른 자료만, 정한 기한까지 보여요. 학교 스크랩은 빠지고, 개인정보로 보이는 자료는 "누구나" 링크에서 빠져요.
- 누가 열 수 있는지는 만드는 선생님이 링크마다 골라요: 누구나 · 비밀번호 · Xschool 로그인. 개인정보로 보이는 자료는 비밀번호 · 로그인 링크에만, 7일까지 담을 수 있어요.
- 비밀번호는 저장하지 않아요. 서버가 되돌릴 수 없게 바꾼 값(scrypt)만 남기고, 로그에도 남기지 않아요. 5번 틀리면 그 링크는 닫혀요(틀린 횟수는 만든 선생님만 봐요).
- 비밀번호를 맞힌 브라우저에는 그 링크에만 쓰는 통행 쿠키(HttpOnly)를 줘요. 브라우저를 닫거나 2시간이 지나면 끝나요. 로그인 링크는 받는 분의 로그인만 확인하고, 누가 열었는지는 남기지 않아요.
- 링크 하나로 파일은 30번 또는 1GB까지 받을 수 있고(만든 선생님이 한 번 더 열면 두 배), 선생님 한 사람이 한 달에 링크로 보내는 양은 3GB예요(숫자는 운영하며 바뀔 수 있어요). 글 · 메모 · 바깥 링크는 한도와 상관없이 보여요.
- 받은 횟수와 보낸 양은 만든 선생님과 운영자만 봐요. 운영자는 학교 · 이름 · 숫자만 보고, 자료 제목과 링크 주소는 보지 않아요.
- 받는 사람의 IP · 기기 정보는 데이터베이스에 남기지 않아요(너무 잦은 요청을 막는 데만 서버 메모리에서 잠깐 써요).
- 링크의 숫자는 링크와 함께 지워지고, 달마다의 합계는 13개월 뒤에 지워요. 이 숫자는 밖으로 나가지 않아요.
- Xschool 도구(PDF 작업실 · 아고라): [열기]를 누르면 2분짜리 입장권에 가명 번호(사람·학교)만 담아 보내요. 이름·메일·실제 번호는 보내지 않아요. PDF 파일은 선생님 브라우저 밖으로 나가지 않아요. 아고라의 학생은 가입 없이 6자리 코드와 번호로만 들어오고, 끝난 보드는 7일 뒤 지워져요.
- 링크 미리보기: 선생님이 붙여 넣은 주소를 서버가 대신 열어 제목과 사진을 읽어요. 그 사이트에는 서버 주소만 보여요.
- 나이스(교육부 공개 API): 학교 검색과 학사일정을 가져올 때 학교 이름과 학교 코드만 보내요.
- 교실 PC 지키기의 잠금 표시 · 이전 판 · 작업 중 표시 · 열린 기록 · 빌려주는 시간은 어디로도 나가지 않아요. 잠근 폴더 자료는 공유 링크 · 전체 찾기 · 홈 최근 · ZIP(폴더 안 [이 폴더 받기] 말고) · 자리로 보내기에 나오지 않아요.
8. 선생님의 권리와 방법
- 열람: 내 아카이브·내 자리에서 보고, 내 정보 > [내 자료 내려받기]로 목록(CSV)과 파일 받기 링크를 받아요.
- 정정: 자료는 각 화면에서 고쳐요. 표시 이름을 바꾸려면 아래로 요청해 주세요.
- 삭제: 자료는 휴지통으로 옮기거나 바로 지워요. 계정은 내 정보 > [탈퇴하기].
- 처리정지: 구글 캘린더 구독은 구독 창에서 주소를 새로 만들면 옛 주소가 멈춰요. 모두 멈추려면 탈퇴해요.
- 요청과 문의: Xschool 운영자(앱 안 요청). 받은 요청은 10일 안에 답해요.
9. 만 14세 미만
선생님만 가입할 수 있어요. 학생 계정은 없고 만 14세 미만 아동의 정보를 받지 않아요. 학생 정보가 든 자료는 "나만 보기"로 올려 주세요.
10. 안전하게 지키는 방법
- 모든 연결은 HTTPS로 암호화돼요. 비밀번호는 되돌릴 수 없는 형태로만 보관해요.
- 같은 학교 사람만 학교 자료를 봐요(데이터베이스 행 단위 보안). 개인정보로 보이는 자료는 올린 사람만 봐요.
- 운영 화면으로는 선생님 자료 내용을 볼 수 없어요. 데이터베이스 관리 권한은 주인 한 명만 가지고, 장애 복구 · 법적 요청처럼 꼭 필요할 때만 쓰고 기록해요.
- 주민등록번호처럼 보이는 숫자는 브라우저와 데이터베이스가 둘 다 막아요.
- 잠근 폴더는 데이터베이스가 지켜요: 5분 안에 비밀번호(또는 2단계 인증 숫자)를 적은 로그인만 열 수 있고, 휴대폰으로 찍어 로그인하거나 메일 링크로 들어온 로그인으로는 열리지 않아요.
- 공용 컴퓨터에서는 로그인을 유지하지 않고, 오래 안 쓰면 잠가요. "내 교실 PC"로 정하지 않은 PC는 빌려 쓰는 PC로 보고 로그인 유지를 늘 끄며, [다 썼어요]로 로그아웃하면 이 창에서 받은 파일 이름을 알려 드려요(브라우저는 PC 파일을 지울 수 없어서 직접 지워야 해요).
- 유출이 의심되면 docs/SECURITY.md의 순서대로 멈추고, 알리고, 신고해요.
11. 바뀔 때
이 방침이 바뀌면 판 번호가 올라가고, 다음 로그인 때 알림 띠로 알려 드려요.
12. 내 바로가기
- 무엇을 모으나: 내가 넣은 바로가기 이름 · 주소 · 색 · 순서, 숨긴 기본 바로가기.
- 누가 보나: 나만 봐요(학교 관리자 · 운영자 화면에도 없어요).
- 언제 지우나: 내가 지우면 바로, 탈퇴하면 함께 지워져요.
- 밖으로 나가나: 없어요. 서버가 그 주소에 접속하지 않고, 사이트 아이콘도 가져오지 않아요(글자 아이콘만 써요).
13. 층 자료실(우리 학교 · 지역 · 전국)
- 무엇을 모으나: 내 아카이브에서 나눈 자료의 사본, 분류 칩(학년 · 교과 · 부서 · 종류), 이름표(실명 · 닉네임 ·
"인천 · 5학년 담임" 같은 자리 표시), 닉네임과 그 기록, 담기 · 열기 · 알리기 기록, 이용 규칙 동의 시각. 학생 정보는 모으지 않아요.
- 누가 보나: 그 층의 선생님 — 학교 자료실은 우리 학교, 지역 자료실은 학교가 속한 시도교육청의 학교들,
전국 자료실은 모든 선생님. 전국에는 파일 이름과 자리 표시만 보이고 메모는 올라가지 않아요. 올린 사람의 계정 id는 누구에게도 내려가지 않아요. 운영자는 나눈 자료를 다 볼 수 있고, 열면 기록돼요. 학교 관리자는 우리 학교 자료실에서 내려진 자료의 제목 · 올린 분 이름 · 담은 수를 학교 휴지통에서 봐요.
- 담기: 파일을 복사하지 않고 자료실의 한 벌을 같이 써요. 담은 선생님의 저장 공간을 쓰지 않아요.
올린 자료가 가려지면(개인정보 의심 · 신고 · 운영자) 담은 선생님도 그동안 열 수 없어요.
- 언제 지우나: 올린 선생님이 내리면 자료실에서 바로 사라지고, 담아 간 선생님 아카이브의 그 자료도 함께 빠져요.
아무도 담지 않은 자료는 바로 지워요(지역 · 전국은 올린 지 10분 안일 때). 담은 선생님이 있으면 파일은 바로 지우지 않고 휴지통에 두어요 — 우리 학교 자료실에서 내린 것은 그 학교 관리자가, 지역 · 전국 자료실에서 내린 것과 가려진 자료는 운영자가 살펴본 뒤 되살리거나 지워요. 학교 관리자가 되살리거나 지우면 누가 · 언제 했는지 1년 동안 기록돼요. 휴지통에서 1년이 지나면 저절로 지워져요. 담은 선생님이 새 판으로 고친 자료는 그 선생님 것이라 남아요. 탈퇴하면 나눈 자료 · 닉네임 · 기록이 모두 지워지고, 담아 간 그 자료도 함께 빠져요. 이미 내려받은 파일은 받은 사람의 기기에 남아 있어 지울 수 없어요.
- 밖으로 나가나: 없어요. 유튜브는 서버가 공개 정보(oEmbed)로 영상 제목만 한 번 가져와요.
14. 교원 확인 — 교육청 메일
- 무엇을 모으나: 확인한 교육청 메일 주소가 곧 로그인 아이디예요(다른 메일로는 가입할 수 없어요). 그래서 주소는 로그인 메일과 똑같이 계정 정보로 저장돼요.
따로 주소로 만든 되돌릴 수 없는 값(지문, 64자리 16진수) · 시도(예: 인천) · 확인한 날도 저장해 같은 주소인지 비교만 해요(한 교육청 메일 = 한 계정). 6자리 코드는 되돌릴 수 없는 값으로만 두었다가 하루 뒤에 지워요. 이미 다른 메일로 가입한 선생님이 확인하면 로그인 아이디가 그 교육청 메일로 바뀌어요. 화면에는 ab***@ice.go.kr처럼 가려서 보여요.
- 학교와 같은 시도의 교육청 메일만 받아요(서울 학교에 다른 시도 메일로 확인할 수 없어요). 아직 메일이 닿는지 확인하지 못한 시도의 학교는 가입을 받지 않아요(준비 중).
- 다시 가입 막기 명부: 약관 위반 · 불법 · 저작권 문제로 강제 탈퇴된 계정, 또는 정지 중에 스스로 탈퇴한 계정의 지문 · 시도 · 조치 · 사유 종류 · 날짜를 계정과 따로 남겨요(같은 교육청 메일로 다시 가입하는 것을 막으려고).
- 이미 가입한 선생님: 켠 날부터 30일 동안은 그대로 쓰면서 홈 띠로만 권하고, 그 뒤에는 확인을 해야 다른 화면이 열려요. 이를 위해 새로 저장하는 것은 없어요.
- 누가 보나: 로그인 메일과 같아요(운영 화면에는 가려서). 선생님 본인은 내 정보에서 내 시도와 확인한 날을, 운영자는 사람 목록에서 확인했는지 아닌지와 다시 가입 막기 명부(지문 앞부분 · 시도 · 조치 · 사유 종류 · 날짜)를 봐요.
- 언제 지우나: 확인 기록은 탈퇴하면 함께, 코드는 하루 뒤, 다시 가입 막기 명부는 3년(운영 설정) 뒤 — 소명이 받아들여지면 그 전에 풀 수 있어요.
- 켜진 학교에서만: 운영자가 학교마다 켜요. 켜진 학교는 확인한 교육청 메일로만 가입할 수 있어요.
- 밖으로 나가나 · 국외 이전: 코드 메일은 Resend로 보내요(6번). 링크 · 그림 · 추적 없음.
15. 개인정보 보호 책임자와 연락처
Xschool 운영자(앱 안 요청)