하루니키

개인정보처리방침

시행일: 2026.10.27, 버전 2

하루니키는 한국어로 쓴 하루를 일본어로 바꿔 단어와 문법을 공부하는 iOS와 Android 앱입니다.

로그인은 선택입니다(iOS는 Apple 계정 또는 Google 계정, Android는 Google 계정). 일기 쓰기와 변환, 학습, 복습은 로그인 없이 쓸 수 있고, 일기와 학습 기록을 계정에 보관해 기기를 바꾸거나 여러 기기에서 이어 쓰려면 로그인합니다. 하루니키 서버는 계정의 이름과 전화번호를 보관하지 않습니다. 로그인한 Apple 계정과 Google 계정의 이메일을 받으면 계정 화면에 보여 주려고 암호화해 보관합니다. 일기는 기기 안에 저장되고, 로그인한 계정의 사본은 아래처럼 암호화해 서버 저장소에 보관합니다.

변환 버튼을 누르거나 구독 기능(일본어 일기 첨삭, 되묻기 대화)을 쓸 때, 구독 없이 일기마다 한 번 되묻기 질문에 답할 때만 일기 원문과 대화의 답, 기억, 동의한 경우의 음성 녹음이 하루니키 서버를 거쳐 Anthropic 또는 OpenAI의 AI로 전달될 수 있습니다. 이를 위해 중계하는 내용은 저장하지 않습니다.

로그인한 계정의 일기, 사진, 학습 기록은 암호화해 하루니키 서버 저장소에 보관하며 기기를 바꾸거나 여러 기기에서 쓸 때 맞춥니다.

앱을 어떻게 쓰는지 보기 위해 Google Analytics for Firebase를 씁니다. 화면 이동과 변환, 학습 같은 이용 기록과 기기 측정 ID를 보내며, iOS 앱에서는 App Store 구독 구매와 갱신 기록도 자동으로 함께 보냅니다. 일기와 대화의 내용은 보내지 않습니다. 설정의 사용 통계 화면에서 끌 수 있습니다. iOS에서는 광고 식별자(IDFA)를 읽지 않습니다.

이 웹사이트(harunikki.app)는 광고를 보고 들어온 방문이 앱 설치로 이어졌는지 보려고 무작위 방문 ID와 유입 경로(광고 캠페인 이름, 들어온 사이트 이름), 본 장면, 누른 스토어 버튼, 기기 종류를 하루니키 서버에 남깁니다. IP 주소는 남기지 않고, 브라우저의 Global Privacy Control을 켜면 아무것도 남기지 않습니다(11항).

설정의 동기화 화면에서 이 기기와 서버의 기록을 한 번에 지울 수 있습니다.

이 방침은 하루니키를 운영하는 하루에이아이(이하 하루니키)가 이용자의 개인정보를 어떻게 다루는지 설명합니다. 개인정보 보호법과 정보통신망법을 따릅니다. 아래 내용은 앱의 실제 구현을 기준으로 작성했고, 구현이 바뀌면 이 문서를 먼저 고칩니다.

  1. 처리 목적
  2. 처리하는 항목
  3. 수집 방법
  4. 보유 기간
  5. 파기
  6. 제3자 제공
  7. 처리 위탁
  8. 국외 이전
  9. 일기와 AI 처리
  10. AI 학습 사용 여부
  11. 자동 수집 정보와 분석
  12. 광고
  13. 이용자의 권리
  14. 데이터 삭제
  15. 안전성 확보 조치
  16. 보호책임자와 문의
  17. 권리침해 구제
  18. 방침 변경

1. 개인정보 처리 목적

2. 처리하는 개인정보 항목

로그인은 선택입니다(iOS는 Apple 계정 또는 Google 계정, Android는 Google 계정). 로그인하지 않은 설치는 기기 식별자로만 구분하며 기기 안의 기능과 변환을 쓸 수 있습니다. 기기 안의 기록은 로그인 전에도, 로그아웃 뒤에도 지워지지 않습니다. 로그인하면 아래 표의 계정 항목이 추가됩니다.

하루니키 서버는 계정의 이름과 전화번호를 보관하지 않습니다. 로그인한 Apple 계정과 Google 계정의 이메일을 받으면 계정 화면에 보여 주려고 암호화해 보관합니다. Apple 계정으로 로그인할 때는 Apple에 이메일 공유를 요청합니다. 이메일 가리기를 고르면 Apple이 만든 전달용 주소를 받습니다. 이름은 요청하지 않습니다.

기기에 저장하는 정보

아래 정보는 기기에 저장됩니다. 이 중 일기, 사진, 학습 기록은 로그인한 계정의 사본을 암호화해 서버 저장소에 보관합니다. 서버 동기화로 올린 사본은 아래 서버 저장소에 암호화해 보관하는 정보 절에 따릅니다. AI 변환을 요청한 내용은 9항에 따라 전송됩니다. 앱을 삭제하면 기기의 자료는 함께 사라집니다. Android 앱은 기기 자동 백업에서 제외되어 있어 이 자료가 Google 자동 백업으로 나가지 않습니다.

하루니키 서버에 저장하는 정보

