잉크룬 개인정보 처리방침

잉크룬은 일기를 기기 안에 두는 앱입니다. 일기의 글·사진·위치는 사용자의 기기에 파일로 저장되고, 사용자가 스스로 보내지 않는 한 기기 밖으로 나가지 않습니다. 이 문서는 그럼에도 기기 밖으로 나가는 것이 무엇이고, 왜 나가며, 어떻게 끄는지를 적습니다.

이 방침에는 두 종류의 내용이 섞여 있습니다. 앞부분은 앱 전체가 다루는 정보이고, 뒷부분(## 수집 항목부터)은 오류 보고(진단) 한 가지만 다룹니다. 진단 부분은 앱 코드의 전송 허용 목록과 자동으로 대조되어, 코드와 이 문서 중 한쪽만 바뀌면 개발 단계에서 검사가 실패합니다.


로컬 일기 — 기기 밖으로 나가지 않습니다

일기의 본문·제목·태그·사진·위치·걸음 수는 기기 안의 파일과 데이터베이스에 저장됩니다. 우리 서버로 보내지 않고, 백업 서비스를 자동으로 켜지도 않습니다. 기기의 시스템 백업(iCloud·Google 백업)을 사용자가 켜 두었다면 그 백업에는 포함될 수 있으며, 그 백업은 애플·구글이 각자의 방침에 따라 처리합니다.

내보내기 기능으로 만든 파일과 가져오기로 읽는 파일도 기기 안에서만 다뤄집니다.

교환 편지 — 내용을 읽을 수 없는 형태로 전달합니다

교환일기를 쓰면 편지가 우리 중계 서버(릴레이)를 거쳐 상대에게 전달됩니다.

알림

새 편지 알림을 받으려면 기기가 발급한 푸시 토큰을 중계 서버에 보관해야 합니다. iOS와 안드로이드 모두 해당됩니다. 이 토큰은 알림을 보내는 데만 쓰고, 알림을 끄거나 앱을 지우면 더 이상 쓰이지 않습니다.

알림 전달에는 구글의 FCM(Firebase 클라우드 메시징) 을 사용합니다. iOS와 안드로이드 모두 토큰을 구글 파이어베이스가 발급하며, iOS에서는 FCM이 다시 애플의 APNs를 거쳐 기기로 전달합니다. 이 과정에서 구글과 애플이 기기·앱 설치 정보를 각자의 방침에 따라 처리합니다. 알림에는 편지 내용을 담지 않고, 어느 방에 무슨 일이 생겼는지를 가리키는 방 식별자와 사건 종류(새 편지·연결됨 등)만 실립니다.

지도와 장소 이름

일기에 위치를 붙이거나 지도를 볼 때, 좌표가 다음 두 곳으로 나갑니다. 우리 서버로는 가지 않고, 우리가 저장하지도 않습니다.

두 경우 모두 일기에서 나가는 것은 좌표뿐이며 일기의 글·사진·제목은 함께 나가지 않습니다. 다만 인터넷으로 오가는 요청에는 좌표 외에 통신에 따르는 정보(IP 주소, 기기·앱·SDK의 종류와 판 번호 등)가 함께 실리며, 그 정보는 구글과 기기 운영체제 사업자가 각자의 방침에 따라 처리합니다. 지도 화면을 열지 않고 위치를 붙이지 않으면 좌표는 나가지 않습니다.

권한

앱이 요청하는 권한은 일기를 쓰는 데 필요한 범위에서만 쓰입니다. 아래 표의 데이터는 기기 안에 저장되며, 기기 밖으로 나가는 경우는 위 지도와 장소 이름 절과 교환 편지뿐입니다.

권한쓰는 곳
사진·카메라일기에 사진을 붙일 때 (기기 안)
위치일기에 그날의 장소를 붙이고 지도에 표시할 때 (지도·장소 이름 조회는 위 절 참조)
활동·건강(걸음 수)그날의 걸음 수를 일기에 붙일 때 (기기 안)
알림새 편지 알림
Face ID·생체인증앱 잠금 (기기 안)

AI 키

사용자가 자신의 AI 서비스 키를 직접 등록할 수 있습니다. 키는 기기의 보안 저장소에 보관되고 화면에 다시 표시되지 않으며, 우리 서버로 전송되지 않습니다. 현재 판에서는 키를 저장만 하며 일기 내용을 AI 서비스로 보내지 않습니다.

결제

앱 안에서 유료 기능(Inklune Pro)을 살 수 있습니다. 아이폰에서는 App Store로, 안드로이드에서는 Google Play로 삽니다.

앱이 저장하는 것은 구매 여부 하나뿐이고, 그 값은 기기 안에 있습니다 — 우리 서버로 보내지 않습니다.

다만 한 가지는 나갑니다. 결제나 구매 복원이 실패했을 때, 아래 오류 보고(진단)가 켜져 있으면 실패한 지점의 분류 이름(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개가 성공"이라는 두 숫자만 전달됩니다. 일기의 내용·제목·파일 이름은 보내지 않습니다. 이 숫자를 넣는 이유는, 한 편을 건너뛴 일과 대부분을 잃은 일이 개수 없이는 똑같은 한 건으로 보여 심각한 고장을 알아채지 못하기 때문입니다.

보내지 않는 항목

오류 보고에는 다음이 어떤 경우에도 포함되지 않습니다.

보내는 것은 위 ## 수집 항목 표에 적힌 항목뿐이며, 앱은 그 표의 항목만 실을 수 있도록 만들어져 있습니다.

보관 기간

오류 보고서는 저장소에 30일 동안 보관되고 그 뒤 자동으로 삭제됩니다. 이 기간은 저장소의 만료 규칙으로 강제됩니다.

전송 대상

끄는 방법

앱의 설정 화면을 열고 맨 아래 진단 항목의 오류 보고 보내기 스위치를 내리면 그 즉시 전송이 멈춥니다.


아동의 개인정보

잉크룬은 아동을 대상으로 하는 앱이 아니며, 아동의 개인정보를 의도적으로 수집하지 않습니다.

방침의 변경

수집 항목이 바뀌면 이 문서를 함께 고칩니다. 진단 부분은 앱 코드와 자동으로 대조되므로, 문서를 고치지 않은 채 항목만 늘리는 일은 개발 단계에서 막힙니다.

문의

blackpet@gmail.com