DoneAt이 저장하는 데이터
입력한 정보는 기본적으로 로컬에 저장됩니다: 웹 타이머에서는 브라우저의 로컬 스토리지, iPhone, iPad, Android, Mac, Windows에서는 앱의 데이터 폴더에 저장됩니다. DoneAt은 제품 계정을 제공하지 않으며 이 정보를 DoneAt 서버로 보내지 않습니다.
iPhone과 iPad에서는 iCloud 동기화를 활성화할 수 있습니다. 활성화하면 스케줄, 기록, 급여, 알림 설정, 외관, 언어, 라이프 프로필, 집중 데이터가 Apple 계정에 연결된 개인 iCloud 데이터베이스에 저장됩니다. 알림 허가, 생체 인증 보호, 라이브 액티비티 설정, 현재 작업 타이머, 온보딩 상태는 각 기기에 남습니다. 웹 타이머, Android, Mac 앱, Windows 앱은 로컬 저장 그대로이며 이 동기화에 참여하지 않습니다.
카운트다운, 진행률, 수입 추정은 이 정보를 바탕으로 기기에서 계산됩니다.
일반적으로 다음이 포함됩니다:
- 출퇴근 시간, 근무일, 휴식 또는 야근 설정
- 급여액, 급여 기간, 커리어 급여 이력
- 근무 기록과 수정, 커리어 단계, 입력한 인생 이정표나 날짜
- 집중 작업 제목, 계획, 세션, 휴식 설정
- 알림 및 리마인더 설정
- 언어와 외관
선택적 iCloud 동기화
동기화는 기본적으로 꺼져 있습니다. iPhone 또는 iPad에서 활성화하면 Apple의 CloudKit 서비스가 위 데이터를 Apple 계정에 연결된 개인 데이터베이스에 저장합니다. DoneAt은 자체 서버에 사본을 받지 않습니다. 같은 Apple 계정을 사용하는 기기는 해당 데이터를 복원·동기화할 수 있습니다. 사용 가능한 iCloud 계정과 네트워크 연결이 필요합니다.
동기화를 활성화하려면 DoneAt Plus가 필요합니다. 활성화된 동기화는 구독 종료 후에도 계속됩니다. 동기화를 끄면 해당 기기에서 동기화가 중지되고 현재 로컬 사본과 기존 iCloud 사본이 모두 유지됩니다. 끄더라도 어느 사본도 삭제되지 않습니다.
Android
Android 앱은 테스트 중이며 공개 배포와 Plus 구매는 Google Play 출시 일정에 따릅니다. 근무 데이터와 설정은 기본적으로 앱 전용 저장소에 보관합니다. DoneAt 계정이나 앱 사용 분석은 없습니다.
시스템 백업과 기기 이전에는 기록, 급여, 경력, 생활 프로필, Focus 데이터, 완료하지 않은 초기 설정이 포함될 수 있습니다. 기기, 계정, 시스템 설정에 따라 달라지며 DoneAt 서버에는 사본을 보내지 않습니다. 실행 중인 타이머, 알림 예약 정보, 구매 증명은 제외합니다. 복원 후 알림을 다시 예약하고 구매를 확인합니다. Google Drive나 iPhone과 자동 동기화하지 않습니다. 직접 내보낸 백업은 급여가 포함될 수 있는 읽을 수 있는 JSON 파일이며, 선택한 저장소나 수신자에게 별도 사본이 생깁니다.
Google Play는 구매와 선택적 리뷰를 처리합니다. DoneAt은 카드 정보나 리뷰 제출 여부를 받지 않습니다. 상품 ID와 토큰이 포함된 구매 증명은 시스템 백업에서 제외된 로컬 저장소에 보관합니다. 앱 시작, 화면 복귀, 구매 복원, 구매 확인 재시도 시 조회할 수 있습니다. 서버 검증이 켜진 버전은 토큰, 상품 ID, 무작위 요청 식별자를 HTTPS로 Cloudflare의 api.doneat.app에 보냅니다. Google은 Cloud Pub/Sub로 변경을 알립니다. 서비스는 Google에서 상태와 정확한 만료 시각을 확인하고 서명된 증명을 반환하며, 근무 데이터나 백업은 받지 않습니다.
데이터베이스에는 토큰 해시, 상품, 권한 상태와 만료 시각, 검증 시각, 테스트 구매 표시, 대체 토큰 해시, 수정 번호를 저장합니다. 검증, 복원, 대체된 구매의 재사용 방지에 사용합니다. 알림 ID는 30일 범위로 중복을 제거하며, 이전 항목은 후속 알림 처리 때 삭제합니다. 원본 토큰과 Google 응답은 일시 처리하며 데이터베이스나 애플리케이션 로그에 저장하지 않습니다. IP 기반 요청 제한은 일시적이며 DoneAt 데이터베이스에 IP나 그 해시를 저장하지 않습니다. Google과 Cloudflare는 각자의 정책에 따라 트래픽을 처리합니다. 구매 식별자는 광고나 사용 프로필 작성에 쓰지 않습니다.
알림은 기기에서 예약합니다. 기기 인증은 결과만 반환하며 생체 정보나 PIN은 전달하지 않습니다. Backdrop(AndroidLiquidGlass)과 Shapes는 로컬에서 그리며 앱 내용이나 식별자를 개발자에게 보내지 않습니다. 출처와 라이선스는 소개에 있습니다.
로컬 데이터는 앱 안에서 삭제하거나 앱 저장소를 지우거나 앱을 제거해 삭제할 수 있습니다. 내보낸 파일과 시스템 백업은 해당 저장소에서 따로 삭제하세요. 서버 구매 기록 삭제는 [email protected]에 요청할 수 있습니다. 로컬 삭제는 서버 기록을 자동 삭제하거나 구독을 취소하지 않습니다. 구독은 Google Play에서 관리하세요. Plus가 유효하지 않아도 내보내기와 삭제는 가능합니다.
백업 내보내기
iPhone과 iPad에서는 “내보내기”를 선택할 때만 백업이 생성됩니다. 전체 백업에는 기록, 동기화 설정, 급여와 커리어 급여 이력, 라이프 프로필, 집중 작업과 세션이 포함됩니다. 라이프 프로필을 제외한 내보내기도 선택할 수 있지만, 급여와 커리어 이력은 여전히 포함됩니다. 시스템 공유 시트에서 저장 또는 공유 위치를 선택할 수 있습니다.
내보내기는 읽을 수 있는 JSON 파일이며 암호로 보호된 아카이브가 아닙니다. 포함된 정보에 적합한 저장 위치와 수신자를 선택하세요. 저장하거나 공유한 파일은 별도의 사본이며, DoneAt에서 데이터를 삭제해도 해당 파일은 삭제되지 않습니다.
Plus 구매
iPhone과 iPad에서 Apple이 App Store를 통해 Plus 구독과 일회성 구매를 처리합니다. DoneAt은 StoreKit을 사용해 구매 상태를 확인하고 접근을 복원하며, 확인된 자격과 만료일의 로컬 기록을 유지합니다. DoneAt은 결제 카드 정보를 받지 않으며 구매 상태를 DoneAt 계정 서버로 보내지 않습니다. Apple은 자체 정책에 따라 구매 정보를 처리합니다.
구독이 종료되어도 기존 기록은 삭제되지 않습니다. 내보내기와 삭제에는 유효한 구독이 필요 없습니다.
공식 사이트
doneat.app은 정적 웹사이트입니다. 근무 시간이나 급여를 수집하지 않습니다. 사이트 루트나 /privacy 또는 /download 같은 짧은 경로를 열면 브라우저 언어에 따라 해당 홀 또는 영어·간체 중국어 지원 페이지로 이동합니다. 언어는 페이지 URL에 유지되며, 이 사이트는 언어 쿠키를 설정하지 않습니다.
페이지를 호스팅하기 위해 Vercel이 자체 개인정보 보호정책에 따라 IP 주소, 브라우저 식별자 등의 일반적인 연결 정보를 처리할 수 있습니다. 이 프로젝트는 해당 정보를 저장하거나 프로필을 만드는 데 사용하지 않습니다.
공식 사이트는 Vercel의 쿠키 없는 분석을 사용해 페이지 뷰와 로딩 성능을 측정하고, 소수의 집계 카운터로 이용 현황을 파악합니다. 이벤트는 고정된 공개 목록에서 옵니다. 예: hall_view, download_view, download_from_web, web_timer_open, app_store_open. 날마다 증가합니다. 요청에는 이벤트 이름만 포함됩니다. 사용자 식별자, 세션, 언어, 스케줄, 급여는 포함되지 않으며 개인을 식별하거나 추적하는 데 사용할 수 없습니다.
이벤트의 전체 목록은 이 리포지토리의 src/lib/analytics-events.ts에 있습니다.
웹 타이머 분석
off.rainif.com의 웹 타이머도 Vercel의 쿠키 없는 분석을 사용해 페이지 뷰와 로딩 성능을 측정합니다. 별도의 제한된 집계 카운터 세트를 사용해 전체적인 기능 이용 현황을 파악합니다.
제품 이벤트는 다른 고정 공개 목록에서 옵니다. 예: share_open 또는 countdown_start. 날마다 집계됩니다. 사용자 식별자, 세션 정보, 스케줄, 급여 데이터는 포함되지 않으며 개인을 식별하거나 추적하는 데 사용할 수 없습니다.
제품 이벤트의 전체 목록은 제품의 오픈 소스 리포지토리에 있습니다. 호스팅 및 분석 제공업체가 각사의 개인정보 보호정책에 따라 표준 연결 정보를 처리할 수 있습니다. 이 프로젝트는 해당 정보를 별도로 저장하거나 사용자 프로필을 만드는 데 사용하지 않습니다.
쿠키
웹 타이머는 i18nextLng라는 쿠키를 사용해 언어 코드를 저장하여 이후 방문 시 선택한 언어로 열 수 있게 합니다. 첫 방문 시 현재 표시된 언어에서 설정되고, 언어를 변경하면 업데이트되며, 1년 후 만료되고, 브라우저에서 삭제할 수 있습니다.
공식 사이트와 웹 타이머는 광고나 사이트 간 추적 쿠키를 사용하지 않습니다. 위 분석은 쿠키에 의존하지 않습니다.
카운트다운 공유
공유 링크의 URL에는 출퇴근 시간만 포함됩니다. 급여 정보는 포함되지 않습니다. 링크를 연 사람은 근무 시간만 볼 수 있습니다. 카운트다운 공유 이미지도 급여를 포함하지 않습니다. 백업 내보내기는 다릅니다. 급여와 위에 나열된 기타 개인 데이터가 포함될 수 있습니다.
타사 소셜 서비스를 통해 공유하면 해당 서비스의 개인정보 보호정책이 적용됩니다.
스마트폰과 컴퓨터의 앱
iPhone, iPad, Mac, Windows 앱은 사용 분석을 수집하지 않습니다.
GitHub에서 설치한 데스크톱 버전은 시작 시 새 릴리스가 있는지 확인합니다. 요청에는 계정, 급여, 사용 데이터가 포함되지 않으며, 설치 프로그램은 업데이트를 확인한 후에만 다운로드됩니다. GitHub에 직접 연결할 수 없으면 타사 미러를 통해 재시도할 수도 있습니다. 어느 채널에서 다운로드하든 설치 전에 서명이 확인됩니다.
Microsoft Store에서 설치한 버전은 업데이트 확인을 하지 않습니다. 업데이트는 Microsoft Store가 제공합니다.
알림은 OS가 로컬에서 예약·표시합니다. 앱은 외부 링크를 열거나 타사 서비스를 통해 공유할 때도 네트워크에 접근합니다.
위젯, 라이브 액티비티, 기기 보호
위젯과 라이브 액티비티는 타이머와 진행률을 표시하는 데 필요한 정보를 사용합니다(해당되는 경우 집중 정보 포함). 급여는 포함되지 않습니다. 로컬 알림도 급여를 포함하지 않습니다. 이러한 화면은 홈 화면이나 잠금 화면에 표시될 수 있습니다. 앱과 시스템 설정에서 가시성과 알림 권한을 관리할 수 있습니다.
DoneAt이 수입이나 기록을 보호하기 위해 인증을 요청하면, 인증은 기기가 Face ID, Touch ID 또는 암호를 통해 처리합니다. DoneAt은 인증 결과를 받지만 생체 데이터나 암호는 받지 않습니다. 이 보호는 각 기기에서 별도로 구성됩니다.
타사 서비스
DoneAt은 다음 서비스를 사용해 페이지를 호스팅하고, 공식 사이트와 웹 타이머를 측정하고, 앱을 배포하고, 선택한 링크를 엽니다:
- Vercel — 공식 사이트와 웹 타이머의 호스팅, 둘 다의 페이지 뷰와 성능 측정
- Upstash — 공식 사이트와 웹 타이머의 일일 집계 이벤트 카운트 저장
- GitHub — 소스 코드, 릴리스 정보, GitHub 배포 데스크톱 버전의 업데이트 확인
- Apple — App Store와 StoreKit을 통한 앱 배포, Plus 결제와 구매 확인, iPhone 또는 iPad에서 활성화한 경우 개인 iCloud 동기화
- Microsoft — 연 Microsoft Store 목록의 배포와 업데이트
- 타사 다운로드 미러, GitHub 배포 데스크톱 버전에서 선택한 경우에만 사용
- 카운트다운을 공유할 때 선택한 타사 소셜 서비스
데이터 삭제
웹 타이머에서는 브라우저에서 이 사이트의 데이터(로컬 스토리지와 언어 쿠키 포함)를 지웁니다. Mac 또는 Windows에서는 앱을 제거하고 데이터를 삭제합니다.
iPhone과 iPad에서는 제거하면 해당 기기에 저장된 데이터가 삭제됩니다. iCloud 동기화를 활성화한 경우 개인 iCloud 사본은 다른 기기에서 계속 사용할 수 있습니다. DoneAt의 “기록 및 데이터” 설정에서 “iCloud에서 삭제”를 선택하면 iCloud 사본이 삭제되고, 해당 Apple 계정에 로그인한 기기의 관련 동기화 기록이 다음 동기화 시 지워집니다. “이 기기에서만 기록 삭제”를 선택하면 iCloud 사본은 복원용으로 남습니다. 이전에 내보낸 백업 파일은 저장하거나 공유한 곳에서 별도로 삭제해야 합니다.
DoneAt은 귀하의 Apple 계정에 접근하거나 그 개인 iCloud 데이터를 대신 삭제할 수 없습니다. DoneAt은 서버에서 귀하의 로컬 데이터에 접근하거나 삭제할 수도 없습니다.
이 정책의 변경
이 정책이 업데이트되면 페이지 상단의 최종 업데이트 날짜도 수정됩니다. 중요한 변경 사항은 릴리스 노트에 기재되며, 이전 버전은 오픈 소스 리포지토리의 커밋 기록에서 확인할 수 있습니다.
문의
이 정책이나 정보 처리 방법에 대한 질문은 [email protected]으로 보내주세요. 제품 문제와 제안은 GitHub Issues에서도 제출할 수 있습니다.
이 정책과 제품의 실제 동작 간에 차이를 발견하면 해당 주소로 이메일하거나 Issue를 열어주세요.