항목 내용 목적
기기 식별자 앱이 처음 실행될 때 서버가 무작위로 만든 ID. Apple이나 Android의 기기 번호, 광고 ID가 아닙니다 무료 변환 횟수 관리, 요청 서명 검증
기기 무결성 증명 정보 iOS는 Apple App Attest 키 ID, 공개키, 암호화한 증명 영수증. Android는 등록 확인값의 해시와 만료 시각이며, Google Play Integrity 판정은 등록할 때 확인만 하고 저장하지 않습니다 위조된 앱의 요청 차단
변환 기록 기기 식별자, 일기 ID, 변환 시각, 횟수. 일기 내용은 포함하지 않습니다. 로그인한 기기의 기록은 계정 ID 기준으로도 집계됩니다 무료 변환 횟수와 유료 보호 상한 계산
구독 기능 사용 기록 기능 종류(첨삭, 대화, 구독 없이 답한 대화, 기억 정리, 받아쓰기), 요청 ID, 일기 ID와 대화 ID(해당하는 경우), 문장 수나 횟수, 시각. 로그인한 기기는 계정 ID, 그 밖에는 기기 식별자로 묶습니다. 일기와 답의 내용, 녹음은 포함하지 않습니다. 일본어 일기 첨삭은 위 변환 기록에도 남고 변환 횟수를 함께 씁니다 구독 기능의 하루 이용 상한과 구독 없이 답하는 대화의 일기별 한 번과 하루 상한 계산
계정 정보(로그인한 경우) 서버가 무작위로 만든 계정 ID, 로그인 수단(Apple 또는 Google), Apple 또는 Google이 발급한 이용자 식별자를 서버 전용 키로 해시한 값, 로그인 수단별 이메일(받은 경우, 암호화), Apple 로그인 권한 폐기용 갱신 토큰(Apple 계정으로 로그인하거나 연결한 경우, 암호화), 계정 생성 시각. 이름, Apple ID와 Google 계정 원문은 저장하지 않습니다 같은 계정으로 다시 로그인한 기기 확인, 여러 기기의 무료 변환 횟수 공유, 탈퇴할 때 이 앱에 대한 Apple 로그인 권한 폐기
계정 연결(로그인한 경우) 기기 식별자와 계정 ID의 연결, 로그인 요청 확인값(nonce)의 해시, 변환 기록을 계정으로 옮긴 시각 로그인한 기기 확인, 로그아웃과 탈퇴
계정 사건 기록(로그인한 경우) 계정 ID, 사건 종류(연결, 해제, 탈퇴), 시각 부정 사용 확인과 분쟁 대응
동기화 색인(로그인한 경우) 계정 ID, 순번, 작성 기기 ID, 사진의 해시값, 크기, 시각. 일기 내용은 넣지 않습니다 기기 간 동기화
감싼 데이터 키(로그인한 경우) 계정마다 만든 데이터 키를 하루니키 서버의 마스터 키로 감싼 값 서버 저장소에 보관하는 동기화 사본의 암호화
전체 삭제 요청 기록 요청 ID, 계정 ID, 완료 시각 같은 삭제 요청을 한 번만 처리
구독 상태 구독 연결 ID, 구독 상태, 확인 시각, 암호화한 구매 증거(거래 ID, 상품, 가격, 통화). Android는 계정 ID를 구독 연결 ID로 씁니다 유료 기능 제공, 잘못된 기기 연결 방지
문의 내용 이용자가 적은 내용, 분류, 앱 버전, 플랫폼, 기기 식별자 문의와 오류 대응
구매 측정용 식별자 구독 연결 ID마다 최신 한 건. 플랫폼, Google Analytics의 앱 인스턴스 ID, OS와 앱 버전, 사용 통계를 껐는지 여부, 갱신 시각 구독 구매를 그 기기의 사용 통계에 연결(11항)
Android 설치 경로 Android 앱이 처음 실행될 때 Google Play에서 읽은 설치 경로 가운데 광고 캠페인 이름(utm_source, utm_medium, utm_campaign, utm_content, utm_term), 웹사이트 방문 ID와 스토어 버튼 클릭 ID, Google 광고 클릭 ID가 있었는지 여부, 클릭과 설치 시작 시각. 기기 식별자와 함께 둡니다 하루니키 광고와 웹사이트가 설치, 첫 변환, 구독으로 이어졌는지 측정(11항, 12항)
웹사이트 방문 기록 harunikki.app 방문자의 브라우저가 만든 무작위 방문 ID와 탭 세션 ID, 연 페이지, 본 장면, 누른 스토어 버튼과 위치, 스토어 버튼 클릭 ID, QR 스캔, 처음과 마지막 유입 경로(광고 캠페인 이름, 들어온 사이트의 호스트 이름), 광고 클릭 ID가 있었는지 여부, 기기 종류(iOS, Android, 그 밖), 인앱 브라우저 종류, 언어, 화면 너비, 받은 시각. IP 주소, 전체 주소, 광고 클릭 ID 값은 남기지 않습니다 하루니키 광고와 웹사이트의 방문, 스토어 이동, 설치 성과 측정(11항)
접속 IP 요청 제한을 위해 서버 메모리에서만 잠시 사용합니다. 기기 증명 요청에서는 해시로 1시간 보관합니다 과도한 요청 차단

AI 호출 운영 기록

제공자, 모델, 호출 시각, 성공과 실패 분류, 토큰 수와 추정 비용을 30일 보관합니다. 기기 식별자, 일기 ID, 원문과 응답은 이 기록에 넣지 않습니다.

삭제 요청을 재적용하기 위해 별도로 보관하는 정보

서버 백업 복구 시 이미 삭제한 정보가 돌아오지 않도록 기기 식별자 또는 계정 ID를 전용 키로 해시한 값과 삭제 요청 시각을 Cloudflare R2에 보관합니다. 이는 사용자와 연결되는 가명 정보이며, 일기 내용이나 삭제 이유는 포함하지 않습니다.

서버 저장소에 암호화해 보관하는 정보

로그인한 계정의 일기 원문과 변환된 일본어 일기, 문장, 단어와 문법 기록, 학습 기록, 사진 원본, 구독 기능의 첨삭 결과와 되묻기 대화, 기억을 하루니키 서버 저장소에 보관합니다. 기기를 바꾸거나 여러 기기에서 같은 계정으로 쓸 때 기록을 맞추기 위해서입니다. 구독과 무관하게 모든 이용자에게 적용되며 앱 안에서 켜고 끌 수 없습니다.

저장소는 Cloudflare, Inc.의 비공개 저장소(아시아 태평양 지역)입니다. 지역 안의 구체적인 국가는 Cloudflare가 정합니다. 색인과 감싼 키는 하루니키 서버 데이터베이스(Fly.io, 일본 도쿄)에 둡니다. 사본은 계정마다 만든 데이터 키로 AES-256-GCM 방식으로 암호화해 저장합니다. 데이터 키는 하루니키 서버의 마스터 키로 감싸 서버 데이터베이스에 보관합니다. 키를 하루니키가 보관하므로 이용자만 풀 수 있는 종단간 암호화는 아닙니다. 운영자가 사본을 읽는 도구와 화면은 두지 않습니다.

