개인정보 처리방침
어떤 정보를 사용하고 어디에 보관하는지,
현재 개인용 개발 버전의 동작을 기준으로 설명합니다.
핵심 안내
계정 연결 토큰은 이 Mac에 암호화해 저장합니다. 표시용 할일 캐시와 로컬 초안은 평문으로 보관할 수 있습니다. 자연어 입력은 필요에 따라 OpenAI Codex로 전송될 수 있으며, 현재 앱에는 별도의 연결 해제 버튼이 없습니다.
1. 운영 범위
서재의 달력은 개인의 일정과 할일 관리를 위해 개발 중인 macOS 앱입니다. 현재 일반 배포용 다운로드와 별도 회원가입을 제공하지 않습니다. 앱 운영 문의와 데이터 처리 관련 요청은 freeseojae@gmail.com으로 받을 수 있습니다.
앱 전용 서버에 사용자의 전체 달력을 모아 보관하는 기능은 구현되어 있지 않습니다. 계정 인증과 데이터 동기화, 선택한 AI 기능에는 아래 외부 서비스가 사용됩니다. 이 안내 페이지 자체에는 입력 폼·분석 추적 도구·외부 폰트가 없습니다.
안내 사이트는 앱과 분리된 Cloudflare Pages 정적 호스팅을 사용합니다. 사이트 제공·보안을 위해 Cloudflare가 방문자의 IP 주소, 요청·접속 기술정보 등을 처리할 수 있으며, 그 처리에는 Cloudflare 개인정보처리방침이 적용됩니다. 앱의 계정 토큰·개인 일정·할일·자연어 입력을 이 안내 사이트로 전송하는 기능은 없습니다. 기존 홈페이지나 개인 저장장치의 자료를 이 사이트와 연동하는 기능도 없습니다.
2. 사용하는 정보와 목적
| 구분 | 정보와 사용 목적 |
|---|---|
| Google 계정 | 이메일 주소·Google 사용자 ID·허용한 권한·토큰 만료 정보를 확인하여 올바른 계정에 연결하고 인증을 유지합니다. 이름·연락처 전체나 Gmail 메일함을 조회하는 기능은 없습니다. |
| Google 캘린더·일정 | 캘린더 ID·이름·시간대·수정 가능 여부, 선택한 일정의 ID·제목·시작과 종료·종일 여부·장소·메모·알림·반복·공개 범위·바쁨 상태 등을 사용해 원본을 확인하고 사용자의 변경을 반영합니다. |
| Microsoft 계정·할일 | 계정 이메일·사용자 ID, 목록과 할일의 ID·이름·제목·마감일·알림·완료 상태·중요도·메모·반복을 사용해 목록을 표시하고 완료·수정·복사·삭제를 반영합니다. |
| 직접 입력한 내용 | 자연어 문장·일정과 할일 초안·메모·장소 검색어를 해석하거나 저장합니다. AI와 장소 검색에 전달되는 내용은 아래에 설명합니다. |
| 연결·표시 설정 | 계정 연결 정보, 선택한 캘린더, 표시 옵션, 창 위치·크기, 등록·복사·이동 결과 기록을 저장해 연결과 화면 상태를 유지하고 중복 처리를 줄입니다. |
Google 로그인은 기본 브라우저의 Google 인증 화면에서 진행합니다. 앱은 Google 비밀번호를 받거나 저장하지 않습니다. 요청 권한은 일정 접근 calendar.events, 캘린더 목록 조회 calendar.calendarlist.readonly, 계정 확인 openid·email입니다. 일정 접근 권한은 등록·수정·삭제를 포함하는 범위입니다.
현재 직접 Google API 연결은 기존 일정의 조회와 상세 수정에 사용합니다. 달력 표시·새 일정 등록·일정 삭제에는 Fantastical 연결이 함께 사용됩니다. 일정의 원본 식별자·종일 여부·반복 정보를 확인하기 위해, 사용자가 macOS에서 접근을 허용한 Fantastical 로컬 공유 데이터베이스를 읽기 전용으로 조회합니다. 이 과정에서 Fantastical의 계정 비밀번호나 인증 토큰 레코드는 읽지 않습니다.
Microsoft 연결은 기본 프로필 확인과 To Do 읽기·수정 권한 및 연결 유지를 위한 권한을 요청합니다. 현재 Microsoft 기능은 지정된 개인 계정에 맞춘 개발 환경용 구현입니다.
3. 자연어 입력, AI와 장소 검색
규칙으로 충분히 해석한 문장은 AI로 보완하지 않습니다. 추가 해석이 필요한 경우 사용자 입력 문장, 규칙으로 해석한 제목·날짜·시간·알림·반복 등의 초안, 현재 시각과 시간대 등 해석에 필요한 맥락을 AI에 전달합니다. 입력한 메모나 사람 이름·장소가 원문에 있으면 함께 포함될 수 있습니다.
기본 자동 모드는 이 Mac의 Ollama 로컬 모델을 먼저 사용합니다. 로컬 해석이 실패하거나 미해결 항목이 남으면 로그인된 OpenAI Codex를 통해 외부 AI 처리를 시도할 수 있습니다. 따라서 기본 모드에서 모든 입력이 Mac 안에서만 처리된다고 보장하지 않습니다.
기존 달력을 AI에 자동 첨부하지 않습니다. Google API로 조회한 기존 일정 스냅샷이나 전체 캘린더를 자연어 AI 프롬프트로 자동 전송하는 기능은 없습니다. 다만 사용자가 기존 일정 내용이나 민감한 내용을 입력창에 직접 적거나 붙여 넣으면, 그 입력은 AI 처리 대상에 포함될 수 있습니다.
Codex 호출에는 도구 사용을 끄고 로컬 대화 기록을 남기지 않는 임시 실행 설정을 사용하며, 파서용 임시 폴더는 작업 후 삭제합니다. 이 설정은 OpenAI 서버의 보존 기간이나 모델 학습 사용 여부를 정하는 약속이 아닙니다. 외부 처리에는 사용 중인 OpenAI 계정·서비스의 설정과 정책이 별도로 적용됩니다.
장소 검색을 사용하면 검색어가 선택한 네이버 지도 또는 Google Places 서비스에 전달됩니다. 선택한 장소의 이름·주소·지도 링크는 사용자가 등록하는 일정이나 메모에 포함될 수 있습니다. Google 계정의 캘린더 권한과 장소 검색용 서비스 연결은 별개입니다.
4. Mac 안에 보관하는 내용
Google·Microsoft 접근 토큰과 갱신 토큰은 Electron safeStorage를 통해 macOS의 보안 저장 기능을 이용해 암호화한 파일로 저장합니다. 평문 토큰 파일로 대체 저장하지 않습니다. 토큰은 앱의 메인 프로세스에서 사용하고 화면 프로세스에 전달하지 않습니다.
| 위치 | 보관 내용 |
|---|---|
~/Library/Application Support/Cal Natural Schedule/ | google-calendar-tokens.enc·microsoft-todo-tokens.enc에는 암호화한 계정·인증 정보가 들어갑니다. OAuth 앱 설정 JSON, 캘린더 목록·이름 연결, 앱 설정과 최근 등록 기록도 이 폴더에 저장합니다. |
| 같은 폴더의 할일 캐시 | microsoft-todo-cache.json에 마지막으로 불러온 미완료 할일의 제목·ID·날짜·완료 상태·중요도를 표시용으로 저장합니다. 캐시는 평문 JSON이며, 할일 목록의 연결 정보도 별도 JSON으로 보관합니다. |
~/Library/Application Support/Cal Desktop Preview/ | 이 Mac에 보관한 테스트 초안과 등록·복사·이동 결과 기록을 평문 JSON으로 저장합니다. 초안에는 제목·시간·장소·메모 등이 포함될 수 있습니다. |
~/Library/Application Support/Cal Preview/ | 창 위치·크기, 표시할 목록, 보기 방식, 완료 항목 표시와 효과음 등 화면 설정을 보관합니다. |
토큰 파일의 암호화가 다른 모든 파일의 암호화를 뜻하지는 않습니다. OAuth 앱 설정과 표시용 캐시·초안·기록은 평문일 수 있습니다. Google 데스크톱 OAuth 설정 JSON에는 클라이언트 식별자와 선택적 클라이언트 secret이 포함될 수 있으며, 일반 사용자 접근을 제한한 파일로 저장합니다.
조회 중인 일정과 상세 편집 세션은 앱 메모리에서도 처리합니다. 연결 오류 진단은 주로 처리 단계·개수·고정 오류 분류를 사용합니다. 이 안내는 macOS 자체 로그·백업이나 외부 서비스의 보관까지 삭제된다고 보장하지 않습니다.
5. 보관 기간
인증 정보와 설정, 로컬 초안은 연결 유지와 앱 사용을 위해 보관하며, 사용자가 로컬 파일을 제거할 때까지 남을 수 있습니다. 최근 등록 표시 기록은 최대 100건으로 제한합니다. 중복 전송 방지를 위한 미확정 데스크톱 등록 기록에는 자동 만료를 적용하지 않습니다.
Microsoft 표시용 캐시는 마지막 조회 후 30일을 넘으면 표시용 유효 데이터에서 제외합니다. 이는 30일 후 해당 파일을 디스크에서 자동 파기한다는 의미가 아닙니다. 복사·이동 결과 기록과 다른 로컬 자료에도 일괄 자동 파기 기간은 구현되어 있지 않습니다.
6. 삭제와 계정 승인 철회
현재 앱에는 별도의 Google·Microsoft 연결 해제 버튼이나 전체 로컬 데이터 삭제 버튼이 없습니다. 다음 동작은 서로 다릅니다.
- 외부 계정의 승인 철회: Google 계정의 서드 파티 연결 또는 Microsoft 계정의 앱 권한 관리에서 서재의 달력에 허용한 권한을 철회할 수 있습니다. 이후 앱의 직접 계정 연결은 다시 승인하기 전까지 사용할 수 없게 될 수 있습니다.
- 이 Mac의 연결 정보 제거: 앱을 완전히 종료한 뒤 위
Cal Natural Schedule폴더의 해당google-calendar-tokens.enc또는microsoft-todo-tokens.enc파일을 제거합니다. 이것은 해당 Mac의 저장 토큰을 지우는 동작이며, 외부 계정의 승인 철회를 대신하지 않습니다. - 캐시·초안·기록 제거: 토큰을 지워도 할일 캐시·OAuth 설정·등록 기록·로컬 초안·화면 설정은 따로 남습니다. 보존할 초안을 확인한 후 필요한 로컬 파일을 별도로 제거해야 합니다. 제거 범위를 확인하기 어렵다면 운영 연락처로 문의해 주세요. 비밀번호나 토큰 파일을 보내지 마세요.
- 클라우드 일정·할일 삭제: 앱의 삭제 기능 또는 Google Calendar·Microsoft To Do에서 해당 항목을 삭제하는 별도 동작입니다. 연결 해제나 로컬 캐시 삭제는 클라우드에 등록된 일정을 삭제하지 않습니다.
Fantastical 자체의 계정 연결과 로컬 데이터, 다른 기기의 앱 자료, macOS 백업도 별개입니다. 이 앱의 토큰 제거나 Google 승인 철회만으로 Fantastical의 별도 연결까지 해제되지는 않습니다.
7. Google API 데이터의 제한된 사용
서재의 달력의 Google API를 통해 받은 정보의 사용과 다른 앱으로의 전송은, Limited Use 요건을 포함한 Google API Services User Data Policy를 따릅니다.
Google API 데이터는 화면에 드러난 일정 확인·편집 기능을 제공하는 데 사용합니다. 광고 타기팅·데이터 판매·신용 평가·범용 AI 모델 학습 목적으로 사용하거나 제공하지 않습니다. 데이터 전송이나 사람의 열람이 필요한 경우에도 사용자 동의에 따른 기능 제공, 보안, 법적 의무 등 해당 정책이 허용한 범위로 제한합니다. 운영자가 사용자의 전체 일정을 수집해 열람하는 별도 서버 기능은 없습니다.
8. 외부 서비스와 변경 안내
Google, Microsoft, Fantastical, OpenAI와 장소 검색 제공업체가 자체 서비스에서 처리하는 정보에는 각 서비스의 정책이 적용됩니다. 이 문서로 외부 서비스의 보관 기간이나 처리 방식을 대신 정하지 않습니다.
연결 범위나 데이터 처리 방식이 달라지면 이 페이지의 내용과 수정일을 갱신합니다. 새로운 목적의 Google 데이터 사용이나 권한 변경에는 필요한 안내와 동의를 먼저 진행합니다. 관련 문의는 freeseojae@gmail.com으로 보내 주세요.