← TeacherDesk 2 설명서로
개인정보 처리방침
TeacherDesk 2가 무엇을 저장하고, 무엇을 밖으로 보내는지 밝힌 문서입니다.
학교에 설명하셔야 할 때 이 주소를 그대로 보여 주시면 됩니다.
TeacherDesk 2 · 시행일 2026년 9월 30일(구글 정보 공유 · 보호 장치 명시) · 만든 사람 김주현(광평중학교)
1한 줄로 말하면
기본은 선생님 컴퓨터에만 저장됩니다.
명렬·출결·일정·메모 같은 기록은 이 프로그램을 만든 사람도 볼 수 없습니다. 만든 사람의 서버에 올리지 않기 때문입니다.
선생님이 「PC 간 동기화」에 구글 계정으로 로그인하신 경우에만, 같은 기록이
선생님 본인 구글 드라이브의 앱 전용 칸에도 저장됩니다(3번 항목). 이것도 만든 사람은 볼 수 없습니다.
급식·학사일정·날씨는 인터넷을 씁니다 — 나가는 것은 학교 코드와 지역 이름뿐입니다(4번 항목).
여기에 더해 몇 분이 쓰시는지 세는 익명 집계가 하루 한 번 있고, 설정에서 끌 수 있습니다(5번 항목).
2컴퓨터에 저장되는 것
전부 %APPDATA%\TeacherDesk2 폴더에 저장됩니다.
| 무엇 | 예 |
| 명렬 | 학생 번호·이름·비고, 넣으셨다면 학생·부모 연락처와 선택과목 |
| 학급 기록 | 출결, 누가기록(활동·상담), 생기부 저장글 |
| 학교 업무 | 할 일, D-Day, 일정, 메모, 진도, 시간표, 주간학습안내, 내선번호 |
| 설정 | 학교 정보, 화면 배치·디자인, API 키, 구글 캘린더 주소, 앨범 사진 |
| 서랍 | 바탕화면의 실제 폴더입니다. 프로그램은 위치만 기억합니다 |
파일 자체는 암호로 잠겨 있지 않습니다. 컴퓨터 로그인 암호가 1차 보호막이니, 학교 공용 PC라면 윈도우 계정을 나눠 쓰시길 권합니다.
다만 API 키·구글 캘린더 주소·업무포털 인증서 비밀번호·구글 로그인 정보는 암호화해 두어, 파일을 복사해 다른 계정·다른 컴퓨터로 옮기면 풀리지 않습니다.
3PC 간 동기화 (구글 드라이브)
학교 PC와 집 PC처럼 여러 컴퓨터에서 같은 기록을 쓰고 싶은 분을 위한 기능입니다.
기본은 꺼져 있고, 설정 → [데이터] 탭에서 [구글로 로그인]을 누르셨을 때만 켜집니다.
어디에 저장되나요
- 로그인한 선생님 본인의 구글 드라이브 안 «앱 전용 칸»(appDataFolder)입니다. 드라이브 목록에는 보이지 않습니다.
- 이 프로그램은 그 칸만 쓸 수 있고, 선생님의 다른 드라이브 파일은 볼 수 없습니다.
- 만든 사람의 서버를 거치지 않습니다. 저장 공간은 선생님 구글 계정 용량을 씁니다.
구글에 요청하는 권한 (PC 간 동기화는 이 셋이 전부입니다)
| 권한 | 쓰는 곳 |
drive.appdata | 앱 전용 칸에 동기화 자료를 저장하고 읽기 |
email | 어느 계정으로 동기화하고 있는지 설정 화면에 보여 드리기 |
openid | 로그인 확인 |
함께 옮겨지는 것
- 할 일·일정·메모·진도·시간표·출결·명렬(연락처 포함)·누가기록·생기부 저장글
- 설정·위젯 위치·디자인, API 키·나이스 키·구글 캘린더 주소 — 컴퓨터 안에서는 암호화해 두지만, 다른 컴퓨터에서도 쓰실 수 있게 드라이브의 앱 전용 칸에는 풀린 값으로 들어갑니다
- 앨범 사진·주간학습안내 원본 파일(한 파일 10MB까지 — 넘는 파일은 올리지 않아 그 컴퓨터에서만 보입니다)
옮기지 않고 컴퓨터마다 남는 것
- 업무포털·업무 메신저 자동 로그인 설정과 인증서 비밀번호
- 독에 꽂은 프로그램·파일, 서랍 폴더, 창 모드·쓸 모니터, 새 버전 알림 설정, 사용 집계 끄기 스위치
폰에서 보기·적기 (폰 연동, v3.40~)
PC 설정 → [데이터] → 「폰 연동」을 켜셨을 때만 동작합니다(기본 꺼짐). 권한은 위 표의 셋과 같습니다.
- PC가 폰에서 볼 몫(할 일·일정·시간표·급식·진도·메모·초과근무, [학생 자료도]를 켜셨으면 반별 명렬의 번호·이름·최근 45일 출결·학생마다 최근 상담·활동기록 20건)을 같은 앱 전용 칸에 따로 올립니다.
연락처·API 키·구글 캘린더 주소·생기부 저장글은 폰 몫에 넣지 않습니다.
- 폰 페이지(m.kimju.kr/td2)는 선생님이 같은 구글 계정으로 로그인하셨을 때 그 칸에서 폰 몫만 읽고, 폰에서 적은 것을 한 건씩 그 칸에 올립니다. 켜져 있는 PC가 받아 넣은 뒤 지웁니다. 만든 사람의 서버는 거치지 않습니다(폰 페이지 파일만 GitHub Pages에서 받습니다).
- 폰 브라우저에는 로그인한 계정 이메일, 1시간짜리 접근 열쇠, 아직 올리지 못한 입력, 학생 자료를 뺀 화면 사본, 폰 화면 설정만 저장합니다. 학생 자료는 폰에 저장하지 않습니다.
- 끄기 — PC 설정에서 폰 연동을 끄면 드라이브의 폰 몫을 지웁니다([학생 자료도]만 끄면 다음에 올릴 때 학생 자료가 빠집니다). 폰에서는 설정 → 로그아웃.
구글 캘린더 연결 (v3.57~)
선생님이 지금 쓰시는 구글 캘린더를 TeacherDesk 2 달력에서 보고 · 넣고 · 고치고 · 지우는 기능입니다.
기본은 꺼져 있고, PC 설정 → [학교] 탭의 [구글 캘린더 연결], 폰 페이지 설정의 [구글 캘린더 쓰기 켜기]를 누르셨을 때만 켜집니다.
PC 간 동기화 로그인과는 따로 허락을 받습니다.
| 권한 | 쓰는 곳 |
calendar.events | 선생님이 켜신 캘린더(본인 캘린더와 학년 · 학교처럼 공유받은 캘린더)의 일정을 읽고, 선생님이 TeacherDesk 2에서 넣고 · 고치고 · 지우라고 하신 일정만 바꾸기.
공유받은 캘린더는 주인이 «일정 변경» 권한을 준 경우에만 쓰고, «보기»만 준 캘린더는 보기만 합니다. |
calendar.calendarlist.readonly | 어느 캘린더를 달력에 보일지 고르실 수 있게 캘린더 이름 목록과 권한(쓰기 가능 · 보기만)만 읽기 |
email · openid | 어느 계정에 연결했는지 설정 화면에 보여 드리기 |
- 무엇을 읽나요 — 켜신 캘린더의 일정 제목 · 날짜 · 시각 · 반복 규칙. 일정 설명 · 장소 · 참석자 명단은 저장하지 않고 쓰지도 않습니다(참석자가 있는 일정은 보기만 합니다).
- 무엇을 쓰나요 — 선생님이 누르신 넣기 · 고치기 · 지우기만 구글 캘린더에 반영합니다. TeacherDesk 2만 쓰는 표시(중요 · 끝냄 · 알림)는 그 일정 안의 숨김 칸(비공개 확장 속성)에 적어 두어 선생님의 다른 PC · 폰이 같이 봅니다.
- 어디에 두나요 — PC는 받은 일정의 사본을 그 컴퓨터에 암호화해 두고 달라진 것만 받아 옵니다. 폰은 받은 일정을 화면에만 쓰고 폰에 저장하지 않습니다.
만든 사람의 서버를 거치지 않고, 선생님 PC · 폰이 구글과 직접 주고받습니다.
- 끄는 방법 — PC 설정 [학교] → [연결 끊기], 폰 설정 → [구글 캘린더 쓰기 끄기]. 그 기기에서만 빠지고 구글 캘린더의 일정은 그대로 남습니다.
구글 계정 → 연결된 앱에서 끊으실 수도 있습니다.
구글에서 받은 정보를 쓰는 원칙
TeacherDesk 2가 구글 API로 받은 정보를 쓰고 옮기는 방식은
Google API 서비스 사용자 데이터 정책의
제한적 사용(Limited Use) 요건을 따릅니다. 받은 정보는 선생님의 컴퓨터끼리 기록을 동기화하고 선생님의 구글 캘린더를 TeacherDesk 2에서 보고 고치는 데에만 쓰고,
광고에 쓰거나 다른 사람에게 넘기거나 팔지 않으며, AI 모델 학습에 쓰지 않고, 만든 사람을 포함해 누구도 사람이 직접 읽지 않습니다.
구글에서 받은 정보를 누구와 나누나요 (공유 · 전달 · 공개)
- 아무와도 나누지 않습니다. 구글 드라이브 · 구글 캘린더에서 받은 정보는 만든 사람을 포함한 어떤 개인 · 회사 · 기관에도 공유하거나 전달하거나 공개하지 않습니다. 팔지도 않습니다.
- 이 정보는 선생님 본인의 PC · 폰과 구글 사이에서만 오갑니다. 만든 사람의 서버는 이 길에 없습니다.
- 사용 집계 · 오류 기록 · 의견 보내기(4번 항목)에는 구글에서 받은 정보(일정 · 드라이브 자료 · 계정 이메일)를 넣지 않습니다.
- 예외는 두 가지뿐입니다 — ① 선생님이 직접 하시는 일(예: 일정을 다른 사람과 공유된 캘린더에 넣기, 파일로 내보내기) ② 법령에 따라 제출이 요구되는 경우. 이 프로그램은 만든 사람에게 구글 정보를 보내지 않으므로 ②로 내줄 정보도 만든 사람에게는 없습니다.
구글에서 받은 정보를 어떻게 지키나요 (보호 장치)
- 주고받을 때 — 구글과는 암호화된 연결(HTTPS/TLS)로만 주고받습니다.
- 로그인 — 구글 공식 로그인 화면에서 선생님이 직접 허락하십니다(PKCE를 쓴 OAuth 2.0). 프로그램은 구글 비밀번호를 보지도, 저장하지도 않습니다.
- PC에 둘 때 — 구글 로그인 열쇠(갱신 토큰)와 받은 일정 사본은 윈도우 사용자 계정 키로 암호화(Electron safeStorage · Windows DPAPI)해 저장합니다. 암호화를 쓸 수 없는 PC에서는 저장하지 않고, 켤 때마다 다시 로그인하게 합니다.
- 폰에 둘 때 — 폰 페이지는 1시간짜리 접근 열쇠만 브라우저에 두고, 캘린더 일정과 학생 자료는 폰에 저장하지 않습니다.
- 필요한 만큼만 — 기능에 필요한 최소 권한만 요청하고, 캘린더는 선생님이 켜신 캘린더만, 일정은 제목 · 날짜 · 시각 · 반복 규칙만 씁니다.
- 지우기 — 연결을 끊거나 로그아웃하면 그 기기의 열쇠와 사본을 지웁니다. 구글 계정 → 연결된 앱에서 끊으면 모든 기기의 접근이 한 번에 막힙니다.
끄고 지우는 방법
- [로그아웃] — 그 컴퓨터의 기록은 그대로 남고, 그때부터 다시 그 컴퓨터에만 저장됩니다. 로그아웃은 그 컴퓨터에만 해당하니, 쓰시던 컴퓨터마다 눌러 주세요.
- [드라이브에 올린 자료 지우기] — 구글 드라이브의 동기화 자료를 모두 지우고 로그아웃합니다.
다른 컴퓨터에서도 로그아웃해 주셔야 그 컴퓨터가 다시 올리지 않습니다.
- 구글 계정에서 직접 끊으실 수도 있습니다 —
구글 계정 → 연결된 앱에서 TeacherDesk2의 액세스를 삭제하세요. 여기서 끊으면 모든 컴퓨터의 로그인이 함께 풀립니다.
4밖으로 나가는 것
가. 급식 · 학사일정 · 시간표 (NEIS)
학교 코드만 나갑니다. 학생 정보는 나가지 않습니다.
나. 날씨
지역을 찾을 때 학교 주소 일부·학교 이름(또는 넣으신 지역명)이, 그 뒤로는 좌표만 나갑니다.
다. 구글 캘린더 · 전광판 시트 · 컴시간 · 새 버전 확인
넣으신 주소·학교로 받아 오기만 합니다. [구글 캘린더 연결]을 켜신 경우에만 선생님이 넣고 · 고치고 · 지우신 일정이 선생님 구글 캘린더로 갑니다(3번 항목).
라. PC 간 동기화
로그인하신 경우에만, 3번 항목의 기록이 선생님 본인 구글 드라이브로 갑니다.
마. 익명 사용 집계
하루에 한 번 무작위 번호 · 앱 이름 · 앱 버전 · 윈도우 버전 네 가지만 보냅니다.
무작위 번호는 그 컴퓨터에서 만든 난수라 누구인지 되짚을 수 없습니다.
바. 오류 기록
프로그램이 예상 못 한 오류로 꺼지면, 다음에 켤 때 그 기록을 보냅니다.
파일 경로는 통째로 버리고 확장자만 남깁니다 — 파일 이름이 곧 학생 이름인 경우가 많기 때문입니다.
하루 5건까지만 보내고 같은 오류는 한 번만 셉니다.
업무포털 자동 로그인이 실패했을 때는 어느 단계에서 멈췄는지와 그때 뜬 문구가 함께 갑니다(인증서 아이디·비밀번호·학교 이름은 나가지 않습니다).
사. 의견 보내기와 답장
[보내기]를 누르셨을 때만 적으신 내용과 앱 버전·윈도우 버전이 갑니다.
답장은 그 컴퓨터의 무작위 번호로 보낸 의견에만 돌아오므로 다른 분의 의견은 볼 수 없습니다.
아. 공지
받아만 옵니다. 이 길로 나가는 것은 없습니다.
5끄는 방법
- 사용 집계·오류 기록 — 설정 → [의견] 탭의 체크 하나로 함께 꺼집니다. 꺼도 모든 기능이 그대로 동작합니다.
- PC 간 동기화 — 설정 → [데이터] 탭 → [로그아웃](쓰시던 컴퓨터마다).
6얼마나 보관하나요
| 어디 | 무엇 | 언제까지 |
| 선생님 컴퓨터 | 모든 기록 | 선생님이 지우실 때까지 |
선생님 구글 드라이브 (로그인하신 경우) | 동기화 자료·사진 | [드라이브에 올린 자료 지우기]를 누르고 모든 컴퓨터에서 로그아웃하실 때까지 |
| 집계 서버 | 사용 집계(무작위 번호·버전) | 2년 |
| 오류 기록 | 90일 뒤 자동 삭제 |
| 보내주신 의견 | 2년 |
컴퓨터에 있는 것을 지우려면 설정 → [데이터] 탭 → [처음 상태로 되돌리기]를 누르세요.
프로그램을 삭제해도 설정 폴더는 남으니 %APPDATA%\TeacherDesk2를 함께 지우시면 됩니다.
7파일로 내보낼 때
내보낸 파일은 개인정보 파일입니다.
설정 백업(.tdbk)에는 명렬·생기부 저장글·누가기록(상담 포함)·출결이 들어가고, 엑셀·한글·CSV에도 학반·이름이 들어갑니다.
USB·메신저로 옮기실 때는 그렇게 다루시고, 옮긴 뒤에는 지워 주세요.
8학교에 설명하실 때
“교사 개인 PC에 설치해 쓰는 프로그램이며, 기록은 이 컴퓨터에 저장되고 만든 사람의 서버로 전송되지 않습니다.
여러 PC에서 쓰려고 로그인한 경우에만 교사 본인 구글 드라이브의 앱 전용 공간에도 저장됩니다.
급식·학사일정은 학교 코드만, 날씨는 지역명만 조회하며, 사용 집계는 무작위 번호와 버전뿐이고 설정에서 끌 수 있습니다.”
학교마다 규정이 다릅니다. 업무용 컴퓨터에 프로그램을 설치하는 기준이나 개인 클라우드에 학생 정보를 두는 것에 대한
교육청·학교 지침이 따로 있을 수 있으니, 쓰셔도 되는지는 소속 학교의 정보 담당 선생님께 확인해 주세요.
9만 14세 미만
이 프로그램은 교사가 쓰는 업무 도구입니다. 학생이 직접 설치해 쓰거나 학생에게서 정보를 직접 수집하지 않습니다.
Google user data (English summary)
TeacherDesk 2 is a desktop dashboard for school teachers, made by an individual teacher (contact: Instagram @kimju.zip or the in-app Feedback tab).
It has no developer server: all Google API calls go directly between the teacher's own PC or phone and Google.
- PC sync (optional) —
drive.appdata, openid, email: stores the teacher's own records in the app-only folder of their Google Drive so their PCs and phone stay in sync.
- Google Calendar (optional, off by default) —
calendar.events: reads the events of the calendars the teacher turns on (their own calendars and calendars shared with them, such as a grade or school calendar) so they appear in the TeacherDesk 2 calendar, and creates, updates or deletes an event only when the teacher does so in TeacherDesk 2. Shared calendars are written to only when their owner granted the teacher "make changes to events"; view-only calendars stay read-only.
calendar.calendarlist.readonly: reads the list of the teacher's calendars and their access level so they can choose which ones to show.
Event descriptions, locations and attendee lists are not stored or used. Events with attendees are read-only in the app.
- Calendar data is cached only on the teacher's own PC (encrypted with the Windows user key) and is kept in memory only on the phone page. It is never sent to the developer or any third party.
- Data sharing, transfer and disclosure — We do not share, transfer, disclose or sell Google user data to anyone: not to the developer, and not to any third party, advertiser, data broker or AI provider.
Google user data moves only between the teacher's own PC or phone and Google. Anonymous usage statistics, crash reports and feedback messages never contain Google user data (no events, Drive data or email address).
The only exceptions are actions the teacher takes themselves (for example, adding an event to a calendar they share with others, or exporting a file) and disclosure required by law — and since the app never sends Google user data to the developer, the developer holds none to disclose.
- Data protection — All traffic with Google uses HTTPS (TLS). Sign-in uses Google's own consent screen with OAuth 2.0 and PKCE; the app never sees or stores the Google password.
On the PC, the OAuth refresh token and the calendar cache are encrypted at rest with the operating-system user key (Electron safeStorage / Windows DPAPI); if encryption is unavailable, nothing is stored and the teacher signs in again each time.
The phone page keeps only a one-hour access token in the browser and does not store calendar events or student data.
Only the minimum scopes needed are requested, only the calendars the teacher turns on are read, and only event title, date, time and recurrence are used.
Disconnecting or signing out deletes the token and cache on that device, and access can be revoked for all devices at Google Account → Third-party connections.
- TeacherDesk 2's use and transfer of information received from Google APIs adheres to the
Google API Services User Data Policy, including the Limited Use requirements.
Google user data is not used for advertising, not sold, not transferred to others, not used to train AI models, and not read by humans.
- To stop: press [Disconnect] in the app, or remove TeacherDesk2 at Google Account → Third-party connections. Events in Google Calendar are not deleted.
10물어보실 곳
프로그램 안에서 바로 보내실 수 있습니다 — 설정 → [의견] 탭. 또는 인스타그램
@kimju.zip으로 알려 주세요.
이 처리방침이 바뀌면 이 쪽에 새 시행일을 적고, 프로그램 안 [의견] 탭 공지로도 알려드립니다.