개인정보처리방침
수집·저장·전송하지 않습니다
업로드된 CSV 파일과 그 안의 모든 데이터(이름·사번·입사일·부서 등)는 사용자의 브라우저 안에서만 처리되며, 어떤 서버로도 전송되지 않고, 어디에도 저장되지 않습니다. 계산이 끝나 결과 CSV를 다운로드하고 브라우저 탭을 닫으면 데이터는 사라집니다.
증명 방법: 브라우저 개발자도구 → 네트워크 탭을 켠 상태로 파일 업로드부터 결과 다운로드까지 진행하면 파일 내용을 실은 outbound 요청이 0건 임을 직접 확인할 수 있습니다 (아래 「계산 완료 카운터」·「애널리틱스」 항목의 익명 요청 2건은 예외).
쿠키·세션·계정
없습니다. 로그인·회원가입·저장 기능이 존재하지 않습니다.
계산 완료 카운터
결과 화면 하단의 「N 명이 계산 완료했습니다」 카운트는 유일한 서버 저장 항목입니다. 결과 화면이 로드될 때 /api/visits 로 요청 1건이 전송되며, 서버는 다음만 처리합니다.
- 총 카운트 — 정수 하나. 「지금까지 몇 번 계산 완료되었는가」
- IP 해시 — SHA-256(IP + salt). 24시간 TTL. 같은 방문자의 재계산을 중복 카운트하지 않기 위함
- 레이트리밋 윈도우 — 같은 IP 해시에 대한 최근 1시간 요청 카운트. 남용 방지 (20회/시간). 자동 만료
저장하지 않는 것: IP 원본 · User-Agent · Referer · 시간대 · CSV 파일 내용 · 계산 결과 · 이름 · 사번 · 입사일. 이 요청 바디는 비어 있으며, 서버는 헤더에서 IP 만 읽어 즉시 해시합니다.
저장소: Upstash Redis (Vercel Marketplace 통합, 리전 = 아시아 태평양). 24시간 후 dedup 키는 자동 삭제됩니다.
애널리틱스
방문자 수 파악 목적으로 Vercel Web Analytics 를 사용합니다. 페이지 방문 이벤트(경로·리퍼러·디바이스 유형·대략적 지역)만 익명 집계하며, 다음은 수집·저장하지 않습니다: 쿠키 · 광고 식별자 · 개인 식별 정보(PII) · IP 원본. 업로드하신 CSV 파일의 내용은 이 애널리틱스와 무관하며, 여전히 어떤 서버로도 전송되지 않습니다.
애널리틱스 스크립트는 /_vercel/insights/script.js (배포 도메인 same-origin) 에서 로드되며, 이벤트는 같은 도메인의 /_vercel/insights/* 로 전송됩니다. 에러 리포팅 도구는 사용하지 않습니다.
호스팅
정적 파일(HTML·CSS·JS)은 Vercel CDN 을 통해 배포됩니다. Vercel 은 파일 요청 시점의 IP 주소·User-Agent 등을 배포 로그로 남길 수 있지만, 이는 업로드한 CSV 내용과는 무관합니다.