동기화 색인으로 서버 데이터베이스에는 계정 ID, 순번, 작성 기기 ID, 사진의 해시값, 크기, 시각만 둡니다. 일기 내용은 넣지 않습니다. 서버 데이터베이스의 복구용 백업에는 감싼 키와 색인이 들어가고 암호화한 사본 자체는 들어가지 않습니다. 보유 기간은 4항에 있고, 설정의 동기화 화면에서 이 기기와 서버의 기록 삭제를 실행하면 지울 수 있습니다(14항).

iOS의 구독 연결 ID는 구독 복원을 위해 이용자 iCloud의 키 값 저장소와 비공개 데이터베이스에 둡니다. 일기나 개인 내용을 담지 않습니다. 동기화에는 iCloud를 쓰지 않습니다.

사용 통계 도구가 처리하는 정보

Google(Google Analytics for Firebase)이 하루니키를 대신해 아래 정보를 처리하고 4항의 기간 동안 보관합니다. 자세한 내용은 11항과 12항에 있습니다.

외부 사업자에 잠시 전달하는 정보

3. 개인정보 수집 방법

4. 보유 및 이용 기간

항목 보유 기간
기기 안의 일기, 사진, 학습 기록, 설정, 구독 기능의 첨삭과 대화, 기억 이용자가 지우거나 앱을 삭제할 때까지
서버 저장소의 동기화 사본(일기, 사진, 학습 기록) 탈퇴하거나 앱에서 전체 삭제를 실행할 때까지. 고치거나 지운 일기의 옛 사본은 변경 뒤 최대 30일, 어느 일기도 가리키지 않게 된 사진은 최대 60일 안에 정리합니다. 정리 작업의 대기 시간은 보통 몇 분이며 서버 상태에 따라 더 걸릴 수 있습니다. 저장소 삭제가 실패해 남은 사본은 다음 전체 삭제나 탈퇴의 정리에서 지웁니다
동기화 색인과 감싼 데이터 키 탈퇴할 때까지. 전체 삭제를 실행하면 그때까지의 색인을 지웁니다
전체 삭제 요청 기록 30일
기기 식별자, 무결성 증명 정보, 변환 기록, 구독 상태 이용자가 앱에서 데이터 삭제를 실행할 때까지
계정 정보와 계정 기준 변환 기록 이용자가 탈퇴할 때까지. 로그인 수단별 이메일은 그 수단의 연결을 해제하거나 탈퇴하면 지웁니다
Apple 로그인 권한 폐기용 갱신 토큰(암호화) 이용자가 탈퇴할 때까지. 탈퇴할 때 Apple에 폐기를 요청하고 지웁니다. Apple 쪽 장애로 바로 폐기하지 못하면 계정과 잇는 값 없이 폐기 대기열로 옮겨 폐기를 마칠 때까지, 계정 삭제 뒤 최대 7일 보관합니다
구독 기능 사용 기록 기기 식별자로 묶은 기록은 이용자가 앱에서 데이터 삭제를 실행할 때까지, 계정 ID로 묶은 기록은 탈퇴할 때까지
계정 연결 이용자가 그 기기에서 로그아웃하거나 데이터 삭제를 실행할 때까지
계정 사건 기록 발생 후 1년
탈퇴 요청 기록(요청 ID, 기기 식별자, 계정 ID, 완료 시각) 완료 후 30일
로그인 요청 확인값(nonce)의 해시 만료 후 하루
삭제 재적용 기록(해시한 기기 식별자 또는 계정 ID와 요청 시각) 요청 기록 후 6일이 지나면 저장소 수명 주기 정책에 따라 정리합니다. 실제 삭제 처리에는 추가 시간이 걸릴 수 있습니다
암호화한 구매 증거와 구독 연결 기록 구독이 활성인 동안과 종료 후 180일
문의 내용 접수 후 180일. 처리가 끝난 문의는 처리 후 30일 중 먼저 오는 시점
구매 측정용 식별자 그 구독 연결 ID를 쓰는 기기가 모두 데이터 삭제를 실행하거나, 계정 ID가 구독 연결 ID인 경우 탈퇴할 때까지. 사용 통계를 끄면 남아 있어도 구매 이벤트를 보내지 않습니다
Android 설치 경로 그 설치가 데이터 삭제를 실행할 때까지
웹사이트 방문 기록 받은 날부터 400일
Google Analytics의 이용 기록 이벤트 단위 기록은 수집 후 2개월. 개인을 알아볼 수 없게 합친 통계 보고서는 기간 없이 남을 수 있습니다
AI 호출 운영 기록 30일
요청 서명 기록(nonce) 10분
기기 증명 요청의 IP 해시 1시간
Android 등록 확인값의 해시 생성 후 하루
서버 복구용 백업 자동 스냅샷은 5일. 운영자가 만드는 사본은 복구 목적으로만 사용하고 배포와 복구 확인 후 폐기하며, 생성일부터 최대 5일을 넘겨 보관하지 않습니다. 백업에는 감싼 키와 색인이 들어가고 암호화한 동기화 사본 자체는 들어가지 않습니다

Anthropic, OpenAI와 RevenueCat이 자체적으로 보관하는 기간은 8항과 9항에, Google Analytics의 보관은 8항과 11항에 적었습니다.

5. 개인정보의 파기

6. 개인정보의 제3자 제공

하루니키는 개인정보를 제3자에게 판매하거나 제공하지 않습니다. 법령에 따른 요청이 있을 때만 예외입니다.

Google은 하루니키를 대신해 사용 통계를 처리하는 수탁자입니다(7항). 하루니키는 Google Analytics에서 Google 제품과 서비스, 광고에 쓰도록 하는 데이터 공유 설정을 모두 끄고 씁니다.

7. 개인정보 처리업무의 위탁

