소개

CiaoSpeak(이하 “앱” 또는 “저희”)은 말하기와 어휘를 연습하는 언어 학습 앱입니다. 이 방침은 앱이 다루는 정보, 그 정보의 이용 방법, 그리고 사용자가 선택할 수 있는 사항을 설명합니다. 앱의 대부분은 전적으로 사용자의 기기 안에서만 작동합니다. 유일한 예외는 AI 말하기 연습(“말하기”(Speak) 탭, 또는 이전 버전 앱의 “채팅”(Chat) 탭)이며, 이에 대해서는 아래 “AI 말하기 연습(말하기·채팅)”에서 설명합니다.

수집하는 정보

CiaoSpeak은 계정을 만들 필요가 없으며, 기본적으로 사용자의 이름, 이메일 주소 또는 그 밖의 연락처 정보를 수집하지 않습니다. “말하기”의 어떤 질문도 이름을 묻지 않습니다. (선택 사항인 클라우드 백업을 켜면, 앱은 사용자가 선택한 Google 계정의 이메일 주소를 알게 됩니다. 아래 “클라우드 백업(선택 사항)”을 참고하십시오.)

앱은 다음 정보를 사용자의 기기에만 저장합니다.

  • 초기 설정에서 선택한 항목(학습할 언어, 학습 목표, 경험 수준, 하루 연습 목표)
  • 레슨 및 복습 진도(연속 학습, XP, 완료한 레슨, 배지, 간격 반복 방식의 오답 목록)
  • 앱 내 설정(효과음, 병음 표시, 느린 오디오 재생, 알림 설정)
  • “말하기” 진도와 연습 일정, “내 표현 노트”에 저장된 문장(“내 답변”과 “말하지 못한 것”), 그리고 음성과 입력 중 어느 방식으로 답하기를 원하는지에 대한 선택
  • “채팅” 탭이 있는 이전 버전의 앱에서는 채팅 기록(앱을 다시 시작해도 대화를 이어서 할 수 있도록 기기에 저장됨)

이렇게 기기에 저장된 데이터는 어디에도 전송되지 않습니다. 단, 한 가지 예외가 있습니다. “말하기”나 채팅을 사용하면, 사용자가 말하거나 입력한 내용의 일부가 백엔드 서비스로 전송됩니다(“말하기”에서는 앱이 기기에서 자체적으로 확인할 수 없는 답변에 한함). 구체적으로 무엇이 전송되는지는 아래 “AI 말하기 연습(말하기·채팅)”을 참고하십시오.

이와 별도로, 앱은 무작위 설치 식별자(사용자의 이름이나 어떤 개인 정보와도 연결되지 않음)를 생성합니다. 이 식별자는 하루 한 번 보내는 익명의 “오늘 사용함” 기록과 익명의 설정 기록에 사용되며(아래 “제3자 서비스” 참고), “말하기”나 채팅을 사용하는 경우에는 하루 이용 한도를 적용하는 데에도 사용됩니다(아래 “AI 말하기 연습(말하기·채팅)” 참고). 오류 보고·사용 분석은 설정 > 데이터에서 언제든지 끌 수 있으며, “말하기”와 채팅은 해당 탭을 사용하지 않는 것만으로 간단히 피할 수 있습니다.

AI 말하기 연습(말하기·채팅)

“말하기”는 모든 코스(영어 사용자를 위한 중국어, 중남미 스페인어, 브라질 포르투갈어, 그리고 중국어 번체, 일본어, 스페인어, 포르투갈어, 한국어 사용자를 위한 영어)의 말하기 연습이며, 현재 버전의 앱에서는 “채팅” 탭을 대신합니다. 등장인물이 질문하면 사용자는 말하거나 입력해서 답합니다. 많은 답변은 기기에서 확인되며, 이 경우에는 아무것도 전송되지 않습니다. 앱이 기기에서 자체적으로 답변을 확인할 수 없을 때는, CiaoSpeak이 Cloudflare Workers에서 운영하는 백엔드 서비스로 다음 정보를 전송합니다. 답변의 텍스트(직접 입력했거나 기기 자체의 음성 인식으로 변환된 것), 그 답변에 대해 음성 인식기가 제시한 다른 후보, 어떤 질문을 받았는지(후속 질문이었는지, 또는 사용자가 등장인물에게 되물은 것이었는지 포함), 직접 입력했는지 여부, 수강 중인 코스, 그리고 사용자의 무작위 설치 식별자입니다. 백엔드는 이 정보를 Anthropic의 Claude API로 전달하고, Claude API가 답변의 뜻이 전달되었는지를 판단하면 그 결과를 사용자의 기기로 돌려보냅니다.

