WEB-VULN-SIM 개인정보 처리방침
auth-widget.js, firestore.rules, functions/index.js)에서
실제 처리 내용을 읽어 작성한 초안입니다. 붉게 표시된 값(시행일·개인정보 보호책임자 성명·직책)은 운영자가 채워야 하며,
공개 전 실제 처리 현황과 일치하는지 직접 확인하시기 바랍니다.
1개인정보의 처리 목적
WEB-VULN-SIM(이하 “서비스”)은 다음 목적으로만 개인정보를 처리하며, 목적이 변경되는 경우 「개인정보 보호법」 제18조에 따라 별도의 동의를 받는 등 필요한 조치를 이행합니다.
- 회원 식별 및 학습 진도 동기화 — 여러 기기에서 동일한 학습 진도·오답노트·설정을 이어서 이용할 수 있도록 합니다.
- 수료증 발급 및 제3자 검증 — 서버 채점을 통과한 응시자에게 수료증을 발급하고, 수료증 번호로 진위를 확인할 수 있도록 합니다.
- 강의실(클래스) 운영 — 강사가 개설한 클래스에 참여한 경우 진행률을 강사에게 제공합니다.
- 부정 이용 방지 — 수료증 시험의 응시 횟수 제한 등 서비스 부정 이용을 방지합니다.
2처리하는 개인정보의 항목
서비스는 로그인하지 않은 이용자의 개인정보를 수집하지 않습니다. 로그인 없이 이용할 경우 학습 기록은 이용자의 브라우저(localStorage)에만 저장되며 서버로 전송되지 않습니다.
가. 정보주체의 동의를 받아 처리하는 항목 (Google 로그인 시)
| 구분 | 항목 | 수집 방법 | 법적 근거 |
|---|---|---|---|
| 계정 정보 | 이메일 주소, 이름(Google 계정 표시 이름), 프로필 사진, 계정 식별자(UID) | Google 로그인 시 이용자가 동의한 범위에서 Google로부터 제공 | 「개인정보 보호법」 제15조제1항제1호(동의) |
| 학습 기록 | 진도·완료 여부·퀴즈 및 모의고사 결과·오답노트·화면 설정값 (브라우저 저장키 중 sda_·sdq_·wvs_ 로 시작하는 항목) | 서비스 이용 과정에서 자동 생성 후 동기화 | 「개인정보 보호법」 제15조제1항제4호(계약의 이행) |
| 수료 정보 | 수료증 번호, 표시 이름, 점수, 발급일, 검증용 해시 | 수료 시험 응시 시 생성 | 「개인정보 보호법」 제15조제1항제4호 |
| 클래스 정보 | 클래스 소속, 진행률 (클래스에 참여한 경우에만) | 참여 코드 입력 시 생성 | 「개인정보 보호법」 제15조제1항제4호 |
wvs_ai_key)는 동기화 대상에서 명시적으로 제외되어 브라우저를 벗어나지 않습니다.
AI 튜터 등 기능에서 입력한 키는 이용자의 기기에만 저장되며, 해당 키로 이루어지는 통신은 이용자 브라우저와 AI 제공사 간에 직접 이루어집니다.
서비스는 주민등록번호·여권번호 등 고유식별정보와 건강·사상·신념 등 민감정보를 일절 수집하지 않습니다.
3개인정보의 처리 및 보유 기간
| 항목 | 보유 기간 |
|---|---|
| 계정 정보·학습 기록·클래스 정보 | 회원 탈퇴 또는 삭제 요청 시까지 |
| 발급된 수료증 기록 | 수료증 번호로 진위 확인이 가능해야 하므로 발급일로부터 3년 또는 삭제 요청 시까지 |
| 수료 시험 응시 횟수 기록 | 부정 응시 방지 목적으로 1년 |
| 로그인하지 않은 이용자의 학습 기록 | 서버에 저장되지 않음 (이용자가 브라우저에서 직접 삭제 가능) |
보유 기간이 지나거나 처리 목적이 달성된 개인정보는 지체 없이 파기합니다.
4개인정보의 파기 절차 및 방법
- 파기 절차 — 삭제 요청을 받거나 보유 기간이 경과하면 대상 정보를 선정해 파기합니다.
- 파기 방법 — 데이터베이스에 저장된 개인정보는 복구·재생되지 않는 방법으로 영구 삭제합니다. 서비스는 종이 형태의 개인정보를 보유하지 않습니다.
- 이용자가 직접 브라우저의 학습 기록을 삭제하면 다음 동기화 시점에 서버 기록에도 반영됩니다.
5개인정보의 제3자 제공
서비스는 이용자의 개인정보를 제3자에게 제공하지 않습니다. 다만 다음의 경우는 예외로 합니다.
- 이용자가 사전에 동의한 경우
- 법령에 특별한 규정이 있거나 수사기관이 법령에 정해진 절차와 방법에 따라 요구하는 경우
아래 6항의 처리위탁은 서비스 운영을 위해 수탁자가 서비스의 지시에 따라 처리하는 것으로, 제3자 제공과 구분됩니다.
6개인정보 처리업무의 위탁
서비스는 원활한 운영을 위해 다음과 같이 개인정보 처리업무를 위탁하고 있습니다.
| 수탁자 | 위탁 업무 내용 |
|---|---|
| Google LLC / Google Cloud (Firebase) | 이용자 인증(Firebase Authentication), 학습 기록·수료증 데이터 보관(Cloud Firestore), 웹사이트 호스팅(Firebase Hosting), 수료증 채점 서버 실행(Cloud Functions) |
서비스는 위탁계약 시 개인정보 보호 관련 사항을 문서로 정하고, 수탁자가 개인정보를 안전하게 처리하는지 감독합니다. 위탁 업무의 내용이나 수탁자가 변경될 경우 지체 없이 본 처리방침을 통해 공개합니다.
7개인정보의 국외 이전
서비스는 Google Cloud 인프라를 이용하므로, 위 6항의 위탁에 따라 개인정보가 국외로 이전되어 보관·처리됩니다.
| 이전받는 자 | 이전 국가 | 이전 항목 | 이전 일시 및 방법 | 이용 목적 | 보유 기간 |
|---|---|---|---|---|---|
| Google LLC (개인정보 보호 문의: Google 개인정보처리방침) | 미국 | 제2항의 전체 항목 | 로그인 및 학습 기록 동기화 시점에 정보통신망을 통해 수시 전송 | 제1항의 처리 목적과 동일 | 제3항의 보유 기간과 동일 |
8공개되는 정보
서비스의 일부 기능에서는 이용자의 정보가 다른 이용자에게 표시됩니다. 아래 내용을 확인하시고 원하지 않으시면 해당 기능을 이용하지 않으시면 됩니다.
| 기능 | 공개되는 항목 | 공개 범위 |
|---|---|---|
| 리더보드 | 표시 이름, 점수 | 로그인한 이용자 |
| 수료증 검증 | 일부를 가린 표시 이름(예: 홍*동), 점수, 발급일 | 수료증 번호를 아는 사람 (제3자 검증 목적) |
| 퀴즈 대전·강의실 | 표시 이름, 진행률 | 같은 방 참가자 또는 담당 강사 |
표시 이름은 Google 계정의 이름이 기본값입니다. 실명 노출을 원하지 않으시면 수료증 발급 시 표시 이름을 변경하시거나 해당 기능을 이용하지 않으실 수 있습니다.
9개인정보의 안전성 확보조치
- 접근 통제 — 데이터베이스 보안 규칙으로 본인의 학습 기록에만 접근할 수 있도록 제한하고 있습니다. 리더보드·수료증 등 무결성이 중요한 기록은 클라이언트 쓰기를 전면 차단하고 서버에서만 기록합니다.
- 전송 구간 암호화 — 모든 통신은 HTTPS(TLS)로 암호화됩니다.
- 저장 데이터 보호 — 클라우드 제공사의 저장 데이터 암호화가 적용됩니다.
- 최소 수집 — 서비스 제공에 필요한 최소한의 항목만 처리하며, 개인 API 키 등 민감한 값은 애초에 서버로 전송하지 않습니다.
- 무결성 검증 — 수료증은 서버에서 채점하고 서명(HMAC)을 붙여 위조를 방지합니다.
- 표시 이름 가림 — 수료증 검증은 로그인 없이 열려 있어야 하므로, 번호를 훑어 이름을 모으는 일을 막기 위해 검증 응답의 이름은 일부를 가려(예: 홍*동) 내려보냅니다. 수료증 문서 자체는 브라우저에서 직접 조회할 수 없습니다.
C/C++ 코딩 표준 페이지와 개발보안 아카데미의 연습 IDE에서 “실행”을 누르면, 편집기에 있는 코드 전문이 원격 컴파일 서비스 wandbox.org로 전송됩니다. 이는 이용자가 직접 실행을 눌렀을 때만 일어나며, 실행 전에 전송 사실을 알리고 취소할 수 있도록 확인 창을 띄웁니다. 사내 코드나 비공개 코드는 붙여넣지 마시기 바랍니다. 전송되는 내용은 이용자가 편집기에 입력한 코드이며, 계정 정보나 학습 기록은 함께 보내지 않습니다.
10개인정보 자동 수집 장치의 설치·운영 및 거부
- 서비스는 학습 진도와 화면 설정을 저장하기 위해 브라우저의 localStorage를 사용합니다. 이는 이용자의 기기에 저장되며, 로그인하지 않으면 서버로 전송되지 않습니다.
- 로그인 상태 유지를 위해 Firebase Authentication이 인증 토큰을 브라우저에 저장합니다.
- 거부 방법 — 브라우저 설정에서 사이트 데이터 저장을 차단하거나,
[설정 > 개인정보 보호 > 인터넷 사용 기록 삭제]로 언제든 삭제할 수 있습니다. 다만 이 경우 학습 진도가 저장되지 않습니다. - 서비스는 광고 목적의 추적이나 제3자 행태정보 수집을 하지 않으며, 분석용 추적 도구를 설치하지 않습니다.
11정보주체의 권리·의무 및 행사방법
이용자는 언제든지 다음의 권리를 행사할 수 있습니다.
- 열람 — 저장된 학습 기록은 내 학습 현황에서 직접 확인할 수 있습니다.
- 정정 — 계정의 이름·이메일은 Google 계정에서 변경하시면 다음 로그인 시 반영됩니다.
- 내려받기 — 내 학습 현황의 ‘내 데이터’에서 브라우저 기록과 서버 기록을 각각 JSON으로 받을 수 있습니다.
- 삭제·처리정지 — 내 학습 현황의 ‘서버 기록 삭제’를 직접 누르시거나, 아래 14항의 연락처로 요청하실 수 있습니다. 브라우저에서 로그아웃하고 사이트 데이터를 삭제하면 기기에 남은 기록도 제거됩니다.
삭제 시 학습 진도·순위·자가 기록은 지워집니다. 다만 이미 발급된 수료증의 발급 사실 자체는 남깁니다 — 제3자에게 이미 전달된 검증 링크가 깨지지 않도록 하기 위해서입니다. 대신 그 기록의 이름은 익명으로 바꿉니다(개인 식별 정보 제거). 발급 사실까지 지우기를 원하시면 14항으로 요청해 주세요.
권리 행사는 서면·전자우편 등을 통해 하실 수 있으며, 서비스는 요청을 받은 날부터 10일 이내에 조치합니다. 법정대리인이나 위임받은 대리인을 통해서도 행사하실 수 있습니다.
요청에 대한 조치에 불복이 있는 경우 아래 14항의 연락처로 이의를 제기하실 수 있으며, 15항의 기관을 통해 분쟁조정이나 침해신고를 하실 수도 있습니다.
1214세 미만 아동의 개인정보
서비스는 만 14세 미만 아동을 대상으로 하지 않으며, 아동의 개인정보를 알면서 수집하지 않습니다. 만 14세 미만 아동이 법정대리인의 동의 없이 로그인한 사실을 알게 된 경우 해당 정보를 지체 없이 파기합니다. 해당 사실을 발견하신 법정대리인은 14항의 연락처로 알려주시기 바랍니다.
13자동화된 결정
서비스는 수료 시험을 자동으로 채점하지만, 이는 정해진 정답과 대조하는 단순 채점으로 이용자의 권리·의무에 중대한 영향을 미치는 「개인정보 보호법」 제37조의2의 자동화된 결정에는 해당하지 않습니다. 채점 결과에 이의가 있으시면 14항의 연락처로 문의하시면 사람이 직접 확인합니다.
서비스는 프로파일링에 기반한 추천·평가·차별적 처우를 하지 않습니다.
14개인정보 보호책임자
서비스는 개인정보 처리에 관한 업무를 총괄해서 책임지고, 개인정보 처리와 관련한 정보주체의 불만 처리 및 피해 구제 등을 위하여 아래와 같이 개인정보 보호책임자를 지정하고 있습니다.
| 구분 | 내용 |
|---|---|
| 개인정보 보호책임자 | 성명 / 직책 |
| 문의처 | jackhwang0210@gmail.com |
개인정보 보호와 관련한 모든 문의, 불만 처리, 피해 구제, 열람·정정·삭제·처리정지 요청을 위 연락처로 접수하실 수 있습니다.
15정보주체의 권익침해 구제방법
개인정보 침해로 인한 구제를 받기 위하여 아래 기관에 분쟁조정이나 상담 등을 신청하실 수 있습니다.
| 기관 | 연락처 |
|---|---|
| 개인정보분쟁조정위원회 | (국번없이) 1833-6972 · www.kopico.go.kr |
| 개인정보침해신고센터 | (국번없이) 118 · privacy.kisa.or.kr |
| 대검찰청 | (국번없이) 1301 · www.spo.go.kr |
| 경찰청 | (국번없이) 182 · ecrm.police.go.kr |
16개인정보 처리방침의 변경
이 처리방침은 YYYY-MM-DD부터 적용됩니다.
법령·정책 또는 서비스 내용의 변경에 따라 내용의 추가·삭제·수정이 있을 경우에는 변경 사항의 시행 7일 전부터 이 페이지를 통해 고지합니다. 다만 이용자 권리에 중요한 변경이 있는 경우에는 최소 30일 전에 고지합니다.