공직플랜(PlanRoutine) 개인정보 처리방침
이 문서는 앱 출시 전 웹에 호스팅되어 App Store 지원 URL, Google OAuth 동의 화면,
Play Console 앱 콘텐츠, 그리고 앱 내 설정 › 개인정보처리방침에서 링크로
참조됩니다. 최종 개정일: 2026-08-02.
1. 개요
공직플랜(이하 “본 앱”)은 초등 교사를 위한 업무 일정 관리 앱입니다. 본 앱은
사용자의 업무 일정을 기기 내에만 저장하는 것을 기본 원칙으로 하며, 사용자가
명시적으로 동의한 범위에서만 외부 서비스(Google Calendar, 국토교통부 TAGO,
경기도 GBIS)와 연동합니다.
2. 수집하는 개인정보 항목
| 구분 |
항목 |
수집 시점 |
저장 위치 |
| Google 계정 |
이메일, 표시 이름, 프로필 이미지 URL |
“Google 캘린더 연결” 선택 시 |
메모리(세션) + 기기 내 캐시 |
| Google OAuth 토큰 |
액세스 토큰 |
Google 로그인 성공 후 |
iOS: 기기 Keychain / Android: 앱이 저장하지 않음(Google Play 서비스가 계정 자격증명을 보관하고, 앱은 요청 시마다 단기 토큰을 받아 메모리에서만 사용) |
| Google OAuth 토큰 |
리프레시 토큰 |
Google 로그인 성공 후 |
iOS: 기기 Keychain / Android: 앱에 오지 않음(Google Play 서비스가 계정 자격증명을 보관) |
| 업무 일정 |
제목, 설명, 날짜, 카테고리 |
사용자가 CSV 가져오기·수동 입력·CSV 임포트 시 |
기기 내 SQLite |
| 캘린더 이벤트 |
제목, 설명, 시작/종료 시각, 색상 |
사용자가 생성/편집 시 |
기기 내 SQLite |
| 알림 설정 |
이번 주/당일 스위치, 알림 시각 |
사용자가 설정 탭에서 변경 시 |
기기 내 shared_preferences |
| 버스 정류장 설정 |
정류장 ID·이름·번호·도시코드·선택 노선, 출퇴근 시간대 |
사용자가 정류장을 등록할 때 · 설정 탭에서 변경 시 |
기기 내 shared_preferences(기기 백업 사본에 포함 — §5-4) |
본 앱은 위치 정보, 연락처, 사진, 마이크, 카메라 정보를 수집하지 않습니다.
3. 개인정보 이용 목적
- Google Calendar 이벤트 생성 (단방향) — 사용자가 명시적으로 “Google 저장”
스와이프 또는 이벤트 편집 화면에서 “Google 캘린더에도 저장” 체크를 한 경우,
해당 이벤트를 사용자의 Google 캘린더에 생성합니다. 본 앱은 Google 캘린더의
기존 이벤트를 읽거나 수정·삭제하지 않습니다.
- 로컬 알림 예약 — 이번 주(월요일)·당일 아침 알림을 기기 시스템에 예약하기
위해 일정 정보를 사용합니다. 이 정보는 외부로 전송되지 않습니다.
- 사용자 인증 상태 유지 — Google 계정 연결이 유지되는 동안만 인증 상태를
유지합니다. iOS는 OAuth 토큰을 Keychain에 저장하고, Android는 토큰을 앱에
저장하지 않으며 요청할 때마다 Google Play 서비스에서 단기 토큰을 받습니다(§2).
“로그아웃”을 선택하면 즉시 제거됩니다.
4. 개인정보 보유 및 이용 기간
- 일정·캘린더 이벤트(기기 내 SQLite): 사용자가 앱을 삭제하거나, 설정 →
데이터 관리 → “전체 데이터 초기화”를 실행할 때까지 보관됩니다.
“전체 데이터 초기화”가 지우는 범위는 이 DB뿐입니다.
- 앱 설정(알림 설정·완료 도장·화면 테마·버스 정류장 설정 등, 기기 내
shared_preferences): “전체 데이터 초기화”로는 지워지지 않으며, 앱을
삭제할 때까지 기기에 남습니다.
- 휴지통 항목: 삭제 후 30일이 지나면 앱 시작 시 자동으로 영구 삭제됩니다.
- Google OAuth 토큰: 사용자가 “로그아웃” 또는 Google 계정 연결을 해제할
때까지 보관됩니다.
- 서버측 저장 없음: 본 앱은 자체 서버를 운영하지 않으며, 사용자 데이터를
개발자에게 전송하지 않습니다.
- 기기 백업 사본: 위 보유기간은 기기 내 원본 기준입니다. 기기 백업이 켜져
있으면 일정·캘린더 이벤트와 앱 설정의 사본이 사용자 본인 클라우드에 별도로
남을 수 있으며, 앱 삭제나 “전체 데이터 초기화” 이후에도 그 사본은 기기 설정에서
따로 지워야 합니다 — §5-4.
5. 개인정보 제3자 제공
본 앱은 사용자의 개인정보를 제3자에게 제공하지 않습니다. 단, 사용자가 직접
선택한 범위에서 Google(Google Calendar API) 에게 이벤트 정보가, 국토교통부
국가대중교통정보센터(TAGO) 와 경기도(경기도 버스정보시스템, GBIS) 에게 버스
조회 정보가 전송됩니다. Google로의 전송은 사용자가 스와이프 또는 명시적 토글로
승인한 개별 이벤트에 한하며, 버스 조회 정보의 전송은 사용자가 버스 도착 카드를
켠 경우에 한합니다(§5-3).
5-1. Google API Services User Data Policy — Limited Use 준수
본 앱이 Google Calendar API를 통해 접근하는 데이터(scope:
https://www.googleapis.com/auth/calendar.events)는 Google API Services
User Data Policy의
Limited Use 요구사항을 준수하여 처리됩니다:
- 사용 목적 한정: 본 앱은 사용자가 명시적으로 승인한 단일 이벤트를 사용자
본인의 Google Calendar에 생성·갱신하는 목적으로만 데이터를 사용합니다.
다른 목적(광고, 분석, 머신러닝 학습 등)으로 사용하지 않습니다.
- 전송 한정: 사용자 데이터는 사용자 본인의 Google 계정 외 제3자에게
전송되지 않습니다. 본 앱은 자체 서버나 외부 분석 서비스를 운영하지 않으며,
Google Calendar API와의 통신은 사용자 기기와 Google 서버 사이에서만 직접
이뤄집니다.
- 인간 검토 없음: 본 앱 개발자는 사용자의 Google Calendar 데이터를
읽거나 수동으로 검토하지 않습니다. 권한 범위 자체가 단방향 쓰기로
제한돼 있어 기존 이벤트를 읽는 행위가 기술적으로 불가능합니다.
- 양도 금지: Google 사용자 데이터를 다른 앱·서비스·개인에게 양도하거나
판매하지 않습니다.
5-2. Google 이벤트 ID 로컬 보관
본 앱은 사용자가 Google Calendar에 저장한 이벤트의 고유 ID(google_event_id)
를 기기 내 로컬 SQLite DB에 보관합니다. 이는 동일 일정을 사용자가 다시
“Google 저장”으로 슬라이드했을 때 중복 생성을 방지하고 기존 이벤트를 갱신
하기 위한 용도이며, 이 ID는 개발자 서버나 외부 어디로도 전송되지 않습니다.
5-3. 버스 조회(국토교통부 TAGO · 경기도 GBIS)
버스 도착 카드를 켠 경우, 조회 시점에 등록한 정류장 ID와 도시코드가 공공데이터
포털(apis.data.go.kr)을 거쳐 그 정류장을 담당하는 기관으로 전송됩니다 —
경기도 정류장은 경기도 버스정보시스템(GBIS), 그 밖의 지역은 국토교통부
국가대중교통정보센터(TAGO) 입니다. 앱은 이용자를 식별하는 정보를 함께 보내지
않으며, 조회 결과를 별도 서버에 저장하지 않습니다. 정류장 설정은 기기 안에만
보관됩니다.
정류장을 찾을 때 입력한 검색어(정류장 이름)와 화면에서 고른 후보 정류장의 ID도
조회에 사용됩니다. 즉 정류장을 등록하기 전에도, 검색 화면에서 도시 목록·정류장
검색(TAGO)과 후보 정류장의 경유노선·도착 정보 조회 과정에서 같은 서버로 요청이
나갑니다.
HTTPS 요청이므로 기기의 IP 주소가 조회 대상 서버의 접속 기록에 남습니다(앱이
별도로 보내는 식별 정보는 없습니다).
버스 도착 카드는 기본적으로 꺼져 있으며, 켜지 않으면 버스 도착 정보 조회를
위한 통신은 발생하지 않습니다.
5-4. 기기 백업으로 생기는 사본
본 앱은 기기 백업을 허용합니다(android:allowBackup="true"). 기기를 바꿀 때
1년치 업무 일정을 그대로 옮기기 위한 선택입니다.
- Android: Android Auto Backup이 앱의 일정 데이터베이스와 앱 설정을 사용자 본인의
Google Drive에 백업합니다. 이 사본은 Google 계정 소유자만 접근할 수 있고,
개발자는 접근할 수 없습니다.
- iOS: iCloud 백업이 켜져 있으면 같은 성질의 사본이 사용자 본인 iCloud에 생깁니다.
- 백업을 원하지 않으면 기기 설정에서 이 앱의 백업을 끌 수 있습니다
(Android: 설정 › Google › 백업 / iOS: 설정 › Apple 계정 › iCloud).
- 앱을 삭제해도 이 사본은 사용자 클라우드에 남을 수 있습니다 — 기기 설정에서 지웁니다.
6. 개인정보 안전성 확보 조치
- OAuth 토큰: iOS는 Keychain(
kSecClass = kSecClassGenericPassword)에 저장돼
기기 잠금 해제 시에만 접근 가능합니다. Android는 토큰을 앱에 저장하지 않습니다 —
Google Play 서비스가 계정 자격증명을 보관하고, 앱은 요청할 때마다 단기 액세스
토큰을 받아 메모리에서만 사용합니다.
- 로컬 DB: 앱 샌드박스 내 저장. 타 앱에서 접근 불가.
- 네트워크 통신: Google 로그인(계정 인증·토큰 발급), Google Calendar API 통신,
버스 조회(국토교통부 TAGO·경기도 GBIS — 둘 다 공공데이터포털
apis.data.go.kr)는 전부 HTTPS(TLS 1.2 이상, 실측 TLS 1.3)로 이루어집니다.
이 셋이 본 앱이 외부와 주고받는 통신 전부입니다.
- 최소 권한: Google 요청 권한 범위는
https://www.googleapis.com/auth/calendar.events
(이벤트 생성/편집/삭제)로 제한됩니다. 캘린더 목록이나 설정은 접근하지 않습니다.
7. 사용자의 권리
사용자는 언제든지 다음 권한을 행사할 수 있습니다:
- 수집 거부: Google 계정 연결과 버스 도착 카드는 둘 다 기본이 꺼짐이며, 두
기능을 켜지 않으면 본 앱은 외부로 데이터를 전송하지 않습니다(로컬 일정 관리만 사용).
단, 기기 백업이 켜져 있으면 이 두 기능과 무관하게 로컬 데이터의 사본이 사용자
본인 클라우드에 저장될 수 있습니다 — §5-4.
- 연결 해제: 설정 → 구글 계정 → 로그아웃. 즉시 토큰이 제거됩니다.
- 데이터 열람·삭제: 앱 내에서 모든 일정·이벤트를 직접 확인·삭제할 수 있으며,
설정 → 데이터 관리 → “전체 데이터 초기화”로 일정·이벤트를 일괄 삭제할 수
있습니다. 알림·완료 도장·화면 테마·버스 정류장 등 앱 설정은 이 초기화로
지워지지 않으며, 지우려면 앱 삭제가 필요합니다.
- 앱 삭제: 홈 화면(iOS)·런처(Android)에서 앱을 삭제하면 기기 내 모든 데이터가
즉시 제거됩니다(각 플랫폼 표준 동작). 단, 기기 백업이 켜져 있던 경우 클라우드에
남은 사본은 함께 지워지지 않습니다 — §5-4.
8. 아동의 개인정보 보호
본 앱은 초등 교사를 위한 업무 도구로, 14세 미만 아동을 대상으로 서비스를
제공하지 않습니다.
9. 개정 이력
- 2026-04-22: 초안 작성
- 2026-05-04: Google API Services User Data Policy의 Limited Use 준수 항목(§5-1)
- 2026-07-29: 버스 도착 정보 조회(§5-3) 추가 — 국토교통부 TAGO 서버로 정류장
ID·도시코드·검색어·후보 정류장 ID가 전송되는 경로와 접속 기록에 남는 IP 주소를
명시. 기본 꺼짐. 두 번째 외부 연동이 생긴 것에 맞춰 §1·§2·§5·§6도 함께 갱신
(§6의 통신 열거에 Google 로그인을 포함). §4·§7의 보유·삭제 서술도 실제 범위에
맞춰 정정 — “전체 데이터 초기화”는 일정·이벤트(DB)만 지우고, 버스 정류장을
포함한 앱 설정(shared_preferences)은 앱을 삭제할 때까지 남는다는 것을 명시.
- 2026-07-29: 경기도 정류장의 버스 조회 수신처가 경기도(GBIS) 로 바뀐 것을
반영(§1·§5·§5-3·§6). 도착 시간이 더 정확하고 그 정류장에 오는 서울·인천 노선까지
보이지만, 요청이 국토교통부가 아닌 다른 기관으로 가므로 수신처를 밝힌다. 같은
전환으로 정류장 등록 시 경유노선 목록 조회가 추가된 것도 §5-3에 명시.
두 경로 모두 공공데이터포털(
apis.data.go.kr) HTTPS이고, 전송 항목(정류장 ID·
검색어)과 기본 꺼짐은 그대로다.
- 2026-08-02: Android 출시에 맞춰 iOS 전용 서술을 정정(§1·§2·§3·§6·§7·각주) —
Google OAuth 토큰의 저장 위치를 플랫폼별로 §2 표에서 분리(Android는 토큰을
앱에 저장하지 않음), 로컬 알림 예약·앱 삭제 서술에서 iOS 한정 표현을
제거. 기기 백업으로 생기는 클라우드 사본을 설명하는 §5-4를 신설하고,
§2(버스 정류장 설정 행)·§4·§7이 그 사실과 어긋나지 않도록 교차 참조를
추가. 각주에 Google Play User Data 정책을 함께 명시. §6의 통신 열거(§6
세 번째 항목)는 손대지 않음 — 지금도 사실이다.
10. 연락처
개인정보 처리 관련 문의:
본 문서는 Google API Services User Data Policy, Google Play User Data 정책, 및
App Store Review Guidelines §5.1.1(개인정보 수집)을 준수하기 위해 작성되었습니다.