개인정보처리방침
1. 개요
catmoa(이하 "앱")는 학교 일정 자료(한글 문서, PDF, 이미지, 텍스트, 쿨메신저 쪽지, Google Tasks 항목)에서 일정을 추출해 사용자의 Google Calendar / Google Tasks에 등록하는 개인용 데스크톱 프로그램입니다. 앱은 MIT 라이선스 오픈소스이며 전체 소스 코드는 GitHub에서 확인할 수 있습니다.
앱은 개발자가 운영하는 서버, 데이터베이스, 분석(analytics) 도구, 광고 SDK를 전혀 사용하지 않습니다. 모든 데이터는 사용자의 컴퓨터에서 처리되며, 외부 전송은 아래 3항에 명시된 두 곳(사용자가 선택한 LLM 공급자, Google)으로만 일어납니다.
2. 앱이 다루는 정보
| 정보 | 처리 방식 |
|---|---|
| 사용자가 던져 넣은 자료 (문서·이미지·텍스트·쪽지 내용) |
일정 추출을 위해 사용자가 설정한 LLM 공급자로 전송됩니다. 앱은 원본을 별도로 보관하지 않으며, 처리 큐에서 완료되면 메모리에서 사라집니다. |
| 추출된 일정 (제목·일시·장소·메모) |
검토 창에 표시된 뒤 사용자가 "등록"을 눌러야만 Google Calendar / Tasks에 생성됩니다. 등록 전까지 어디에도 저장되지 않습니다. |
| Google 계정 정보 | OAuth 로그인 후 받은 토큰과 로그인 이메일 주소(설정 화면 표시용)만 사용합니다. 아래 4항 참조. |
| LLM API 키 | 사용자가 직접 입력하며, OS 키체인(macOS Keychain / Windows Credential Manager / Linux Secret Service)에만 저장됩니다. |
| 앱 설정 (공급자·모델명·기본 알람 시간 등) |
사용자 PC의 설정 폴더에 JSON 파일로 저장됩니다. 비밀값은 포함되지 않습니다. |
| 쿨메신저 쪽지 (선택 기능, Windows) | 사용자가 기능을 켠 경우에만, 로컬 쿨메신저 DB의 읽기 전용 복사본에서 새 쪽지를 읽습니다. 원본은 수정하지 않으며, 마지막으로 처리한 쪽지의 식별자만 설정 파일에 기록합니다. |
앱은 위 정보를 개발자나 제3자에게 전송하지 않으며, 사용 통계·오류 보고·기기 정보를 수집하지 않습니다.
3. 외부 전송 대상
3-1. LLM 공급자 (사용자 선택)
일정 추출을 위해 자료의 텍스트 또는 이미지가 사용자가 설정 화면에서 선택한 공급자 한 곳으로 전송됩니다. 전송된 데이터의 취급은 해당 공급자의 정책을 따릅니다.
- Anthropic Claude — 개인정보처리방침
- OpenAI ChatGPT API — 개인정보처리방침
- Ollama (로컬) — 사용자 PC 또는 사용자가 지정한 서버에서 실행되며, 인터넷 전송이 없습니다. 외부 전송이 걱정되면 Ollama를 권장합니다.
3-2. Google
사용자가 등록을 확정한 일정이 사용자 본인의 Google Calendar / Google Tasks에 생성됩니다. 자세한 내용은 4항을 참조하세요.
4. Google 사용자 데이터 이용에 관한 고지
앱은 Google OAuth 2.0으로 로그인하며, 다음 범위(scope)만 요청합니다.
| 범위 | 용도 |
|---|---|
calendar.events | 추출된 일정을 캘린더 이벤트로 생성. 태스크 알람을 위한 알림 이벤트 생성 |
calendar.readonly | 등록 대상 캘린더 목록 조회 |
tasks | Google Tasks에 할 일 생성, "인박스" 목록의 미완료 항목 읽기 및 처리 후 완료 표시 |
userinfo.email | 설정 화면에 현재 로그인한 계정 이메일 표시 |
- Google에서 받은 데이터(캘린더 목록, 태스크 항목, 이메일)는 사용자 PC에서 화면 표시와 등록 작업에만 사용됩니다.
- Google 사용자 데이터를 개발자 서버로 전송하거나, 광고·프로파일링·AI 모델 학습 등 다른 목적에 사용하지 않습니다. 단, 사용자가 "인박스 가져오기"를 실행하면 해당 태스크의 제목·메모 텍스트가 일정 추출을 위해 3-1항의 LLM 공급자로 전송됩니다. 이는 사용자가 명시적으로 실행할 때만 일어납니다.
- OAuth 액세스/리프레시 토큰은 OS 키체인에만 저장되며, 파일로 내보내지거나 다른 기기와 동기화되지 않습니다.
- 앱의 Google API 정보 이용은 Google API 서비스 사용자 데이터 정책(제한적 사용(Limited Use) 요건 포함)을 준수합니다.
5. 보관 및 삭제
- 앱은 처리한 자료·일정을 보관하지 않습니다. 등록된 일정은 사용자의 Google 계정에 존재하며 Google Calendar / Tasks에서 직접 관리·삭제할 수 있습니다.
- Google 연결 해제: 설정 → Google 탭 → 로그아웃을 누르면 키체인의 토큰이 삭제됩니다. 또는 Google 계정 → 보안 → 제3자 앱 액세스에서 catmoa의 권한을 철회할 수 있습니다.
- 완전 삭제: 앱을 삭제하고 설정 폴더(macOS
~/Library/Application Support/catmoa, Windows%LOCALAPPDATA%\catmoa, Linux~/.config/catmoa)와 키체인의 catmoa 항목을 지우면 남는 데이터가 없습니다.
6. 아동의 개인정보
앱은 교직원을 대상으로 하며, 만 14세 미만 아동을 대상으로 하지 않습니다. 사용자가 던져 넣는 자료에 학생 정보가 포함될 수 있으므로, 소속 기관의 개인정보 보호 지침에 따라 외부 LLM 사용 가능 여부를 확인하고, 필요하면 로컬 Ollama를 사용하시기 바랍니다.
7. 보안
- 비밀값(API 키, OAuth 토큰)은 평문 파일이 아닌 OS 키체인에 저장됩니다.
- 외부 통신은 모두 HTTPS를 사용합니다(로컬 Ollama 제외).
- 앱은 자동 업데이트, 원격 코드 실행, 백그라운드 데이터 전송 기능이 없습니다.
8. 방침 변경
이 방침이 바뀌면 이 페이지와 GitHub 저장소의 변경 이력에 반영합니다. 중요한 변경은 앱 릴리스 노트에도 기재합니다.
9. 문의
개인정보 관련 문의는 GitHub Issues로 남겨 주세요.
Privacy Policy (English summary)
catmoa is an open-source desktop application that extracts schedule items from documents, images, text and messenger notes, and creates events/tasks in the user's own Google Calendar and Google Tasks.
- No servers. The developer operates no backend, database, analytics or advertising. The developer never receives, stores or views any user data.
- Data flow. Content the user drops into the app is sent only to the LLM provider the user selects (Anthropic, OpenAI, or a local Ollama instance) for schedule extraction. Extracted items are created in the user's Google account only after the user confirms them.
- Google user data. Requested scopes:
calendar.events,calendar.readonly,tasks,userinfo.email. Google data is used solely to list calendars, create events/tasks, read and complete items in the user's "inbox" task list, and show the signed-in email. When the user explicitly runs "import inbox", task titles/notes are sent to the selected LLM provider for extraction. Google data is never transferred to the developer or used for advertising, profiling or model training. OAuth tokens are stored only in the OS keychain. - catmoa's use of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
- Deletion. Sign out in Settings → Google (deletes tokens), or revoke access at Google Account permissions. Uninstalling the app and removing its config folder leaves no data behind.
- Contact: GitHub Issues.