“말이 안 나와요”를 탭하고 하고 싶은 말을 사용자의 언어(영어, 중국어 번체, 일본어, 스페인어, 포르투갈어 또는 한국어)로 입력하면, 그 텍스트도 같은 방식으로 전송됩니다. 이때 사용자를 위해 작성되는 문장이 사용자의 수준에 맞도록, 완료한 레슨 목록이 함께 전송됩니다.

“말하기”의 경우, 백엔드는 어떤 질문을 확인했는지, 판정 결과, 실수 유형을 기록하며, 답변의 텍스트는 기록하지 않습니다. 또한 하루 이용 한도를 적용하기 위해 설치별로 하루 사용 횟수를 보관합니다. 한도는 무료로는 하루에 답변 확인 15회와 “말이 안 나와요” 요청 3회이며, CiaoSpeak+에서는 각각 150회와 25회입니다(공정 사용 기준 적용).

등장인물의 목소리는 앱이 CiaoSpeak의 오디오 호스트에서 내려받는 미리 녹음된 오디오 클립입니다(아래 “텍스트 음성 변환 및 소리” 참고). AI가 그 자리에서 작성한 응답은 사용자 기기 자체의 텍스트 음성 변환 기능으로 읽어 줍니다.

이전 버전의 앱에서는 이 대신 “채팅” 탭이 정해진 대본이 아닌 실제 AI 선생님 역할을 합니다. 사용자가 메시지를 보내면(직접 입력, 추천 답장 탭, 또는 음성 입력. 아래 “마이크 및 음성 입력” 참고), 앱은 그 메시지, 최근 대화 기록(AI가 대화의 흐름을 일관되게 유지할 수 있도록 최근 메시지 최대 20개), 완료한 레슨, 그리고 사용자의 무작위 설치 식별자를 같은 백엔드로 전송하며, 백엔드는 선생님의 답장을 생성하기 위해 메시지를 Anthropic의 Claude API로 전달합니다. 품질 관리와 악용 모니터링을 위해, 채팅에서 주고받은 각 대화(사용자의 메시지와 AI의 답장. 이름이 아닌 설치 식별자와 연결됨)는 이 백엔드에 기록되며, 백엔드는 하나의 설치에서 하루에 보낼 수 있는 메시지 수를 제한합니다.

이러한 기록은 한도를 적용하고 버그, 잘못된 판정, 주제에서 벗어난 응답 또는 기능의 악용을 찾아내는 데에만 사용되며, 광고나 사용자 프로필 작성에는 절대 사용되지 않습니다. Anthropic이 자사 API로 전송된 데이터를 어떻게 처리하는지는 Anthropic의 개인정보처리방침을 참고하십시오. iPhone에서는 “말하기”나 채팅의 내용이 전송되기 전에 앱이 사용자의 허락을 구합니다.

“말하기” 진도와 “내 표현 노트”는 사용자의 기기에 남으며, 클라우드 백업을 켠 경우에만 백업에도 저장됩니다. 채팅 기록은 기기에만 남습니다. 연습 중에 말하거나 입력한 내용이 기기 밖으로 전혀 나가지 않기를 원한다면, “말하기”나 “채팅” 탭을 사용하지 않으면 됩니다. 앱의 다른 모든 부분(레슨, 진도, 설정)은 이 방침의 다른 부분에서 설명한 대로 전적으로 기기 안에서만 작동합니다.