받는 자 위탁 업무 전달하는 정보
Anthropic, PBC (미국) 일기 변환과 단어 뜻풀이, 구독 기능의 일본어 일기 첨삭, 되묻기 대화, 기억 정리 AI 처리 변환을 요청한 일기 원문과 제목, 단어 목록과 뜻 참고 정보, 구독 기능에서 보내는 일본어 일기 문장, 대화의 답, 기억, 일기 요약
OpenAI OpCo, LLC (미국) 일기 변환과 단어 뜻풀이, 구독 기능의 일본어 일기 첨삭, 되묻기 대화, 기억 정리 AI 처리, 음성 답 받아쓰기 (받아쓰기는 OpenAI만 처리) 변환을 요청한 일기 원문과 제목, 단어 목록과 뜻 참고 정보, 구독 기능에서 보내는 일본어 일기 문장, 대화의 답, 기억, 일기 요약, 서버 받아쓰기에 동의한 경우의 음성 답 녹음
RevenueCat, Inc. (미국) 구독 상태 관리 구독 연결 ID, Apple 또는 Google Play 결제 영수증, 기기 종류와 OS 버전
Google LLC (미국) Google Analytics for Firebase를 통한 앱 이용 통계 분석 앱 인스턴스 ID, iOS의 IDFV, Android의 광고 ID, 앱 이용 이벤트와 화면 이름, 기기 정보, 접속 IP, 로그인한 경우의 계정 ID, 하루니키 서버가 보내는 구독 구매 이벤트, iOS 앱이 자동으로 기록하는 App Store 구매와 갱신. 11항을 보세요
Fly.io, Inc. (서버는 일본 도쿄) 하루니키 서버 호스팅 2항의 서버 저장 정보 전체
Cloudflare, Inc. (미국) 이 웹사이트 호스팅, 이메일 수신, 삭제 재적용 기록 보관, 동기화 사본 저장소(암호화한 일기, 사진, 학습 기록) 웹사이트 접속 정보, 이메일 문의 내용, 해시한 기기 식별자 또는 계정 ID와 삭제 요청 시각, 암호화한 동기화 사본

Apple은 결제, 기기 무결성 증명(App Attest), Apple 계정 로그인, 구독 연결 ID를 두는 iCloud 키 값 저장소와 비공개 데이터베이스를 자체 서비스로 처리합니다. 결제 카드 정보와 Apple ID는 Apple만 다루며 하루니키는 받지 않습니다. 로그인하면 Apple이 이 앱용으로 발급한 이용자 식별자를 받아 해시해 보관하고, 탈퇴할 때 이 앱에 대한 Apple 로그인 권한을 폐기하려고 Apple이 발급한 갱신 토큰을 암호화해 보관합니다.

Google은 Google 계정 로그인과 Android의 결제(Google Play), 기기 무결성 판정(Play Integrity)을 자체 서비스로 처리합니다. 결제 카드 정보와 Google 계정 비밀번호는 Google만 다루며 하루니키는 받지 않습니다. 로그인하면 Google이 발급한 이용자 식별자만 받아 해시해 보관합니다.

8. 개인정보의 국외 이전

서비스 제공을 위해 아래와 같이 개인정보가 국외로 이전됩니다. AI 처리는 Anthropic과 OpenAI 두 사업자 중 운영 설정에 따른 순서로 전달되며, 장애 등 상황에 따라 한 요청이 다른 사업자에게 넘어갈 수 있습니다. 음성 답의 서버 받아쓰기는 OpenAI만 처리합니다.

받는 자 국가 이전 항목 시기와 방법 목적과 보유 기간
Anthropic, PBC
privacy@anthropic.com
미국 일기 원문과 제목, 단어 목록과 뜻 참고 정보, 구독 기능의 일본어 일기 문장, 대화의 답, 기억, 일기 요약 변환이나 단어 뜻풀이, 구독 기능의 첨삭, 대화(답하기와 다른 질문), 기억 정리를 요청해 운영 설정에 따라 이 사업자에게 전달될 때 암호화 통신으로 전송 AI 변환과 단어 뜻풀이, 구독 기능. Anthropic은 입력과 출력을 수신 후 30일 안에 삭제합니다
OpenAI OpCo, LLC
privacy@openai.com
미국 일기 원문과 제목, 단어 목록과 뜻 참고 정보, 구독 기능의 일본어 일기 문장, 대화의 답, 기억, 일기 요약, 서버 받아쓰기에 동의한 경우의 음성 답 녹음 변환이나 단어 뜻풀이, 구독 기능의 첨삭, 대화(답하기와 다른 질문), 기억 정리를 요청해 운영 설정에 따라 이 사업자에게 전달될 때, 서버 받아쓰기로 말한 답을 보낼 때 암호화 통신으로 전송 AI 변환과 단어 뜻풀이, 구독 기능, 음성 답 받아쓰기. 보안과 악용 방지를 위해 입력과 출력이 최대 30일 보관될 수 있으며 법적 의무 등에 따른 예외가 있습니다. 받아쓰기 입력은 OpenAI가 처리 뒤 보관하지 않는다고 밝히고 있습니다
RevenueCat, Inc.
compliance@revenuecat.com
미국 구독 연결 ID, 결제 영수증, 기기 종류, OS 버전 구매, 복원, 갱신 시점에 암호화 통신으로 전송 구독 관리. RevenueCat의 개인정보처리방침에 따라 보관
Cloudflare, Inc.
privacyquestions@cloudflare.com
삭제 재적용 기록은 미국(미국 관할지로 제한한 R2 저장소), 동기화 사본은 아시아 태평양 지역(지역 안의 국가는 Cloudflare가 정함) 해시한 기기 식별자 또는 계정 ID와 삭제 요청 시각, 암호화한 동기화 사본(일기, 사진, 학습 기록) 삭제 요청 처리 시, 로그인한 상태에서 일기와 학습 기록을 저장하거나 고칠 때, 이 기기를 계정에 처음 연결할 때(로그인 전에 쓴 기록 포함) 암호화 통신으로 전송 서버 백업 복구 시 삭제 재적용(기록 후 6일이 지나면 저장소 수명 주기 정책에 따라 정리), 기기 간 동기화(4항의 기간)
Fly.io, Inc.
support@fly.io
일본 2항의 서버 저장 정보 전체 앱이 서버에 요청할 때 암호화 통신으로 전송. 동기화로 올린 기록은 서버를 거쳐 암호화된 뒤 저장소에 저장됩니다 서버 운영. 4항의 기간 동안 보관
Apple Inc. Apple이 정하는 국가 구독 연결 ID, Apple 로그인 때 받은 인증 코드, Apple 로그인 권한 폐기용 갱신 토큰 구독 연결 ID를 저장할 때, Apple 계정으로 로그인하거나 연결할 때, 탈퇴할 때 구독 복원. 구독 연결 ID는 이용자의 iCloud 키 값 저장소와 비공개 데이터베이스에 보관. 로그인 때 인증 코드를 보내 갱신 토큰으로 바꾸고, 탈퇴할 때 그 토큰을 보내 이 앱에 대한 Apple 로그인 권한을 폐기함. 인증 코드는 보관하지 않음
Google LLC Google이 정하는 국가 Play Integrity 토큰 Android 앱을 등록할 때 암호화 통신으로 전송 기기 무결성 판정(하루니키는 토큰과 판정을 보관하지 않음)
Google LLC
Google Analytics for Firebase
미국 등 Google이 데이터 센터를 운영하는 국가 앱 인스턴스 ID, iOS의 IDFV, Android의 광고 ID, 앱 이용 이벤트와 화면 이름, 기기 정보, 접속 IP(대략적인 지역을 정한 뒤 남기지 않음), 로그인한 경우의 계정 ID, 구독 구매 이벤트, iOS의 App Store 구매와 갱신 기록 앱을 쓰는 동안 앱이 암호화 통신으로 전송. 구독 구매 이벤트는 하루니키 서버가 결제 확인 뒤 전송하고, iOS의 App Store 구매와 갱신 기록은 앱이 거래를 읽은 뒤 전송 앱 이용 통계 분석. 이벤트 단위 기록은 2개월 보관

