Hetk가 데이터를 다루는 방식
Hetk는 귀하의 계정 간에 캘린더 일정을 동기화합니다. 모든 단계에서 데이터를 어떻게 보호하는지 설명합니다.
기본 원칙은 가능한 한 적게 보관하는 것입니다. Hetk에 필요한 것은 캘린더를 서로 맞춰 두기에 충분한 정보뿐이며 그 이상은 필요하지 않습니다. 그래서 시스템은 꼭 읽어야 하는 것만 읽고, 중복을 피하고 정확성을 유지하는 데 필요한 최소한만 저장하며, 나머지는 잊도록 만들어졌습니다. 아래 섹션에서는 각 단계에서 이것이 정확히 무엇을 뜻하는지 설명합니다. 어떻게 연결하는지, 무엇을 다루는지, 무엇을 보관하는지, 그리고 무엇을 의도적으로 보관하지 않는지입니다.
인증
- Google과 Microsoft: Hetk는 OAuth 2.0을 사용해 귀하의 캘린더에 연결합니다. 저희는 귀하의 Google 또는 Microsoft 비밀번호를 절대 보거나 저장하지 않습니다. 접근 권한은 서비스 제공업체 자체의 동의 화면에서 부여하며, 언제든지 Google 또는 Microsoft 계정 설정에서 접근 권한을 취소할 수 있습니다.
- Apple iCloud: Apple은 캘린더 접근을 위한 OAuth를 제공하지 않습니다. Hetk는 귀하가 Apple ID 설정에서 생성한 앱 암호를 사용해 CalDAV로 연결합니다. 이 암호는 캘린더 접근 권한만 부여합니다. 이 암호로는 Apple 계정에 로그인하거나, 구매를 하거나, 다른 Apple 서비스에 접근할 수 없습니다.
접근하는 데이터
Hetk는 귀하가 선택한 캘린더에서 캘린더 일정을 읽고 씁니다. 구체적으로는 다음과 같습니다:
- 일정 제목, 설명, 장소, 시작/종료 시간, 시간대
- 바쁨/한가함 상태와 개인정보/공개 범위 설정
- 참석자 목록과 주최자
- 일정 생성 및 수정 타임스탬프
저희는 귀하의 이메일, 연락처, 파일, 또는 귀하가 선택한 캘린더 밖의 어떤 것에도 접근하지 않습니다.
저장하는 데이터
- OAuth 토큰: 저장 시 암호화되며, 귀하의 캘린더 연결을 유지하는 데 사용됩니다. 매시간 다시 연결할 필요가 없도록 Hetk가 백그라운드에서 자동으로 갱신합니다. 귀하가 Google 또는 Microsoft 계정에서 접근 권한을 취소하거나 Hetk 계정을 삭제하면, 토큰은 더 이상 작동하지 않으며 제거됩니다. 저희는 갱신 토큰(refresh token)을 평문으로 절대 저장하지 않습니다.
- 동기화된 일정 메타데이터: 중복을 방지하고 정확한 업데이트를 가능하게 하기 위해, Hetk가 어떤 일정을 동기화했는지 추적합니다. 여기에는 일정 ID, ETag, 시작/종료 시간, 동기화 타임스탬프가 포함됩니다. 저희는 일정 제목, 설명, 장소, 참석자를 저장하지 않습니다.
이 마지막 항목은 짚고 넘어갈 가치가 있습니다. 사람들이 사실일 리 없다고 생각하는 부분이기 때문입니다. 한 캘린더에서 다른 캘린더로 일정을 복사하기 위해, Hetk는 동기화하는 순간에 일정 내용을 읽고, 그것을 대상 캘린더에 쓴 다음, 다음에 같은 일정이 변경될 때 그 일정을 알아보는 데 필요한 관리 기록만 보관합니다. 오후 3시 회의의 제목은 지나갈 뿐, 귀하의 이름이 붙은 데이터베이스 행에 남지 않습니다. 만약 Hetk의 데이터베이스가 어떤 식으로든 노출된다면, 공격자가 찾게 되는 것은 누군가의 일정의 실체가 아니라 의미를 알 수 없는 식별자와 타임스탬프 목록입니다.
암호화
- 전송 중: 모든 연결은 TLS 1.2 이상(HTTPS)을 사용합니다. Google, Microsoft, Apple에 대한 API 호출은 종단 간 암호화됩니다.
- 저장 시: 데이터베이스는 투명한 데이터 암호화(TDE)가 활성화된 Azure SQL에서 호스팅합니다. OAuth 토큰은 저장 전에 암호화됩니다.
인프라
- 호스팅: Azure App Service(North Europe 지역, 아일랜드), OS 및 런타임 자동 패치 적용.
- 데이터베이스: 자동 백업과 특정 시점 복원을 지원하는 Azure SQL Database.
- DNS 및 CDN: 엄격한 SSL, DNSSEC, DDoS 보호를 적용한 Cloudflare.
데이터 보관 및 삭제
- 계정 삭제: 앱 설정에서 언제든지 계정을 삭제할 수 있습니다. 이렇게 하면 귀하의 모든 데이터(OAuth 토큰, 동기화 관계, 동기화된 일정 메타데이터, 계정 정보)가 영구적으로 제거됩니다. 되돌릴 수 없습니다.
- 동기화 관계 삭제: 동기화 관계를 삭제하면 관련된 모든 메타데이터가 제거됩니다. 이미 대상 캘린더로 동기화된 일정은 그대로 남습니다(이제 캘린더의 일반 일정이 됩니다).
제3자 서비스
| 서비스 | 목적 | 공유하는 데이터 |
|---|---|---|
| Google Calendar API | 캘린더 동기화 | 선택한 캘린더의 캘린더 일정 |
| Microsoft Graph API | 캘린더 동기화 | 선택한 캘린더의 캘린더 일정 |
| Apple CalDAV | 캘린더 동기화 | 선택한 캘린더의 캘린더 일정 |
| Stripe | 결제 처리 | 이메일, 구독 요금제, 결제 수단(Hetk는 카드 번호를 저장하지 않습니다) |
| Azure | 호스팅 및 데이터베이스 | 모든 애플리케이션 데이터(저장 시 암호화) |
| Cloudflare | DNS, CDN, SSL | HTTP 요청 메타데이터(IP, 헤더) |
조직 전체 개인정보 보호 정책
Google Workspace 또는 Microsoft 365를 사용하는 조직의 IT 관리자는 DNS를 통해 도메인 전체에 개인정보 보호 정책을 적용할 수 있습니다. 이 정책을 사용하면 해당 조직 사용자에게서 동기화되는 모든 캘린더 일정이 자동으로 비공개로 표시되며, 제목과 세부 정보가 제거됩니다. 이 정책은 DNS TXT 레코드로 제어되며, 관리자 로그인이나 OAuth 승인이 필요하지 않습니다. 자세한 내용과 설정 방법은 도메인 인증 개인정보 보호 정책에서 확인하세요.
책임 있는 취약점 공개
보안 문제를 발견하셨다면, 다른 누구보다 먼저 저희가 알고 싶습니다. 재현 단계를 적어 [email protected]로 이메일을 보내 주시면, 접수를 확인하고 귀하와 함께 수정 작업을 진행하겠습니다. 저희가 요청드리는 것은 공개적으로 알리기 전에 저희가 조사하고 패치할 수 있도록 합리적인 기간을 주실 것과, 테스트하는 동안 다른 사람의 데이터에 접근하거나 이를 수정하지 마실 것뿐입니다. 선의로 이루어진 제보는 환영하며, 이 지침을 따르는 연구자에게는 법적 조치를 취하지 않습니다.
귀하가 직접 할 수 있는 설정
보안은 저희 쪽에서 하는 일만이 아닙니다. 가장 중요한 설정은 귀하의 손에 있습니다:
- 언제든지 취소: Google과 Microsoft 모두 Hetk와 관계없이 귀하의 계정 보안 설정에서 Hetk의 접근 권한을 취소할 수 있게 해 줍니다. Apple 앱 암호는 Apple ID 페이지에서 삭제할 수 있습니다. 접근 권한을 취소하면 동기화가 즉시 중지됩니다.
- 동기화할 대상 선택: Hetk는 귀하가 명시적으로 선택한 캘린더만 다룹니다. 귀하가 추가하지 않은 캘린더는 Hetk가 절대 보지 않습니다.
- 전달되는 정보 제한: 동기화별 개인정보 보호 설정을 사용하면, 완전히 신뢰하지 않는 캘린더에서는 일정을 단순한 “Busy” 블록으로 줄일 수 있습니다. 그러면 세부 정보는 따라가지 않고 시간만 확보됩니다.
회사
Hetk Technologies OÜ는 에스토니아에 등록되어 있습니다(등록 코드: 17181483). 보안 관련 문의는 [email protected]로 연락해 주세요. 개인정보를 처리하는 방법은 개인정보 처리방침을, 지원 및 개인정보 관련 요청은 문의 페이지를 참조하세요.