마이크 및 음성 입력

“말하기”와 채팅에서는 입력하는 대신 말로 답할 수 있습니다. 음성 인식에는 휴대폰(Android 또는 iOS)에 내장된 음성 인식기를 사용하며, CiaoSpeak은 원본 오디오를 절대 녹음하거나 업로드하지 않습니다. 기기와 그 설정에 따라, 이 내장 음성 인식기는 음성을 기기에서 처리하거나 그 제공업체(예: Google 또는 Apple)의 서버에서 처리할 수 있으며, 이는 해당 제공업체 자체의 개인정보처리방침에 따릅니다. 앱이 받는 것은 변환된 텍스트와 음성 인식기가 제시한 다른 후보뿐이며, 이 정보는 위 “AI 말하기 연습(말하기·채팅)”에서 설명한 대로 전송될 때에만 기기 밖으로 나갑니다. 향후 업데이트로 마이크를 사용하는 다른 기능이 추가된다면, 먼저 이 방침을 업데이트할 것이며, 그때 앱은 무엇이든 녹음하기 전에 명확한 설명과 함께 마이크 권한을 요청합니다.

텍스트 음성 변환 및 소리

단어와 문장은 앱이 저희 오디오 서버(Cloudflare Pages에서 호스팅)에서 내려받아 기기의 캐시에 보관하는 오디오 녹음으로 읽어 줍니다. 스토리 표지 그림도 같은 방식으로 내려받습니다. 이러한 다운로드는 계정이나 개인 식별자를 포함하지 않는 일반적인 파일 요청입니다. 다만 다른 모든 웹 요청과 마찬가지로, Cloudflare는 파일을 전달하기 위해 IP 주소와 같은 표준적인 기술 요청 데이터를 처리합니다. 녹음을 사용할 수 없는 경우와 “말하기”에서 AI가 그 자리에서 작성한 응답의 경우, 앱은 기기 또는 브라우저에 내장된 텍스트 음성 변환 엔진을 사용하며, 이 엔진은 CiaoSpeak 서버가 아니라 사용자의 기기에서 또는 운영 체제를 통해 실행됩니다. 효과음(탭, 정답, 오답)은 앱에 포함된 짧은 오디오 클립이며 기기에서 재생됩니다.

CiaoSpeak+ 구독

CiaoSpeak+는 선택 사항인 유료 구독으로, “말하기”의 하루 AI 답변 확인 한도를 높이고, 모든 “말하기” 상황과 “내 표현 노트” 전체를 이용할 수 있게 하며, 스토리 라이브러리 전체와 무제한 빠른 연습 보너스 라운드를 이용할 수 있게 합니다(이전 버전의 앱에서는 채팅 메시지의 하루 한도도 높여 줍니다). 구독하는 경우, 결제 자체는 Android에서는 Google Play Billing이, iPhone에서는 Apple의 App Store가 전적으로 처리하며, CiaoSpeak은 결제 카드나 청구 정보를 절대 보지 않습니다.

어떤 기능을 이용할 수 있게 할지 판단하고 새 기기에서도 구매를 복원할 수 있도록, 앱은 구독 관리 서비스인 RevenueCat을 사용합니다. RevenueCat이 이용 자격을 확인할 수 있도록, 사용자의 무작위 설치 식별자와 구독 상태(활성, 만료, 어떤 요금제인지)가 RevenueCat과 공유됩니다. 이는 구독을 운영하고 부정 이용을 방지하는 데에만 사용되며(예: 변조된 앱이 결제하지 않은 이용 자격을 주장하는 것을 차단), 광고에는 절대 사용되지 않습니다.

클라우드 백업(선택 사항)

설정 > 백업(현재 Android에서만 이용 가능)에서는 Google 계정으로 로그인해 학습 진도의 사본을 클라우드에 보관할 수 있습니다. 그러면 휴대폰을 잃어버리거나, 새 기기로 바꾸거나, 앱을 다시 설치해도 진도가 유지됩니다. 이 기능은 전적으로 선택 사항입니다. 이 기능 없이도 앱의 모든 기능은 똑같이 작동하며, 어디에서도 로그인을 요구하지 않습니다.