AI 제공자에게 이전을 원하지 않으면 AI 변환과 단어 뜻풀이, 구독 기능을 이용하지 않을 수 있습니다. 이 경우 AI 기능은 제공되지 않지만 기기 안의 일기 작성과 읽기는 계속 사용할 수 있습니다. 음성 답의 서버 받아쓰기는 동의 안내에서 키보드로 쓰기를 고르면 녹음을 보내지 않습니다. 동기화는 로그인한 계정에만 적용됩니다. Google Analytics로의 이전을 원하지 않으면 설정의 사용 통계 화면에서 끌 수 있으며, 끄더라도 앱의 모든 기능을 그대로 쓸 수 있습니다.

9. 작성한 일기와 AI 처리

AI가 받는 정보
변환을 요청한 일기의 한국어 원문과 제목. 그다음 단계에서 뜻풀이가 필요한 단어의 표제어, 읽기, 품사, 수준과 뜻 참고 정보. 기기 식별자는 AI 제공자에게 보내지 않습니다.
AI가 만드는 정보
일본어 문장, 문장별 읽기와 발음, 문법 표시, 단어 뜻풀이와 예문.
처리하는 사업자
Anthropic, PBC와 OpenAI OpCo, LLC(미국). 하루니키 서버가 요청을 중계하며, 두 사업자 중 운영 설정에 따른 순서로 전달되고 장애 등 상황에 따라 한 요청이 다른 사업자에게 넘어갈 수 있습니다.
동의와 전송 시점
앱을 설치해 쓰면 이용약관과 이 방침에 동의한 것으로 봅니다. 로그인할 때도 같은 안내를 다시 보입니다. 변환 버튼이나 단어 뜻풀이를 요청할 때마다 위 정보가 위 사업자에게 전송됩니다. 변환이나 구독 기능을 요청하지 않은 일기는 AI 제공자에게 보내지 않습니다.
하루니키 서버의 저장 여부
변환을 위해 중계하는 원문은 저장하지 않습니다. 서버는 원문을 AI 제공자에게 전달하고 결과를 기기에 돌려줍니다. 동기화로 올린 암호화한 사본은 2항과 4항에 따라 보관합니다. 남는 것은 기기 식별자, 일기 ID, 시각, 횟수와 위에서 설명한 내용 없는 AI 호출 운영 기록입니다. 서버 로그에도 일기 내용을 남기지 않습니다.
Anthropic의 보관
Anthropic은 API 입력과 출력을 수신 후 30일 안에 삭제한다고 밝히고 있습니다. Anthropic의 이용 정책을 위반한 것으로 자동 분류된 내용은 최대 2년까지 보관될 수 있습니다.
OpenAI의 보관
응답 저장 기능은 끕니다. 다만 보안과 악용 방지 기록에는 입력과 출력이 최대 30일 보관될 수 있고, 법적 의무 등에 따라 더 오래 보관될 수 있습니다. 응답 저장을 끄는 것이 무보관을 뜻하지는 않습니다.
해외 처리
미국에서 처리됩니다. 8항을 보세요.

일기에는 주민등록번호, 계좌번호, 카드번호, 비밀번호처럼 서비스에 필요 없는 민감한 정보를 적지 말아 주세요. 변환을 누르면 그 내용이 그대로 AI에 전달됩니다.

구독 기능의 AI 처리

Pro 구독에는 일본어로 쓴 일기의 첨삭, 일기에 대한 되묻기 대화, 대화에서 기억한 것으로 다음 질문을 고르는 개인화 질문, 말로 답하는 음성 입력(iOS와 Android)이 있습니다. 위의 변환과 같이 하루니키 서버가 요청을 중계하고 Anthropic 또는 OpenAI(미국)가 처리합니다. 처리하는 사업자, 보관, 해외 처리는 위 9항과 8항을 따릅니다.

구독이 없어도 일기마다 되묻기 질문에 한 번 답할 수 있습니다. 이 대화도 아래와 같이 처리하되 기억을 보내지 않고 기억을 정리하지도 않습니다. 말로 답하면 기기 안에서 받아쓴 글만 보내며, 아래 서버 받아쓰기는 Pro 구독에서만 씁니다.

