위치정보 이용 안내 (초안)
법률 검토를 받지 않은 초안이다. 아래 6절의 확인 항목을 전문가·방송통신위원회에 확인하기 전에는 실제 직원의 위치를 받지 않는다.
이 문서는 2026-09-20 기준 구현(attendance/services/punches.py, attendance/static/attendance/employee.js)을 그대로 기술한다.
1. 언제 묻는가
출근과 퇴근 버튼을 누른 그 순간에만 묻는다.
- 휴게 시작·종료는 위치를 묻지 않는다.
- 앱을 켜 두는 동안 위치를 계속 받지 않는다. 백그라운드 추적, 이동 경로 수집, 근무 중 위치 확인이 없다.
- 저장된 이전 위치를 재사용하지 않는다(
maximumAge: 0). 매번 새로 측정한다. - 최대 8초 기다리고 응답이 없으면 포기한다. 화면에 "위치를 확인하고 있습니다. 최대 8초가 걸립니다."라고 미리 알린다.
- 브라우저의 위치 권한 창은 직원이 직접 허용하거나 거부한다.
2. 무엇을 저장하는가
측정한 위도·경도·정확도는 서버가 판정하는 그 순간에만 쓰고 저장하지 않는다. 남는 것은 다음 다섯 가지다.
| 저장 항목 | 값 |
|---|---|
| 판정 결과 | 위치 확인 / 확인 필요 / 매장 밖 / 위치 불필요 |
| 거리 구간 | 0-50m · 51-150m · 151-500m · 501m+ · 알 수 없음 |
| 정확도 구간 | 0-25m · 26-50m · 51-100m · 101m+ · 알 수 없음 |
| 판정 기준 버전 | v2-150m |
| 실패 사유 | 거부 / 시간 초과 / 확인 불가 / 미지원 / 형식 오류 |
원본 좌표는 DB에도 로그에도 남지 않는다. 저장 구조에 위도·경도 컬럼 자체가 없고, 자동 검사가 그 사실을 매번 확인한다.
다만 중복 저장 방지용 확인 해시는 그 순간의 좌표를 입력에 포함해 계산한다. 되돌릴 수 없는 단방향 값이지만 좌표에서 파생됐다는 점은 밝혀 둔다.
매장 좌표(점주가 직접 입력)는 저장한다. 이것은 직원 개인의 위치가 아니라 사업장 위치다.
3. 어떻게 판정하는가
매장 좌표가 등록돼 있을 때만 거리를 계산한다. 반경은 매장 설정에서 정하고 기본값은 150m다.
- 위치 확인: 정확도가 100m 이하이고,
거리 + 정확도 ≤ 반경일 때만 - 매장 밖:
거리 - 정확도 > 반경일 때 - 확인 필요: 그 밖의 모든 경우
두 방향 모두 정확도를 보수적으로 더하고 빼서 판단한다. 휴대폰이 알려준 오차 범위 안에서 매장 안일 수도 있으면 '매장 밖'으로 찍지 않는다.
반경 하한은 50m다. 휴대폰 위치 정확도만으로도 수십 m가 나오기 때문에, 그보다 좁히면 정상 출근도 전부 검토 대상이 된다.
150m·100m는 시범판의 초기 설정이다. 검증된 정확도가 아니며 매장마다 조정한다.
4. 거부하거나 실패하면
기록은 그대로 저장되고 '확인 필요'로 남는다. 출퇴근이 막히지 않는다.
점주가 확인 필요 기록을 검토한다. 검토는 원래 판정을 덮어쓰지 않고 '누가 언제 검토했다'를 덧붙인다.
위치 확인 실패를 부정 근무로 단정하지 않는다. 지하·실내·건물 사이에서는 정상 근무여도 위치가 잡히지 않는다.
5. 직원이 할 수 있는 것
- 위치 권한을 거부해도 출퇴근을 기록할 수 있다(검토 대상이 된다).
- 휴대폰 설정에서 위치 권한을 언제든 다시 끌 수 있다.
- 본인 기록의 위치 판정 결과를 앱에서 직접 본다.
- 판정이 틀렸다고 생각하면 정정 요청을 남긴다.
6. 확정 전에 확인할 것 — 법률 검토 항목
원본 좌표를 저장하지 않고 순간 판정에만 쓰지만 수집 자체는 발생한다. 아래는 우리가 판단할 수 없는 항목이고, 답에 따라 절차나 구현이 바뀐다.
- 위치기반서비스사업 신고 — 「위치정보의 보호 및 이용 등에 관한 법률」상 방송통신위원회 신고 대상인지. 유상 서비스로 전환하는 시점과의 관계도 함께 확인한다.
- 개인위치정보 수집·이용 동의 — 필요한 동의의 형식(별도 동의 여부, 문구, 철회 방법)과 기록 방법. 현재는 출퇴근 버튼을 누를 때 브라우저 권한 창만 뜬다.
- 8세 이하 아동 등 보호 대상 관련 조항 해당 여부.
- 이용·제공 사실 확인자료 보관 의무(누구의 위치를 언제 확인했는지에 대한 대장) 해당 여부와 보관 기간. 현재 그런 대장을 따로 만들지 않는다. 필요하다면 구현을 추가해야 한다.
- 사업주가 직원의 위치를 확인하는 행위에 근로 관계 법령상 추가 제약이 있는지(취업규칙·근로자대표 협의 등).
- 위 항목의 결론에 따른 약관·동의 문구 확정과 앱 안 표시 위치.
확인 결과와 날짜, 확인해 준 사람을 아래에 남긴다.
| 항목 | 결론 | 근거·출처 | 확인일 | 확인자 |
|---|---|---|---|---|
| 1 사업 신고 | ||||
| 2 수집 동의 형식 | ||||
| 3 보호 대상 조항 | ||||
| 4 확인자료 대장 | ||||
| 5 근로 관계 제약 | ||||
| 6 문구 확정 |