이 기능을 켜면 두 가지 정보가 기기 밖으로 나갑니다. 사용자가 선택한 Google 계정의 이메일 주소(어떤 백업이 사용자의 것인지 식별하는 데에만 사용)와 학습 진도의 스냅샷(연속 학습, XP, 완료한 레슨과 스토리, 복습 목록, “말하기” 진도와 “내 표현 노트”, 설정)입니다. 채팅 기록은 의도적으로 백업에 포함하지 않습니다. 스냅샷은 Supabase(아래 “제3자 서비스” 참고)에 저장되며, 로그인한 사용자 본인의 계정만 읽고 쓸 수 있도록 보호됩니다.

관리는 사용자가 직접 할 수 있습니다. 설정의 “백업 삭제”는 클라우드 사본을 즉시 삭제합니다. “로그아웃”은 기기에 있는 모든 데이터를 그대로 둔 채 백업을 중단합니다. 그리고 “진도 초기화”도 클라우드 사본을 삭제하므로, 의도적으로 지운 데이터가 다시 로그인한다고 해서 되살아나지 않습니다.

정보의 이용 방법

위 “수집하는 정보”에 나온 모든 정보는 기기에서 앱 자체의 기능을 실행하는 데에만 사용됩니다. 즉, 연속 학습과 XP 기록, 오답 복습 일정 관리, 설정 기억, 그리고 이전에 하던 곳부터 이어서 하기입니다.

이와 별도로, 앱은 다음 정보도 수집합니다. 오류·진단 데이터(기기 모델, OS 버전, 앱 버전, 기술적인 오류 세부 정보. 버그를 찾고 고치는 데에만 사용), 익명 사용 분석(세션 수와 어떤 탭·기능을 사용하는지. 익명의 무작위 식별자에만 연결되며 사용자의 신원과는 절대 연결되지 않음), 그리고 레슨·연습 문제 완료 데이터(어떤 레슨과 연습 문제를 완료했거나 끝내지 않았는지. 커리큘럼에서 헷갈리거나 부족한 부분을 찾는 데 사용)입니다. 이 정보는 버그 수정과 앱 개선 같은 내부 제품 결정에만 사용되며, 광고, 행동 기반 타기팅 또는 사용자 프로필 작성에는 절대 사용되지 않습니다. 또한 아래에 명시한 서비스들 외의 제3자에게 판매하거나 공유하지 않습니다. 이 모든 수집은 설정 > 데이터의 “오류 보고서·사용 데이터 보내기” 스위치로 언제든지 끌 수 있습니다.

데이터 저장, 보관 및 삭제

사용자의 데이터는 기기에 있는 앱의 로컬 저장소에 보관됩니다. 데이터는 설정에서 “진도 초기화”를 사용하거나(연속 학습, XP, 배지, 완료한 레슨, 복습 목록, “말하기” 진도와 “내 표현 노트”, 저장된 채팅 기록을 지우고 초기 설정을 다시 시작함), 앱을 삭제할 때까지(모든 데이터가 삭제됨) 그곳에 남아 있습니다. 선택 사항인 클라우드 백업을 켜지 않았다면 저희는 다른 어떤 곳에도 사본을 보관하지 않으며, 켰다면 “진도 초기화”와 “백업 삭제” 모두 클라우드 사본도 함께 삭제합니다(위 “클라우드 백업(선택 사항)” 참고). “말하기”와 채팅을 지원하는 백엔드는 위 “AI 말하기 연습(말하기·채팅)”에서 설명한 기록과 하루 사용 횟수만 보관합니다.

제3자 서비스