보내는 것
첨삭은 일본어로 쓴 일기 문장(한 번에 60문장까지)과 제목입니다. 제목이 없으면 요약 제목도 함께 요청합니다. 되묻기 대화는 그날 일기의 일본어와 한국어 문장, 하루니키의 질문, 그 대화의 앞선 말과 내 답(답 하나에 400자까지, 한국어로 써도 됩니다), 개인화 질문을 켠 경우의 기억입니다. 개인화 질문을 켠 채 대화를 마치면 그 대화와 일기 요약(600자까지), 지금까지의 기억을 보내 기억을 정리합니다. 기기 식별자는 AI 제공자에게 보내지 않습니다.
받는 것
첨삭은 고친 문장, 고친 곳마다의 이유와 종류, 문장별 읽기와 뜻, 문법 표시, 요약 제목, 되묻기 질문, 뜻이 모호해 고치지 않은 곳에 대한 질문입니다. 대화는 하루니키의 답(일본어와 한국어), 내 답을 일본어로 고쳐 쓴 문장, 대화를 마치는 말입니다. 기억 정리는 관심사, 자주 나오는 사람과 장소, 좋아하는 말투, 다음에 물어볼 만한 일처럼 짧은 사실의 추가, 수정, 삭제입니다. 건강과 질병, 정치와 종교, 성, 실명, 연락처는 기억에 담지 않도록 거릅니다.
보내지 않는 것
말로 답하면 음성은 기기 안에서 글로 바뀌고, 녹음은 기기 밖으로 나가지 않습니다. 아래 서버 받아쓰기에 동의한 경우만 예외입니다. Android는 기기 안에서만 받아쓰는 인식 기능(Android 12 이상)만 쓰고, 녹음을 서버로 보낼 수 있는 기본 음성 인식은 쓰지 않습니다. 마이크는 말로 답하는 동안에만 켭니다.
서버 받아쓰기와 동의
기기 안에서 일본어를 받아쓸 수 없는 일부 iOS 기기와 Android 기기에서는 마이크를 처음 누를 때 이 기기는 음성을 서버에서 글로 바꾼다는 안내와 함께 동의를 묻습니다. 동의하면 말한 답의 녹음(60초까지)을 하루니키 서버를 거쳐 OpenAI에 보내 글로 바꿉니다. 하루니키 서버는 녹음과 받아쓴 글을 저장하지 않으며, OpenAI는 받아쓰기 입력을 처리 뒤 보관하지 않는다고 밝히고 있습니다. 녹음 파일은 기기에 남기지 않습니다. 동의 여부는 그 기기에만 저장하며, 동의하지 않으면 키보드로 답할 수 있습니다. 동의한 뒤에도 키보드로 답하면 녹음을 보내지 않습니다.
보관과 삭제
하루니키 서버는 구독 기능으로 보내고 받은 내용을 저장하지 않습니다. 남는 것은 2항의 구독 기능 사용 기록과 내용 없는 AI 호출 운영 기록입니다. 첨삭 결과, 대화, 기억은 기기에 저장되고, 로그인한 계정은 다른 일기처럼 암호화한 사본을 서버 저장소에 보관합니다(2항, 4항). 기억은 화면에 보이지 않으며 설정의 개인화 질문에서 전체 지우기로 모두 지울 수 있습니다. 같은 화면에서 개인화 질문을 끄면 기억을 질문에 쓰지 않고 새로 정리하지도 않습니다.
위기 대응

되묻기 대화에서 일기 문장이나 내 답에 자해와 관련된 표현이 보이면 하루니키 서버는 AI에 보내지 않고 정해진 안내로 답합니다. 정해진 안내는 다음 두 문장입니다.

  • 힘든 하루였나 봐요. 지금은 질문을 쉬어 갈게요.
  • 마음이 많이 힘들 때는 109(자살예방상담전화)에서 이야기할 수 있어요.

AI가 같은 판단을 내린 경우에도 같은 안내로 답합니다. 그 대화는 질문을 멈추고, 그 답은 일기에 덧붙이지 않으며 기억 정리에도 쓰지 않습니다. 기억 정리 요청에 같은 표현이 보이면 AI에 보내지 않고 기억을 바꾸지 않습니다. 일본어 일기 첨삭에는 이 확인이 없습니다. 이 판단은 서버에 남지 않습니다. 그 답과 안내는 다른 대화와 같이 기기에 저장되고, 로그인한 계정은 암호화한 사본을 서버 저장소에 보관합니다(2항, 4항).

이용 상한
첨삭은 하루 20문장, 되묻기 대화는 하루 5번이고 대화마다 내 답 5번과 다른 질문 1번까지입니다. 기억 정리는 하루 5번, 서버 받아쓰기는 하루 60번까지입니다. 하루는 한국 시간 0시에 바뀝니다. 상한은 서비스 운영 상황에 따라 바뀔 수 있습니다.

10. AI 모델 학습 사용 여부

하루니키는 이용자의 일기와 대화의 답, 음성으로 AI를 학습시키지 않습니다. Anthropic 상용 서비스 이용약관은 Anthropic이 고객 콘텐츠로 모델을 학습하지 않는다고 정하고 있으며, 하루니키는 이 약관에 따라 API를 사용합니다. 하루니키가 별도의 학습 허용에 동의한 사실은 없습니다.

OpenAI API 입력과 출력은 기본적으로 모델 학습에 사용되지 않습니다. 하루니키는 학습을 위한 데이터 공유를 허용하지 않는 설정으로 사용합니다.

11. 자동 수집 정보와 분석 도구

하루니키는 앱 이용 통계에 Google LLC의 Google Analytics for Firebase를 씁니다. 그 SDK가 iOS와 Android 앱에 들어 있습니다. 광고 성과를 재는 별도 측정 도구는 쓰지 않습니다. 그 밖에 앱에 포함된 외부 라이브러리는 RevenueCat 결제 SDK와 기기 안에서만 도는 음성 합성 엔진이고, Android 앱에는 Google 로그인, Play Integrity, Google Play 결제, Google Play 설치 리퍼러 라이브러리가 더 들어갑니다. 오류 수집 SDK와 광고를 보여 주는 SDK는 쓰지 않습니다. Android의 듣기는 기기에 설치된 음성으로 기기 안에서 합성합니다.

