잉크룬 개인정보 처리방침
- 적용 대상: 잉크룬(inklune) iOS·Android 앱
- 공개 주소:
https://inklune-legal.blackpet.workers.dev/privacy - 함께 읽을 문서: 이용약관
https://inklune-legal.blackpet.workers.dev/terms - 영어판:
https://inklune-legal.blackpet.workers.dev/en/privacy(이 한국어판이 정본입니다) - 최종 개정일: 2026-09-15
잉크룬은 일기를 기기 안에 두는 앱입니다. 일기의 글·사진·위치는 사용자의 기기에 파일로 저장되고, 사용자가 스스로 보내지 않는 한 기기 밖으로 나가지 않습니다. 이 문서는 그럼에도 기기 밖으로 나가는 것이 무엇이고, 왜 나가며, 어떻게 끄는지를 적습니다.
이 방침에는 두 종류의 내용이 섞여 있습니다. 앞부분은 앱 전체가 다루는 정보이고, 뒷부분(## 수집 항목부터)은 오류 보고(진단) 한 가지만 다룹니다. 진단 부분은 앱 코드의 전송 허용 목록과 자동으로 대조되어, 코드와 이 문서 중 한쪽만 바뀌면 개발 단계에서 검사가 실패합니다.
로컬 일기 — 기기 밖으로 나가지 않습니다
일기의 본문·제목·태그·사진·위치·걸음 수는 기기 안의 파일과 데이터베이스에 저장됩니다. 우리 서버로 보내지 않고, 백업 서비스를 자동으로 켜지도 않습니다. 기기의 시스템 백업(iCloud·Google 백업)을 사용자가 켜 두었다면 그 백업에는 포함될 수 있으며, 그 백업은 애플·구글이 각자의 방침에 따라 처리합니다.
내보내기 기능으로 만든 파일과 가져오기로 읽는 파일도 기기 안에서만 다뤄집니다.
교환 편지 — 내용을 읽을 수 없는 형태로 전달합니다
교환일기를 쓰면 편지가 우리 중계 서버(릴레이)를 거쳐 상대에게 전달됩니다.
- 편지는 기기에서 암호화되어 나가고 상대 기기에서만 열립니다(종단 간 암호화). 서버는 열쇠가 없어 내용을 읽을 수 없습니다. 편지에 붙인 사진도 같은 방식으로 암호화되어 전달됩니다.
- 서버에 남는 것은 암호화된 덩어리와 전달에 필요한 최소 정보(방 식별자, 익명 계정 식별자, 크기, 시각)입니다.
- 서버의 편지 보관 기간은 기본 30일입니다. 상대가 먼저 받아 가면 그전에 지워지고, 반대로 상대가 받은편지함을 열어 볼 때마다 남은 기간이 다시 30일로 늘어납니다. 다만 아무리 늘어나도 올린 지 33일을 넘기지 못하며, 저장소 자체의 삭제 규칙이 35일째에 남은 것을 지웁니다.
- 초대장은 예외입니다. 초대를 만들 때 붙이는 방 이름·이모지·색은 암호화되지 않은 상태로 서버에 저장됩니다. 상대가 초대를 열어 무엇에 참여하는지 보려면 서버가 그 값을 전달해야 하기 때문입니다. 방 이름에 알려지고 싶지 않은 표현을 쓰지 않는 편이 좋습니다.
- 초대 링크의 토큰은 기본 24시간(길게 지정해도 최대 7일) 뒤 만료되며, 만료·사용된 뒤에도 초대 기록이 서버에 한동안 남을 수 있습니다.
- 중계 서버와 아래 진단 서버는 Cloudflare의 서비스(Workers·R2 저장소) 위에서 운영됩니다. 즉 저장·전송 인프라를 Cloudflare에 위탁하고 있습니다.
- 계정은 이름·이메일·전화번호 없이 기기가 만든 열쇠쌍으로만 식별됩니다. 회원가입이 없습니다.
알림
새 편지 알림을 받으려면 기기가 발급한 푸시 토큰을 중계 서버에 보관해야 합니다. iOS와 안드로이드 모두 해당됩니다. 이 토큰은 알림을 보내는 데만 쓰고, 알림을 끄거나 앱을 지우면 더 이상 쓰이지 않습니다.
알림 전달에는 구글의 FCM(Firebase 클라우드 메시징) 을 사용합니다. iOS와 안드로이드 모두 토큰을 구글 파이어베이스가 발급하며, iOS에서는 FCM이 다시 애플의 APNs를 거쳐 기기로 전달합니다. 이 과정에서 구글과 애플이 기기·앱 설치 정보를 각자의 방침에 따라 처리합니다. 알림에는 편지 내용을 담지 않고, 어느 방에 무슨 일이 생겼는지를 가리키는 방 식별자와 사건 종류(새 편지·연결됨 등)만 실립니다.
지도와 장소 이름
일기에 위치를 붙이거나 지도를 볼 때, 좌표가 다음 두 곳으로 나갑니다. 우리 서버로는 가지 않고, 우리가 저장하지도 않습니다.
- 지도 그림: 지도는 앱에 들어 있는 구글 지도 SDK가 그립니다. 이 SDK가 지도를 그리는 데 필요한 데이터를 구글의 서버에서 받아 오며, 그때 보고 있는 영역의 좌표가 구글에 전달됩니다. 구글 지도 이용에는 구글의 개인정보처리방침(
https://policies.google.com/privacy)이 함께 적용됩니다. - 장소 이름: 좌표를 "서울 종로구" 같은 이름으로 바꾸는 일은 기기 운영체제의 지오코딩 기능(애플·구글)이 처리합니다. 이때 좌표가 해당 운영체제 사업자에게 전달됩니다.
두 경우 모두 일기에서 나가는 것은 좌표뿐이며 일기의 글·사진·제목은 함께 나가지 않습니다. 다만 인터넷으로 오가는 요청에는 좌표 외에 통신에 따르는 정보(IP 주소, 기기·앱·SDK의 종류와 판 번호 등)가 함께 실리며, 그 정보는 구글과 기기 운영체제 사업자가 각자의 방침에 따라 처리합니다. 지도 화면을 열지 않고 위치를 붙이지 않으면 좌표는 나가지 않습니다.
권한
앱이 요청하는 권한은 일기를 쓰는 데 필요한 범위에서만 쓰입니다. 아래 표의 데이터는 기기 안에 저장되며, 기기 밖으로 나가는 경우는 위 지도와 장소 이름 절과 교환 편지뿐입니다.
| 권한 | 쓰는 곳 |
|---|---|
| 사진·카메라 | 일기에 사진을 붙일 때 (기기 안) |
| 위치 | 일기에 그날의 장소를 붙이고 지도에 표시할 때 (지도·장소 이름 조회는 위 절 참조) |
| 활동·건강(걸음 수) | 그날의 걸음 수를 일기에 붙일 때 (기기 안) |
| 알림 | 새 편지 알림 |
| Face ID·생체인증 | 앱 잠금 (기기 안) |
AI 키
사용자가 자신의 AI 서비스 키를 직접 등록할 수 있습니다. 키는 기기의 보안 저장소에 보관되고 화면에 다시 표시되지 않으며, 우리 서버로 전송되지 않습니다. 현재 판에서는 키를 저장만 하며 일기 내용을 AI 서비스로 보내지 않습니다.
결제
앱 안에서 유료 기능(Inklune Pro)을 살 수 있습니다. 아이폰에서는 App Store로, 안드로이드에서는 Google Play로 삽니다.
- App Store에서 사면 결제는 애플이 처리합니다. 결제 수단·카드 번호·청구 주소·영수증은 App Store가 받고, 우리는 그중 어느 것도 받지 않습니다. App Store 구매자 목록도 우리에게 없어서 아이폰에서 누가 샀는지 우리는 알지 못합니다.
- Google Play에서 사면 결제는 구글이 처리합니다. 결제 수단·카드 번호·청구 주소는 Google Play 결제 시스템이 받고, 우리는 받지 않습니다. 다만 Google Play 판매에서는 우리가 판매자라서, 구글이 판매자에게 보여 주는 주문 기록(주문 번호·상품·금액·주문 상태·구매 국가 등)을 Play Console에서 볼 수 있고 구매자의 이메일 주소로 주문을 찾을 수 있습니다. 이 기록은 앱이 보내는 것이 아니라 구글이 판매자 계정에 보관하는 것이며, 우리는 환불·문의 처리와 세금 신고 같은 법령상 의무를 이행하는 데에만 씁니다. 거래 기록의 보존을 요구하는 법령(전자상거래 등에서의 소비자보호에 관한 법률 등)이 있으면 그 법령이 정한 동안 보존 의무를 따릅니다.
앱이 저장하는 것은 구매 여부 하나뿐이고, 그 값은 기기 안에 있습니다 — 우리 서버로 보내지 않습니다.
다만 한 가지는 나갑니다. 결제나 구매 복원이 실패했을 때, 아래 오류 보고(진단)가 켜져 있으면 실패한 지점의 분류 이름(tier.로 시작하는 값)이 진단 서버로 갑니다. 거기에 결제 수단·영수증·금액은 들어가지 않고, 구매 여부를 담는 칸도 따로 없습니다. 다만 분류 이름이 구매가 있었다는 사실을 드러내는 경우가 있습니다 — 결제가 끝난 뒤 Pro를 기기에 기록하는 단계에서 실패했다면 그 이름만으로 그 설치본의 스토어 계정에 구매가 있었다는 것을 알 수 있고, 거래를 마무리하는 단계의 실패는 구매가 있었을 가능성을 드러냅니다(취소·실패한 거래를 끝낼 때도 같은 이름이 나갑니다). 보고서 자체에는 이름·이메일이 없고 식별자는 설치할 때 기기가 만든 무작위 값뿐입니다. 우리는 진단 보고를 Google Play 주문 기록과 대조하거나 결합하지 않습니다. 함께 실리는 것의 전부는 아래 ## 수집 항목 표이고, 이 보고는 설정에서 끌 수 있습니다.
App Store 결제 과정에서 처리되는 정보는 애플의 방침을, Google Play 결제 과정에서 처리되는 정보는 구글의 방침을 따릅니다. App Store 구매의 환불 요청은 애플이 접수하고 심사합니다. Google Play 구매의 환불은 구글에 요청하거나 우리에게 요청할 수 있습니다.
오류 보고(진단)
앱이 죽거나 기능이 조용히 실패했을 때, 무엇이 어디서 실패했는지를 알려 주는 짧은 보고서를 우리 서버로 보냅니다. 기본으로 켜져 있고, 설정에서 끌 수 있습니다. 아래 표가 그때 보내는 것의 전부입니다.
수집 항목
| 항목 | 뜻 | 예 |
|---|---|---|
schema | 보고서 형식의 판 번호 | 1 |
installId | 설치할 때 기기가 만든 무작위 식별자. 계정·이메일·광고 식별자와 무관하며 앱을 지우면 사라집니다 | 01J9Z... |
occurredAt | 오류가 난 시각 | 2026-08-12T01:02:03Z |
kind | 앱이 죽은 것인지, 기능이 실패한 것인지 | crash / handled |
code | 실패의 분류 이름(예외 메시지 원문이 아니라 분류 키) | invite.create.notRegistered |
httpStatus | 서버가 거절한 경우의 응답 번호 | 503 |
frames | 오류가 난 지점의 함수 이름만. 인자·파일 경로·줄 번호는 없습니다 | ["PairingService.createInvite"] |
appVersion | 앱 버전 | 1.0.0+1 |
platform | 운영체제 종류 | ios / android |
osVersion | 운영체제 버전 | 26.6 |
locale | 언어 설정(날짜·문구 관련 버그 재현용) | ko |
attempted | 처리하려던 항목의 개수 | 2568 |
succeeded | 그중 성공한 항목의 개수 | 8 |
attempted·succeeded는 개수만 보내는 숫자입니다. 예를 들어 다른 앱에서 일기를 가져오다 대부분 실패하면 "2568개를 시도해 8개가 성공"이라는 두 숫자만 전달됩니다. 일기의 내용·제목·파일 이름은 보내지 않습니다. 이 숫자를 넣는 이유는, 한 편을 건너뛴 일과 대부분을 잃은 일이 개수 없이는 똑같은 한 건으로 보여 심각한 고장을 알아채지 못하기 때문입니다.
보내지 않는 항목
오류 보고에는 다음이 어떤 경우에도 포함되지 않습니다.
- 일기 본문·제목·태그
- 사진·파일의 이름과 파일 경로
- 교환 토큰·초대 링크·방 이름
- 신원 키(암호 열쇠)·계정 id
- 예외 메시지 원문 — 오류 메시지에는 일기 문장이 섞여 들어가기 쉽습니다. 그래서 메시지 문장을 통째로 빼고 예외의 종류 이름만 분류 키에 녹입니다.
- 사용자 이름을 비롯한 이름·이메일·전화번호
- IP 주소를 사용자 식별자로 쓰는 일
보내는 것은 위 ## 수집 항목 표에 적힌 항목뿐이며, 앱은 그 표의 항목만 실을 수 있도록 만들어져 있습니다.
보관 기간
오류 보고서는 저장소에 30일 동안 보관되고 그 뒤 자동으로 삭제됩니다. 이 기간은 저장소의 만료 규칙으로 강제됩니다.
전송 대상
- 받는 곳은 우리가 직접 운영하는 진단 서버(
inklore-errors) 한 곳뿐입니다. - 제3자에게 제공하거나 판매하지 않으며, 외부 분석·광고 도구를 쓰지 않습니다.
- 전송은 HTTPS로 암호화됩니다.
- 보고서는 앱에서 서버로 한 방향으로만 갑니다. 서버가 앱에 명령을 내리거나 앱 설정을 바꾸지 않습니다.
- 광고·마케팅·이용 행태 분석에 쓰지 않습니다. 쓰는 곳은 고장 수리뿐입니다.
끄는 방법
앱의 설정 화면을 열고 맨 아래 진단 항목의 오류 보고 보내기 스위치를 내리면 그 즉시 전송이 멈춥니다.
- 이 기능은 기본으로 켜져 있습니다. 대부분의 고장은 사용자가 알려 주기 전에 이 보고로 먼저 발견되기 때문이며, 그래서 무엇을 보내는지를 이 표로 공개합니다.
- 끄면 오류 보고를 보내지 않습니다. 앱의 다른 기능은 그대로 동작합니다.
- 아직 보내지 못하고 기기에 쌓여 있던 보고서도 끄는 순간 함께 지워집니다. 인터넷이 끊겨 있던 동안 밀려 있던 것이 나중에 나가는 일은 없습니다. 다시 켜면 그 뒤에 생기는 오류부터 보냅니다 — 이미 지운 것은 되살아나지 않습니다.
- 이미 보낸 보고서는 익명이라 특정 사용자의 것으로 지목할 수 없습니다. 다만 위 보관 기간에 따라 30일 안에 모두 삭제됩니다.
아동의 개인정보
잉크룬은 아동을 대상으로 하는 앱이 아니며, 아동의 개인정보를 의도적으로 수집하지 않습니다.
방침의 변경
수집 항목이 바뀌면 이 문서를 함께 고칩니다. 진단 부분은 앱 코드와 자동으로 대조되므로, 문서를 고치지 않은 채 항목만 늘리는 일은 개발 단계에서 막힙니다.
문의
blackpet@gmail.com