CiaoSpeak은 오류 보고와, 위 “정보의 이용 방법”에서 설명한 익명 사용·완료 분석에 Sentry를 사용합니다. 광고 식별자, 정밀한 위치 데이터, 행동 기반 타기팅 데이터는 수집하지 않습니다. 이 연동은 오직 버그를 찾고 앱 자체 기능이 어떻게 사용되는지 파악하기 위한 것이며, 광고 프로필을 만들기 위한 것이 아닙니다. Sentry는 설치마다 자체적인 무작위 식별자를 사용하며, 사용자의 이름, 이메일 또는 그 밖의 어떤 개인 식별자도 사용하지 않습니다. 클라우드 백업을 위해 로그인해도 Sentry가 받는 정보는 달라지지 않습니다.

“말하기”와 채팅을 위해, CiaoSpeak은 백엔드 서비스 운영에 Cloudflare Workers를, 답변 확인, “말이 안 나와요” 문장 작성, (채팅에서) AI 선생님의 답장 생성에 Anthropic의 Claude API를 사용합니다. 이들에게 정확히 무엇이 전송되는지는 위 “AI 말하기 연습(말하기·채팅)”을 참고하십시오. 둘 다 사용자의 이메일이나 그 밖의 연락처 정보를 받지 않으며, 받는 것은 그곳에 나열된 연습 내용(답변과 그 답변에 해당하는 질문, “말이 안 나와요” 텍스트, 채팅 메시지와 기록), 완료한 레슨 목록, 그리고 무작위 설치 식별자뿐입니다.

기기에 내장된 음성 인식은 CiaoSpeak이 아니라 휴대폰의 플랫폼(예: Android의 Google, iPhone의 Apple)이 제공합니다. 위 “마이크 및 음성 입력”을 참고하십시오.

CiaoSpeak+를 구독하면 CiaoSpeak은 구독 관리에 RevenueCat을 사용합니다. RevenueCat에 정확히 무엇이 전송되는지는 위 “CiaoSpeak+ 구독”을 참고하십시오. 실제 결제는 Google Play Billing(Android) 또는 Apple의 App Store(iPhone)가 처리하며, CiaoSpeak과 RevenueCat 모두 결제 카드나 청구 정보를 절대 받지 않습니다.

CiaoSpeak은 두 가지 용도로 Supabase도 사용합니다. 첫째, 오류 보고·사용 분석 스위치가 켜져 있으면, 앱은 Supabase에 하루에 한 번 익명의 “이 설치가 오늘 사용됨” 기록(무작위 설치 식별자, 날짜, 앱 버전, Android인지 iPhone인지, 수강 중인 코스만 포함하며 그 외에는 없음)을 보냅니다. 이와 함께 “말하기” 세션이 시작되거나 끝날 때 기록 한 건(코스, 받은 질문과 답한 질문의 수, 그날의 질문 세트였는지 여부, 날짜, 앱 버전. 사용자가 한 말은 절대 포함하지 않음), CiaoSpeak+ 페이지가 열리거나 구독이 시작될 때 기록 한 건(앱의 어느 부분에서 열렸는지, 코스, 요금제, 날짜, Android인지 iPhone인지, 앱 버전), 그리고 앱을 설정하는 동안 코스 화면이 나타날 때, 코스를 고를 때, 설정을 마칠 때 각각 기록 한 건을 보냅니다. 설정 기록에는 표시되거나 선택된 코스, 그것이 앱이 추천한 코스였는지 여부와 추천한 이유(초기화 전에 수강하던 코스, 앱을 설치할 때 사용한 Google Play 링크, 휴대폰의 언어, 또는 없음), “en”이나 “ko” 같은 휴대폰의 두 글자 언어 코드, 설정을 마칠 때 고른 알림 시간대(예: 아침 커피 마실 때, 또는 없음), Android인지 iPhone인지, 날짜와 앱 버전이 포함됩니다. 이러한 기록은 사람들이 시간이 지나도 앱과 앱의 말하기 연습을 계속 사용하는지, 어떤 코스를 수강하는지, 앱이 첫 화면에서 추천하는 코스가 알맞은지, 그리고 CiaoSpeak+를 어떻게 알게 되는지를 측정하는 데에만 사용됩니다. Sentry를 제어하는 것과 같은 설정 > 데이터 스위치를 끄면 이 기록도 전송되지 않습니다. 둘째, 선택 사항인 클라우드 백업을 켜면, Supabase는 백업 스냅샷을 저장하고 Google 로그인을 처리합니다(사용자가 선택한 계정은 Google의 로그인 서비스가 확인함). 이때 Supabase는 Google 계정의 이메일 주소와 진도 스냅샷을 받습니다. 이 방침에서 설명한 그 밖의 어떤 정보도 Supabase로 전송되지 않습니다.