도구가 자동으로 모으는 정보
기기 측정 ID(Google Analytics의 앱 인스턴스 ID), iOS에서 같은 개발사의 앱 사이에서만 쓰이는 기기 식별자(IDFV), 첫 실행과 앱 열기, 사용 시간, 앱 업데이트, 화면 이름, 기기 모델, OS와 앱 버전, 언어와 시간대, iOS의 App Store 구매와 갱신(아래에 따로 적음), 접속 IP로 추정한 대략적인 지역입니다. Google Analytics는 지역을 정한 뒤 IP 주소를 남기지 않습니다. Android에서는 광고 ID와 설치 경로도 읽습니다(12항). iOS에서는 광고 식별자(IDFA)를 읽지 않으며 앱 추적 투명성 권한도 요청하지 않습니다. 위치 서비스는 쓰지 않습니다.
iOS 앱이 자동으로 기록하는 App Store 구매
iOS 앱에 들어 있는 Google Analytics for Firebase는 기기의 App Store 거래 기록을 읽어 구독의 구매와 갱신을 자동으로 Google Analytics에 보냅니다. 상품, 금액, 통화, 무료 체험인지, 기록된 시각이 담기고 기기 측정 ID와 로그인한 경우의 계정 ID가 함께 붙습니다. 도구가 스스로 남기는 기록이라 앱에서 이것만 따로 끌 수 없으며, 아래 거부 방법처럼 사용 통계를 끄면 이 기록도 멈춥니다. Android 앱은 Google Play 구매를 이렇게 자동으로 기록하지 않습니다.
하루니키가 보내는 이용 기록
가나 질문의 답과 첫 실행 질문을 마친 때, 일기 변환의 성공과 실패(한 줄 일기인지, 다시 만들었는지, 실패 코드), 이 설치의 첫 변환, 로그인(Apple 또는 Google), 구독 화면을 연 때와 연 사유, 학습 탭 진입, 알림 권유와 허용, 되묻기 대화의 시작과 답과 끝(구독 여부, 답한 방식과 몇 번째 답인지, 답 수, 끝난 방식, 구독 안내를 봤는지), 일기 이미지 공유, 학습과 복습 세션을 마친 때(카드나 문항 수, 알아요로 넘기거나 맞힌 수), 구독 기능을 쓴 때(일본어로 쓰기, 첨삭)입니다.
하루니키 서버가 보내는 구매 이벤트
구독의 무료 체험 시작, 구매와 갱신(금액, 통화, 거래 ID, 상품), 해지(사유), 환불을 결제가 확인된 뒤 하루니키 서버가 2항의 구매 측정용 식별자와 함께 Google Analytics에 보냅니다. 테스트 구매, 무료 체험 시작이 아닌 0원 결제, 사용 통계를 끈 경우의 구매는 보내지 않습니다. 이 설정은 구독 연결 ID마다 마지막으로 서버에 알려 온 기기의 값을 따르므로, 같은 계정의 기기끼리 설정이 다르면 마지막 기기의 설정이 적용됩니다.
계정 ID
로그인하면 하루니키 계정 ID를 Google Analytics에 이용자 ID로 함께 보내 여러 기기의 기록을 한 사람으로 셉니다. 로그아웃, 탈퇴, 데이터 삭제 때 이용자 ID를 끊고 이 기기의 측정 기록을 초기화합니다. 이름과 이메일은 보내지 않습니다.
보내지 않는 것
일기 원문과 변환 결과, 사진, 학습 내용, 첨삭과 대화의 글, 기억, 음성, 이름과 이메일은 어떤 이용 기록에도 넣지 않습니다.
Android 앱이 보내는 설치 경로
Android 앱은 처음 실행될 때 Google Play 설치 리퍼러로 어떤 링크를 거쳐 설치했는지 읽고, 설치 뒤 처음 서버와 통신할 때 한 번 하루니키 서버에 보냅니다. 광고 캠페인 이름과 이 웹사이트의 방문 ID와 스토어 버튼 클릭 ID만 남기고 나머지는 버립니다. 웹사이트의 스토어 버튼을 눌러 설치했다면 그 클릭과 이 설치가 이어져, 하루니키는 광고별로 설치와 첫 변환, 구독이 몇 건인지 셉니다. 아래 거부 방법처럼 사용 통계를 끄면 보내지 않습니다. iOS 앱은 이런 정보를 보내지 않으며, App Store 캠페인 링크의 결과는 Apple이 캠페인별로 합친 숫자로만 봅니다.
거부 방법
설정의 사용 통계 화면에서 사용 통계와 광고 측정 보내기를 끄면 이 기기에서 Google Analytics가 App Store 구매 자동 기록을 포함한 수집과 전송을 멈추고, 하루니키 서버도 구매 이벤트를 보내지 않습니다(위 구매 이벤트의 설명처럼 구독 연결 ID마다 마지막 기기의 설정을 따릅니다). 기본은 켜져 있고 기기마다 따로 정합니다. 꺼도 앱의 모든 기능을 그대로 쓸 수 있습니다.
보관
Google Analytics의 이벤트 단위 기록은 2개월 보관하도록 설정했습니다. 개인을 알아볼 수 없게 합친 통계 보고서는 그 뒤에도 남을 수 있습니다.

이 웹사이트의 방문 기록

harunikki.app은 광고나 다른 사이트를 보고 들어온 방문이 앱 설치로 이어졌는지 보려고 하루니키가 직접 만든 스크립트로 방문 기록을 남깁니다. 외부 분석 도구나 광고 픽셀은 쓰지 않습니다.

남기는 것
브라우저가 처음 방문할 때 만든 무작위 방문 ID, 탭 세션 ID, 연 페이지, 화면에 들어온 장면, 누른 스토어 버튼과 위치, 버튼을 누를 때마다 새로 만드는 클릭 ID, PC 화면의 QR을 휴대폰으로 비췄는지, 처음과 마지막 유입 경로(주소의 광고 캠페인 이름 utm_source, utm_medium, utm_campaign, utm_content, utm_term과 들어온 사이트의 호스트 이름), 광고 클릭 ID가 있었는지 여부, 기기 종류(iOS, Android, 그 밖), 인스타그램이나 카카오톡 같은 인앱 브라우저 종류, 언어, 화면 너비입니다. 방문 ID와 유입 경로는 브라우저의 저장소(localStorage)에 두고, 탭 세션 ID는 탭을 닫으면 사라지는 저장소(sessionStorage)에 둡니다. 쿠키는 쓰지 않습니다.
남기지 않는 것
IP 주소, 방문한 전체 주소, 광고 클릭 ID의 값, 이름과 이메일 같은 연락처입니다. 방문 ID는 앱 계정이나 이름과 잇지 않습니다. Android에서 스토어 버튼을 눌러 설치한 경우에만 그 클릭 ID가 위 Android 설치 경로와 이어집니다.
스토어로 넘기는 값
스토어 버튼은 Google Play 주소에 광고 캠페인 이름과 방문 ID, 클릭 ID를, App Store 주소에 Apple 캠페인 이름을 붙여 엽니다. Google과 Apple은 각자의 방침에 따라 이 값으로 스토어 방문과 설치를 집계합니다.
거부 방법
브라우저의 Global Privacy Control을 켜면 방문 ID를 저장하지 않고 방문 기록을 보내지 않으며, 스토어 버튼의 클릭 ID도 만들지 않습니다. 브라우저의 사이트 데이터를 지우면 방문 ID도 지워집니다. 스토어 링크에 붙는 광고 캠페인 이름은 개인을 알아보는 값이 아니라 그대로 넘깁니다.
보관
하루니키 서버에 받은 날부터 400일 보관하고 그 뒤에 지웁니다.