글꼴 및 포함된 데이터

CiaoSpeak은 앱이 완전히 오프라인으로 작동하도록, 오픈 라이선스로 제공되는 제3자 리소스 두 가지를 내려받는 대신 앱에 직접 포함하고 있습니다.

  • Noto Sans TC 서체(Copyright 2014-2021 Adobe, with Reserved Font Name "Source"). SIL Open Font License, Version 1.1에 따라 사용이 허가되어 있습니다.
  • 오픈 프로젝트인 “Make Me a Hanzi”에서 필요한 부분만 추린 한자 획순 데이터. Arphic Public License에 따라 사용이 허가되어 있습니다.

두 라이선스 모두 이러한 사용과 재배포를 허용하며, 어느 것도 앱 사용자에게 어떠한 의무도 부과하지 않습니다.

아동의 개인정보

CiaoSpeak은 13세 미만 아동을 대상으로 하지 않으며, 저희는 아동의 개인정보를 고의로 수집하지 않습니다. 앱이 보유할 수 있는 유일한 개인정보는 선택 사항인 클라우드 백업을 위해 자발적으로 로그인한 Google 계정의 이메일 주소이며, 그 밖의 모든 기능은 어떤 사용자로부터도 개인정보를 수집하지 않고 작동합니다.

이 웹사이트

ciaospeak.app 자체는 Cloudflare Pages에서 호스팅되는 정적 사이트입니다. 이 사이트에서 사용자 데이터와 관련된 항목은 두 가지이고, 세 번째 항목은 앱과 관련이 있습니다.

  • 이메일 소식. “Stay updated” 양식에 이메일 주소를 입력하면, 그 주소는 저희 이메일 서비스 제공업체인 Kit(kit.com)가 수집해 보관하며, CiaoSpeak 제품 소식을 보내는 데에만 사용됩니다. 모든 이메일에는 수신 거부 링크가 있으며, 수신을 거부하면 목록에서 삭제됩니다.
  • 방문 분석. 이 사이트는 쿠키를 사용하지 않는 Cloudflare Web Analytics를 사용합니다. 이 서비스는 쿠키를 설정하지 않고, 핑거프린팅을 하지 않으며, 다른 사이트에 걸쳐 사용자를 추적하지 않습니다. 저희가 보는 것은 개별 방문자가 아니라 페이지 조회 수의 합계입니다.
  • 코스 링크. 이 사이트의 코스 페이지에 있는 Google Play 링크에는 해당 페이지의 코스 이름이 들어 있습니다(예: “course=en-ko”). Android에서는 앱이 처음 열릴 때 한 번 Google Play에서 이 링크 정보를 읽고, 그중 코스 이름만 사용해 첫 화면에서 해당 코스를 미리 선택합니다(위의 설정 기록에는 이런 방식으로 코스가 추천되었는지가 기록됩니다). 그 밖의 정보는 보관하거나 전송하지 않습니다.

다른 모든 웹사이트와 마찬가지로, 호스팅 인프라(Cloudflare)는 페이지를 제공하고 악용을 막기 위해 표준적인 기술 요청 데이터(예: IP 주소)를 처리합니다. 자세한 내용은 Cloudflare의 개인정보처리방침을 참고하십시오.

이 방침의 변경

이 방침이 변경되면, 위에 표시된 “최종 수정일” 날짜, 앱의 설정 > 개인정보처리방침 화면에 있는 방침, 그리고 이 페이지를 업데이트합니다.

문의

이 방침에 관한 문의는 [email protected]으로 보내 주시기 바랍니다.