앱은 쿠키를 쓰지 않습니다.

12. 광고 관련 정보

앱에 광고가 없습니다. 하루니키는 광고 성과를 재는 별도 측정 도구를 쓰지 않고, 이용자를 골라 광고를 보내지 않으며, 광고 매체에 이용자나 기기를 알아볼 수 있는 정보를 제공하지 않습니다.

iOS
광고 식별자(IDFA)를 읽지 않고 앱 추적 투명성 권한도 요청하지 않습니다. 하루니키를 광고로 알릴 때 그 광고가 설치로 이어졌는지는 Apple이 설계한 SKAdNetwork로만 잽니다. Apple이 광고 매체에 캠페인별로 합친 결과만 알리고, 광고 매체는 이용자나 기기를 알아볼 수 있는 정보를 받지 않습니다.
Android
Google Analytics가 Google Play 서비스의 광고 ID와 Google Play의 설치 경로 정보를 읽어 어떤 경로로 설치했는지 통계로 보여 줍니다(11항). Android 앱은 같은 설치 경로 가운데 광고 캠페인 이름과 웹사이트 클릭 ID를 하루니키 서버에도 한 번 보내 광고별 설치와 구독 수를 셉니다(11항). 하루니키는 이 정보를 광고 매체에 보내지 않습니다.
거부 방법
설정의 사용 통계 화면에서 사용 통계와 광고 측정 보내기를 끄면 광고 ID와 설치 경로도 보내지 않습니다. 이 웹사이트의 방문 기록은 브라우저의 Global Privacy Control로 거부할 수 있습니다(11항). Android에서는 기기 설정의 광고 메뉴에서 광고 ID를 삭제할 수도 있습니다.

13. 이용자의 권리와 행사 방법

14. 데이터 삭제

설정의 동기화 화면에서 이 기기와 서버의 기록 삭제를 실행하면 아래가 지워집니다. 자세한 절차는 데이터 삭제 안내에 있습니다.

삭제 뒤에도 남는 것이 있습니다.

앱을 삭제하기만 하면 기기 안의 정보만 사라집니다. 서버의 정보를 지우려면 앱 안에서 삭제를 먼저 실행하세요.

탈퇴(계정 삭제)

로그인은 선택입니다(iOS는 Apple 계정 또는 Google 계정, Android는 Google 계정). 로그인하지 않은 설치는 기기 식별자로만 구분하며, 기기 안의 기록은 로그인 전에도, 로그아웃 뒤에도 지워지지 않습니다.

iOS에서는 설정의 계정 화면에서 탈퇴하기로 탈퇴할 수 있습니다. 계정에 Apple 로그인이 연결돼 있으면 서버가 보관한 갱신 토큰으로 이 앱에 대한 Apple 로그인 권한을 먼저 폐기합니다. 오래전에 로그인해 갱신 토큰이 없는 계정은 iPhone에서 Apple 계정을 한 번 더 확인할 수 있습니다. 서버는 계정 정보, 계정 연결, 계정 기준 변환 기록과 구독 기능 사용 기록, 계정의 동기화 사본과 감싼 데이터 키를 한 번에 지웁니다. 키가 사라지면 사본은 읽을 수 없고 저장소의 개체는 정리 작업이 지웁니다. 이어서 앱이 14항의 이 기기와 서버의 기록 삭제를 실행해 기기 안의 일기, 사진, 학습 기록과 이 기기의 서버 기록을 지웁니다. 탈퇴 뒤 같은 Apple 계정이나 Google 계정으로 다시 로그인하면 새 계정이 만들어집니다.

Android에서 탈퇴할 때도 계정에 Apple 로그인이 연결돼 있으면 서버가 보관한 갱신 토큰으로 이 앱에 대한 Apple 로그인 권한을 먼저 폐기합니다. 서버는 계정 정보, 계정 연결, 계정 기준 변환 기록과 구독 기능 사용 기록, 계정의 동기화 사본과 감싼 데이터 키를 지우고 RevenueCat에 계정 ID로 연결된 구독 고객 기록의 삭제를 요청합니다. 이어서 앱이 14항의 이 기기와 서버의 기록 삭제를 실행해 기기 안의 일기, 사진, 학습 기록과 이 기기의 서버 기록을 지웁니다. 다시 로그인하면 새 계정이 만들어집니다. Google Play 구독은 탈퇴해도 해지되지 않습니다. Google 계정 설정의 연결된 앱에서 하루니키의 접근 권한을 직접 해제할 수도 있습니다.

15. 개인정보 보호를 위한 조치

16. 개인정보 보호책임자와 문의

앱 안의 개선 및 문의 화면으로도 연락할 수 있습니다. 그 화면은 이메일을 받지 않으므로 답장이 필요한 요청은 이메일로 보내 주세요.

17. 권리침해 구제 방법

개인정보 침해에 대한 신고나 상담은 아래 기관에 할 수 있습니다.

18. 개인정보처리방침의 변경

방침이 바뀌면 시행일 7일 전에 이 페이지에 게시합니다. 이용자에게 불리한 변경은 30일 전에 게시합니다. 데이터 흐름이 바뀌는 앱 업데이트는 이 방침을 먼저 고친 뒤 배포합니다.

변경 이력