개인정보처리방침

마지막 업데이트: 2026년 10월

운영자와 적용 범위

호스팅 Nibomo 서비스는 SAMO DANNI EOOD(회사 ID 207395566, VAT BG207395566, 등록 주소 bulv. Maritza 154, entrance D, floor 6 #14, 4018, Plovdiv, Bulgaria)가 운영합니다. Nibomo는 Kirill Markin이 만들었습니다.

본 방침은 저희가 운영하는 호스팅 웹사이트, 앱, API, MCP 서비스에 적용됩니다. 셀프 호스팅 인스턴스는 해당 운영자가 관리하며, 그 개인정보 처리 관행에 대한 책임도 그 운영자에게 있습니다.

연령

호스팅 서비스는 만 13세 이상을 대상으로 합니다. 거주지 법률이 온라인 서비스 이용이나 데이터 처리 동의에 더 높은 최소 연령을 정하고 있다면 그 연령이 적용됩니다. 만 18세 미만이라면 부모 또는 법정대리인의 허락을 받아야 합니다.

처리하는 데이터

호스팅 서비스를 이용하는 방식에 따라 저희는 다음 데이터를 처리합니다.

  • 이메일 주소, 내부 사용자 식별자, 로그인 기록, 인증 토큰을 포함한 계정 및 인증 데이터
  • 카드, 덱, 설정, 작업 공간 구성원 자격, 복습 기록, 동기화 메타데이터를 포함한 학습 및 작업 공간 데이터
  • 이미지와 임시 업로드 데이터를 포함해 이용자가 업로드하거나 만든 파일과 미디어
  • 프롬프트, 채팅 기록, 카드 또는 작업 공간 컨텍스트, 요청에 포함된 파일과 이미지, 받아쓰기 음성, 음성 변환 텍스트, 모델 응답, 도구 활동을 포함한 선택적 AI 데이터
  • 메시지, 제공한 경우 연락처 이메일, 앱 버전, 플랫폼, 로케일, 관련 상태 정보를 포함한 지원 및 피드백 데이터
  • 요청 식별자, 타임스탬프, IP 주소, 사용자 에이전트, 경로, 응답 상태, 앱 버전, 기기 또는 플랫폼 세부 정보, 정제된 오류 진단 정보를 포함한 운영 및 보안 데이터
  • 아래 '분석과 쿠키' 및 '제품 분석' 섹션에 설명된 웹사이트 및 앱 내 제품 사용 데이터

호스팅 계정을 만들고 로그인하려면 이메일 주소가 필요합니다. 이메일 주소가 없으면 이메일 인증이나 계정 기반 동기화를 제공할 수 없습니다. 로그인하지 않아도 일부 게스트 기능이나 로컬 기능은 제한적으로 이용할 수 있습니다.

처리 목적과 법적 근거

저희는 호스팅 서비스를 제공하고 이용자와의 계약을 이행하는 데 필요한 범위에서 계정, 작업 공간, 복습, 파일 데이터와 이용자가 요청한 AI 데이터를 처리합니다. 지원 요청은 이용자에게 답하고 요청한 도움을 제공하기 위해 처리합니다.

저희는 이용 현황 파악, 악용 방지, 서비스 보안 유지, 장애 해결이라는 정당한 이익을 위해 제한된 분석, 보안, 진단, 서비스 개선 데이터를 처리합니다. 저희는 이러한 이익과 이용자의 권리를 비교 형량하며, 실행 가능한 범위에서 진단 데이터를 최소화하거나 마스킹합니다. 또한 법적 의무를 준수하거나 법적 청구를 제기, 행사 또는 방어하는 데 필요한 경우 데이터를 처리할 수 있습니다. 적용되는 법률이 특정 활동에 동의를 요구하는 경우 저희는 동의에 근거하며, 이용자는 언제든지 동의를 철회할 수 있습니다.

저희는 이용자의 개인정보를 판매하거나 맞춤형 광고에 사용하지 않습니다.

Apple 구매와 구독

App Store 구매 결제는 Apple이 처리하며, 저희는 Apple 결제를 통해 이용자의 결제 카드 정보나 은행 계좌 정보를 받지 않습니다. 저희는 거래 식별자와 상품 식별자, 구매를 이용자 계정과 연결하는 앱 계정 토큰, 구독 및 체험 상태, 갱신 및 환불 정보, 관련 날짜를 포함한 구매 기록을 받아 저장합니다.

저희는 이 기록을 구매 확인, 유료 이용 권한 제공 및 복원, 지원 처리, 거래 대사, 회계 기록 유지, 제품 이용 분석에 사용합니다. 서버 측 결제 기록은 앱에서 제품 분석을 꺼도 유지됩니다.

분석과 쿠키

마케팅 웹사이트는 페이지 조회와 일부 사이트 클릭 이벤트를 측정하기 위해 Vercel Web Analytics를 사용합니다. 이 서비스는 분석 쿠키 없이 작동하지만, 웹사이트는 아래에 설명하는 자체 쿠키 하나를 설정합니다. 페이지 조회의 경우 Vercel은 이벤트 시각, 페이지 URL과 필터링된 쿼리 매개변수, 리퍼러, 대략적인 위치, 브라우저, 운영체제, 기기 유형을 받을 수 있습니다. 저희의 사용자 지정 클릭 이벤트에는 로케일, 플랫폼, 링크 위치, 상호작용 유형 같은 제한된 속성이 포함됩니다. 저희는 이 이벤트에 이름, 이메일 주소, 카드 내용, 계정 식별자를 의도적으로 포함하지 않습니다. Vercel은 데이터를 집계하며 개별 데이터를 특정 개인이나 IP 주소와 연결하지 않습니다. Vercel의 일일 방문자 해시는 24시간 후 폐기됩니다. 브라우저가 Global Privacy Control 신호를 보내면 웹사이트는 Vercel Web Analytics에 아무것도 보내지 않습니다.

이와 별도로 웹사이트는 저희 자체 제품 분석 수집기로 다음 이벤트를 보냅니다. 여는 페이지마다 보내는 페이지 조회 이벤트, 웹 앱이나 앱 스토어로 가는 링크 또는 카탈로그 덱 설치 링크를 따라갈 때의 클릭 이벤트, 공개 덱 카탈로그에서 무엇을 검색하고 필터링하고 정렬하고 어느 페이지로 넘기고 무엇을 여는지, 사이트 밖으로 나가는 링크 클릭, 에이전트 엔드포인트 복사, 언어 추천 배너 표시와 그에 대한 응답, 그리고 아래에 설명하는 쿠키 결정과 수집 스위치입니다. 이벤트에 따라 페이지 유형, 카탈로그 덱 페이지와 설치 링크의 공개 패키지 버전 식별자, 링크 위치, 웹 앱으로 가는 클릭이 로그인, 가입, 앱 열기 중 무엇을 위한 것이었는지, 쿠키 응답이 배너와 화면 구석의 분석 컨트롤 중 어디에서 이루어졌는지, 추천 배너가 제안한 언어, 페이지 인터페이스 언어, 브라우저 기기 언어, 유입 경로 분류, 기기 분류, 그리고 브라우저에 있는 경우 아래에 설명하는 analytics_visitor 식별자가 담깁니다. 페이지 조회 이벤트에는 이용자가 거쳐 온 사이트의 호스트도 담깁니다. 이 값은 알려진 검색 사이트와 소셜 사이트 목록에 따라 보고되며, 그 밖의 사이트는 other로 보고됩니다. 또한 도착한 주소의 utm_source, utm_medium, utm_campaign 매개변수도 담깁니다. 카탈로그 검색, 필터, 정렬, 페이지 변경 이벤트에는 표시된 결과 수와 이용자가 선택한 내용이 담깁니다. 즉 필터 동작(추가, 선택, 제거, 초기화)과 그 분류 및 동작 후 선택된 필터 수, 정렬 순서, 또는 전체 페이지 수와 함께 페이지 번호입니다. 카탈로그에서 덱을 열면 덱의 공개 식별자와 페이지의 어느 위치에서 열었는지가 담기며, 결과 수는 담기지 않습니다. 카탈로그 검색에는 입력한 내용의 길이도 담기며, 정규화된 텍스트가 64자 이하이고 문자, 문자와 결합하는 부호, 숫자, 공백, 하이픈만으로 이루어진 경우에만 그 텍스트 자체도 담깁니다. 그 밖의 검색어는 길이만 보고되며, 조건에 맞추려고 잘라 내는 일은 없습니다. 저희 서버는 각 이벤트가 도착한 주소에서 두 글자 국가 코드를 도출해 이벤트와 함께 저장합니다. 주소 자체는 저장하지 않으며, 아래에 설명하는 식별자가 전혀 없는 이벤트에 대해서는 국가를 도출하지 않습니다. 브라우저가 Global Privacy Control 신호를 보내면 웹사이트는 방문자 식별자를 요청하지 않고 동의 배너도 표시하지 않습니다. 다만 위의 이벤트는 그 식별자 없이 계속 저희 수집기로 전송되며, 식별자가 전혀 없는 이벤트를 제외한 모든 이벤트에는 아래에 설명하는 일일 식별자가 부여됩니다. 저희는 Do Not Track 설정을 읽지 않습니다.

호스팅 웹 앱은 인증 완료, 세션 유지, 접근 권한 갱신, 로그인 상태 표시를 위해 otp_session, session, refresh, logged_in 같은 필수 쿠키를 사용합니다. 이 쿠키를 비활성화하면 브라우저 로그인 흐름이 작동하지 않습니다.

마케팅 웹사이트와 호스팅 웹 앱은 자사 분석 쿠키 analytics_visitor 하나를 함께 사용합니다. 이 쿠키에는 무작위 방문자 식별자가 담기며, 브라우저에서 저희 스크립트가 읽을 수 있고, 13개월 후 만료됩니다. 저희는 이 쿠키로 여러 번의 방문에서 같은 브라우저를 알아보며, 그 덕분에 이벤트가 매번 새 방문자가 아닌 재방문자로 표시됩니다. 이 쿠키는 필수 쿠키가 아닙니다. 이 결정은 브라우저가 그 식별자를 지니는지 여부에만 해당하며, 웹사이트가 무언가를 수집할지 여부는 아래에 설명하는 별도의 스위치로 정해집니다. EU/EEA와 영국을 포함해 동의가 필요한 곳에서는 이용자가 동의한 뒤에만 이 쿠키를 설정합니다. 웹사이트는 배너로 동의 여부를 묻고, 응답하기 전까지는 식별자를 요청하지 않으며 보내는 어떤 데이터에도 식별자를 붙이지 않습니다. 다만 위에 설명한 이벤트는 식별자 없이 계속 전송되며, 식별자가 전혀 없는 이벤트를 제외한 모든 이벤트에는 다음 단락에서 설명하는 일일 식별자가 부여됩니다. 동의가 필요하지 않은 곳에서는 묻지 않고 이 쿠키를 설정합니다. 어느 경우든 웹사이트 모든 페이지 구석에 있는 분석 컨트롤이나 웹 앱 설정에서 언제든지 끌 수 있으며, 그러면 저희는 브라우저에서 쿠키를 지우고 더 이상 사용하지 않습니다. 이용자의 응답은 다시 묻지 않도록 브라우저에 저장됩니다. 브라우저가 Global Privacy Control 신호를 보내면 저희는 그 쿠키와 함께 쿠키를 허용했던 응답도 지웁니다. 따라서 나중에 신호를 끄면 그 브라우저는 새 브라우저로 취급되어, 동의가 필요한 곳에서는 배너로 다시 묻고, 동의가 필요하지 않은 곳에서는 묻지 않고 쿠키를 설정합니다. 쿠키를 거부한 응답은 유지되며 계속 적용됩니다. 저희는 이 쿠키 결정도 이벤트로 기록합니다. 즉 배너가 표시되었다는 사실과, 배너에서든 같은 선택을 담고 있는 구석의 분석 컨트롤에서든 이용자가 응답한 내용입니다. 기록된 응답에는 두 곳 중 어디에서 응답했는지가 담깁니다. 배너 표시 이벤트와 거부 응답 이벤트에는 식별자가 전혀 없으며, 동의 응답 이벤트에는 방금 허용한 식별자가 담깁니다. 이벤트 자체는 본 방침에서 설명한 목적에 필요한 동안 보관됩니다.

쿠키를 거부했거나, 아직 응답하지 않았거나, 쿠키를 끈 경우처럼 analytics_visitor 식별자 없이 이벤트가 저희 수집기에 도착하면, 저희 서버는 요청의 IP 주소와 브라우저 사용자 에이전트를, UTC 기준으로 매일 바뀌고 그날이 끝나면 삭제되는 무작위 값과 결합해 임시 식별자를 도출합니다. IP 주소 자체는 분석 데이터에 저장되지 않습니다. 이 식별자는 같은 브라우저와 IP 주소에서 온 그날의 이벤트만 서로 연결합니다. 이 식별자는 브라우저에 저장되지 않고, analytics_visitor 식별자나 계정과 연결되지 않으며, 동의 응답 기록에 붙지 않고, 그날의 무작위 값이 삭제되면 다시 계산할 수 없습니다. 저희는 '처리 목적과 법적 근거' 섹션에 설명된 정당한 이익에 근거하여, 방문자가 웹사이트를 어떻게 이용하는지 이해하기 위해 이 식별자를 사용합니다. Global Privacy Control 신호를 보내는 브라우저는 analytics_visitor 식별자를 지니지 않으므로, 그 브라우저의 이벤트에는 이 쿠키가 없는 다른 브라우저와 마찬가지로 이 일일 식별자가 부여됩니다. 식별자가 전혀 없는 이벤트, 즉 동의 배너 표시, 거부 응답, 이 웹사이트의 수집을 끄거나 다시 켜는 이벤트에는 이 일일 식별자도 국가도 부여되지 않습니다. 이 이벤트에는 analytics_visitor 식별자, 일일 식별자, 국가가 없으며, 무슨 일이 일어났는지와, 쿠키 응답의 경우 어디에서 응답했는지만 담깁니다.

웹사이트 모든 페이지 구석에 있는 분석 컨트롤에는 이 웹사이트의 수집을 끄는 스위치와, 그 옆에 위에서 설명한 분석 쿠키 동의가 있습니다. 배너에 응답한 뒤에는 수집이 켜져 있는 동안 이 컨트롤에서 쿠키 선택도 할 수 있으며, 수집을 다시 켜면 그 선택이 다시 제공됩니다. 브라우저가 Global Privacy Control 신호를 보내면 컨트롤에는 그 스위치만 있습니다. 저희는 그 브라우저에 분석 쿠키를 전혀 주지 않으므로 제공할 쿠키 선택도 없습니다. 스위치를 끄면 꺼졌다는 사실만 기록하는 마지막 이벤트 하나가 전송되고, 다시 켜면 그에 대응하는 이벤트가 전송됩니다. 두 이벤트 모두 식별자, 일일 식별자, 국가가 없습니다. 수집이 꺼져 있는 동안 웹사이트는 방문에 관한 다른 어떤 이벤트도 저희 수집기나 Vercel Web Analytics로 보내지 않으며, 방문자 식별자도 요청하지 않습니다. 저희 수집기에 아무것도 도착하지 않으므로 일일 식별자도 도출되지 않습니다. 이 스위치는 '처리 목적과 법적 근거' 섹션에 설명된 정당한 이익에 근거하여, 이용자가 끄지 않는 한 켜져 있습니다. 이 웹사이트에는 계정이 없으므로 응답은 해당 브라우저에 저장되며 그 브라우저에서만 적용됩니다. 호스팅 웹 앱에는 자체 설정이 있고, iOS와 Android 앱에는 이 설정을 도입하는 앱 버전부터 설정이 있으며, 둘 다 '제품 분석' 섹션에 설명되어 있습니다.

제품 분석

호스팅 웹, iOS, Android 앱은 제품 사용 이벤트를 저희에게 보냅니다. 이 이벤트는 저희 자체 인프라로 전송되어 저희 데이터베이스에 저장되며, 이를 위해 제3자 분석 제공업체를 사용하지 않습니다.

이벤트는 화면, 복습 세션 시간과 횟수, 작업의 성공 또는 실패 여부를 나타냅니다. 이벤트에는 설치 식별자와 세션 식별자가 포함될 수 있고, 해당하는 경우 작업 공간 식별자와 계정 식별자도 포함될 수 있습니다. 이러한 앱 이벤트에는 자유 텍스트, 카드나 덱의 내용, 이메일 주소가 포함되지 않습니다.

클라이언트 버전이 지원하는 경우, 인터페이스 언어는 오프라인 대기열에 들어가기 전, 각 이벤트가 발생하는 시점에 기록됩니다. 기기 언어는 이와 별개이며 인터페이스 언어와 다를 수 있습니다. 설치 프로필에는 클라이언트가 제공하는 경우 플랫폼, 앱 및 운영체제 버전, 기기 언어, 시간대를 포함한 현재 기술 정보가 담깁니다. 호환성을 위해 일부 기술 정보는 개별 이벤트에도 남습니다. 오래된 클라이언트나 이벤트에는 인터페이스 언어가 없을 수 있으며, 저희는 누락된 값을 기기 언어나 시간대로 추정하지 않습니다.

사용자층 분석을 위해 저희는 대상이 되는 앱의 직접 요청에 대해 API 게이트웨이가 받은 IP 주소로 접속 국가를 추정하며, 이는 설치당 UTC 기준 하루 최대 한 번, 접속할 때 이루어집니다. 주소는 저희 AWS 인프라 안에 있는 MaxMind GeoLite Country 데이터베이스에서 조회합니다. 주소는 요청 메모리 안에서 처리되며, 제품 분석에 저장되지 않고 MaxMind로 전송되지도 않습니다. 저희가 구성한 API Gateway 액세스 로그에는 원시 IP 주소가 남지 않지만, 네트워크 인프라는 요청을 처리하기 위해 여전히 IP 주소를 처리합니다. 국가는 대략적인 값이며, 알 수 없거나 VPN의 영향을 받을 수 있고, 거주지, 국적, 정확한 위치를 나타내지 않습니다. 서버 릴레이, AI 클라이언트, 웹사이트 이벤트 요청은 설치 국가를 제공하지 않습니다. 이와 별도로, 계정 자격 증명 없이 저희 수집기에 도착하는 이벤트(위에서 설명한 웹사이트 이벤트, 호스팅 웹 앱의 로그아웃 상태 이벤트, 로그인 서비스의 이벤트)에는 저희 서버가 수신 시점에 요청이 도착한 주소에서 도출한 두 글자 국가 코드가 담깁니다. 이 주소는 이용자의 주소가 아니라 릴레이의 주소일 수 있습니다. 저희는 그 코드를 이벤트와 함께 저장하고, 주소는 저장하지 않으며, 식별자가 전혀 없는 이벤트에 대해서는 국가를 도출하지 않습니다. 업로드 시점의 국가를 그 이전의 오프라인 이벤트에 적용하지는 않습니다.

국가 기록은 드문드문한 관측으로 이루어지며, 표본으로 확인한 국가가 바뀌지 않으면 기존 기간을 연장하고 바뀌면 새 기간을 시작합니다. 기간의 시작과 끝은 관측 사이의 매일 활동이나 지속적인 체류를 증명하지 않습니다. 피드백은 이와 별도로, 오프라인 초안이 작성된 시점이 아니라 제출이 처음 접수된 시점의 접속 국가를 기록합니다.

이 제품에는 MaxMind가 만든 GeoLite 데이터가 포함되어 있으며, MaxMind에서 받을 수 있습니다.

분석 쿠키와 제품 분석은 서로 별개의 결정이며, 어느 한쪽이 다른 쪽에서 파생되지 않습니다. 위에서 설명한 분석 쿠키를 거부하거나 나중에 철회하면 공유 방문자 식별자만 중단됩니다. 이벤트 자체는 계속 수집되며, 로그인한 동안에는 계정과 연결된 상태로 남습니다.

제품 분석에는 이 수집을 끄는 자체 설정이 있습니다. 설정이 꺼져 있는 동안 앱은 제품 사용 이벤트를 기록하거나 보내지 않으며, 설정을 끈 계정이나 게스트 세션에 대해 그래도 도착하는 배치는 저희 API가 폐기합니다. 저희는 이 이벤트를 동의가 아니라 '처리 목적과 법적 근거' 섹션에 설명된 정당한 이익에 근거해 처리하므로, 이 설정은 이용자가 끄지 않는 한 켜져 있습니다. 그래서 저희는 이에 대한 동의를 묻지 않으며, 분석 쿠키를 거부한 사람도 이 설정은 켜져 있습니다. 이 설정은 앱이 보고하는 제품 사용 이벤트에만 적용되며, 오류 및 비정상 종료 보고와 서비스가 작업을 수행한 데 대한 저희 서버 측 기록은 그 대상이 아닙니다.

호스팅 웹 앱에서는 이 설정이 웹 앱 설정에 있습니다. 응답은 해당 브라우저에 저장되고, 로그인한 동안에는 계정에도 저장되며, 설정을 끈 브라우저가 설정이 켜진 계정 때문에 다시 켜지는 일은 없습니다. iOS와 Android 앱은 응답을 기기에 기록하고, 저장할 계정이나 게스트 세션이 생기면 그곳에도 저장될 때까지 재시도하며 기록합니다. 그 기기가 무엇을 보낼지는 기기 자체의 응답이 결정하므로, 다른 곳에 기록된 응답이 그 기기에서 수집을 다시 시작할 수는 없습니다. 이 앱들에서는 설정을 도입하는 앱 버전부터 앱 설정에 이 설정이 나타납니다. 설정 없이 출시된 앱 버전은 계속 이벤트를 보내며, 설정을 끈 계정이나 게스트 세션에 대해 그래도 도착하는 배치는 저희 API가 폐기합니다. 이 폐기에는 응답을 보관하는 계정이나 게스트 세션이 필요하므로, 둘 다 없는 설치에서는 기기 자체의 기록이 전송을 멈추게 합니다. 마케팅 웹사이트에는 '분석과 쿠키' 섹션에 설명된 자체 스위치가 있으며, 그 스위치는 해당 브라우저에만 적용됩니다.

설정을 끄면 이후의 수집이 중단됩니다. 이미 기록된 이벤트는 삭제되지 않습니다. 제품 분석 이벤트는 추가만 가능하기 때문입니다. 계정을 삭제하면 '보관과 삭제' 섹션에 설명된 대로 관련 설치 프로필은 삭제되고, 보관된 이벤트는 지워지는 대신 익명화됩니다.

호스팅 AI와 외부 AI 클라이언트

호스팅 채팅, 음성 변환, 이미지 생성 기능에 설정된 AI 제공업체는 OpenAI입니다. 이용자가 이 기능을 선택하면 저희는 기능 수행에 필요한 요청 데이터를 OpenAI에 보내며, 여기에는 프롬프트, 관련 채팅과 작업 공간 컨텍스트, 첨부 파일이나 이미지, 받아쓰기 음성, 가명 처리된 안전 식별자가 포함될 수 있습니다. 호스팅 텍스트 요청은 store: false를 사용하므로, 나중에 조회할 수 있도록 응답 객체를 저장하는 기능이 비활성화됩니다. 이 요청은 프롬프트 캐싱도 사용하므로, OpenAI는 암호화된 캐시 애플리케이션 상태를 최대 24시간 동안 보관할 수 있습니다. OpenAI의 현재 API 관리 정책에 따라 해당되는 악용 모니터링 로그는 최대 30일 동안 보관될 수 있으며, 음성 변환 엔드포인트는 악용 모니터링 콘텐츠와 애플리케이션 상태를 모두 보관하지 않는다고 밝히고 있습니다. OpenAI는 계정 소유자가 명시적으로 동의하지 않는 한 API 데이터를 모델 학습에 사용하지 않습니다.

호스팅 AI 요청은 디버깅과 서비스 품질 분석을 위해 Langfuse Cloud를 통해서도 관찰됩니다. Langfuse 트레이스에는 프롬프트, 모델 응답, 도구 활동, 사용자·작업 공간·세션 식별자, 운영 메타데이터가 포함될 수 있습니다. 구현은 이메일 주소와 비밀 정보로 보이는 필드를 마스킹하며, 사용자 지정 음성 변환 트레이스에는 원시 오디오 바이트와 첨부 파일 데이터가 포함되지 않습니다.

저희 관리자는 AI 기능이 어떻게 쓰이는지 분석하고 개선하기 위해, 저희 데이터베이스에 저장된 호스팅 AI 채팅 내용(이용자의 프롬프트, 모델 응답, 추천 채팅 프롬프트 포함)을 읽을 수 있습니다. 이 내용에 대한 접근은 운영자의 관리자로 제한됩니다.

원격 MCP 서비스나 Agent API를 통해 Nibomo를 외부 AI 클라이언트에 연결하면, 이용자가 그 클라이언트에 가져오도록 요청한 데이터는 해당 클라이언트와 그 AI 또는 모델 제공업체에서도 처리됩니다. 이러한 별도의 처리는 클라이언트 운영자가 관리하며, 그 운영자의 약관과 개인정보처리방침의 적용을 받습니다.

처리자와 수신자

저희는 호스팅 서비스를 위해 다음 범주의 서비스 제공업체를 이용합니다.

  • 호스팅, Cognito 인증, Postgres, 파일 저장, 백업, 운영 로그를 위한 Amazon Web Services(AWS)
  • App Store 결제, 구매 확인, 구독 알림을 위한 Apple
  • 인증용 트랜잭션 이메일을 위한 Resend
  • 선택적 호스팅 AI 요청을 위한 OpenAI
  • 호스팅 AI 관측(observability)을 위한 Langfuse Cloud
  • 관련 호스팅 서비스나 앱 빌드에서 활성화된 경우, 정제된 오류 및 진단 보고를 위한 Sentry
  • 마케팅 웹사이트와 쿠키를 쓰지 않는 Web Analytics를 위한 Vercel
  • DNS 및 도메인 관리를 위한 Cloudflare. 현재 Nibomo의 DNS 레코드는 DNS 전용이므로, Cloudflare는 호스팅 웹사이트나 앱의 HTTP 트래픽을 프록시하지 않습니다.

데이터는 서비스의 협업 기능에 따라 공유 작업 공간의 다른 구성원에게, 이용자가 승인한 외부 클라이언트에게, 비밀유지 의무가 있는 전문 자문가에게, 또는 법적으로 공개가 요구되는 경우 공공기관에도 공개될 수 있습니다.

국외 이전

주요 호스팅 애플리케이션은 AWS의 EU 인프라에서 실행됩니다. 설정된 Resend 이메일 리전, Sentry 데이터 리전, Langfuse 엔드포인트도 유럽에 있습니다. OpenAI와 Vercel을 포함한 일부 제공업체는 이용자의 국가나 유럽경제지역(EEA) 밖에서 데이터를 처리할 수 있습니다. 필요한 경우 저희는 이러한 이전에 대해 해당 적정성 결정, 데이터 처리 계약, 표준계약조항(SCC) 또는 이에 준하는 보호 조치를 적용합니다.

보관과 삭제

  • 계정 데이터와 호스팅 작업 공간 데이터는 계정이나 해당 공유 작업 공간이 활성 상태인 동안 보관됩니다. 계정을 삭제하면 현재 계정 데이터, 자격 증명, 구성원 자격, 이용자가 유일한 구성원인 작업 공간이 운영 데이터베이스에서 삭제됩니다. 다른 구성원이 남아 있는 작업 공간의 콘텐츠는 그 구성원들이 계속 이용할 수 있습니다.
  • Apple 결제 내역은 회계, 거래 대사, 법적 청구를 위해 계정 삭제 후에도 남습니다. 저희는 내부 사용자 식별자를 가명 값으로 바꾸고, 삭제된 계정에 귀속되는 저장된 Apple 알림 페이로드를 지웁니다. 필요한 구매 식별자와 Apple 계정 귀속 식별자는 남으며, Apple은 여전히 이를 이용자와 연결할 수 있으므로 이는 완전한 익명화가 아닙니다. Nibomo 계정을 삭제해도 Apple 구독은 취소되지 않습니다. 구독은 Apple에서 관리하거나 취소하세요.
  • 제품 분석 이벤트는 계정 삭제 후에도 남습니다. 이용자의 계정 및 연결된 게스트 신원에 연결된 이벤트에 대해, 저희는 계정 식별자를 무작위 값으로 바꾸고, 신원 연결을 제거하며, 설치, 세션, 작업 공간, 요청, 기기 모델, 운영체제, 기기 언어, 인터페이스 언어, 시간대, 국가 필드를 지웁니다. 관련 설치 프로필과 그 국가 기록은 삭제됩니다. 이는 식별자 제거에 대한 설명이며, 보관된 이벤트가 모든 맥락에서 익명이라는 보장은 아닙니다.
  • 계정을 삭제하면 삭제를 수행한 브라우저의 analytics_visitor 쿠키도 만료되고, 그 브라우저의 분석 세션 식별자도 초기화됩니다. 그러면 그 브라우저는 이용자의 분석 선택이 허용하는 경우, 이전 식별자와 연결되지 않은 새 식별자를 가진 새 익명 방문자로 이어집니다. 이는 해당 브라우저에만 적용되며, 다른 브라우저나 다른 기기에 있는 사본에는 미치지 않습니다. 쓰기를 차단하거나 쓰기가 실행되기 전에 닫힌 브라우저는 이전 식별자가 스스로 만료될 때까지 그 식별자를 유지합니다. 이미 수집된 이벤트도 바뀌지 않습니다. 로그아웃 상태에서 기록되어 계정과 연결된 적이 없는 이벤트는 기록될 당시의 식별자를 그대로 유지하며, 그 식별자가 다시 이용자로 연결되지 않게 하는 것은 위에서 설명한 신원 연결 제거입니다.
  • 상세 국가 기간은 마지막 관측이 90일보다 오래되면 사용자층 조회에서 제외됩니다. 매일 실행되는 정리 작업이 이를 삭제하며, 정리 작업이 성공할 때까지 물리적 삭제가 늦어질 수 있습니다. 변하지 않은 기간은 90일보다 이전에 시작되었을 수 있지만, 이는 일별 위치 기록이 아닙니다. 처음 확인된 국가는 설치 프로필이 존재하는 동안, 즉 그 프로필이 삭제될 때까지 별도로 보관됩니다.
  • 피드백 국가는 해당 피드백 기록과 함께 보관되며, 계정 삭제 절차를 통해 그 기록과 함께 삭제됩니다. 90일 국가 기록 규칙은 피드백에 적용되지 않습니다.
  • 저장된 미디어는 관련 활성 작업 공간 콘텐츠에 필요한 동안 보관되며, 더 이상 참조되지 않으면 저장소 정리 절차를 통해 삭제됩니다. 완료되지 않은 임시 업로드는 7일 후 만료됩니다.
  • 데이터베이스에는 7일간의 RDS 자동 백업과, 보관 기간이 35일인 별도의 일일 AWS Backup 플랜이 있습니다. 운영 서비스에서 삭제된 기록은 해당 백업이 만료될 때까지 암호화된 복구 백업에 남아 있을 수 있습니다. 백업은 일반적인 서비스 접근이 아닌 재해 복구에 사용됩니다.
  • API Gateway 액세스 로그는 7일 후 만료됩니다. 그 밖의 CloudWatch 애플리케이션 로그에는 현재 자동 만료가 설정되어 있지 않으며, 수동으로 삭제될 때까지 남습니다. 저희는 이 로그의 사용을 운영, 보안, 디버깅으로 제한하며, 적용되는 개인정보 보호 권리를 보장하기 위해 필요한 경우 관련 항목을 삭제합니다.
  • 현재 Sentry Developer 플랜은 30일간의 이벤트 조회 기간을 제공합니다. Resend는 현재 표준 서비스 설정에 따라 발송 이메일 데이터를 30일 동안 보관합니다.
  • OpenAI의 보관 기간은 '호스팅 AI와 외부 AI 클라이언트' 섹션에 설명되어 있습니다. Langfuse Cloud는 AI 트레이스를 30일 후 삭제합니다. 저희 프로젝트에 설정된 제공업체 접근 한도에 따라 오래된 트레이스가 매일 밤 삭제되며, 이 삭제는 되돌릴 수 없습니다. 유효한 삭제 요청을 이행하기 위해 필요한 경우 저희는 식별 가능한 트레이스를 삭제합니다.
  • 지원 관련 서신과 법률 또는 보안 문제에 필요한 기록은 해당 목적에 필요한 기간 동안만 보관됩니다. Vercel의 방문자 해시는 24시간 후 만료되며, 집계된 웹사이트 통계는 Vercel 프로젝트 설정에 따라 보관됩니다.

계정을 삭제해도 예약된 백업이나 제공업체 로그에 이미 있는 사본이 즉시 제거되지는 않습니다. 법적으로 더 긴 기간이 요구되지 않는 한, 이러한 사본은 위의 기간에 따라 만료되거나 삭제됩니다.

이용자의 권리

적용되는 법률에 따라 이용자는 자신의 개인정보에 대한 열람, 정정, 삭제, 처리 제한, 이동 가능한 사본 제공을 요청할 수 있습니다. 또한 정당한 이익에 근거한 처리에 반대할 수 있으며, 동의에 근거한 처리의 경우 동의를 철회할 수 있습니다. 법률이 허용하는 경우, 예를 들어 법적 의무나 다른 사람의 권리 때문에 데이터를 보관해야 하는 경우에는 이러한 권리가 제한될 수 있습니다.

웹, iOS, Android 앱에서 호스팅 계정을 삭제할 수 있습니다. 그 밖의 요청은 아래 주소로 연락하세요. 요청을 처리하기 전에 본인 확인이 필요할 수 있습니다.

이용자는 거주지나 근무지, 또는 침해가 발생했다고 생각하는 곳의 개인정보 보호 감독기관에 민원을 제기할 수 있습니다. 불가리아의 감독기관은 개인정보보호위원회(Commission for Personal Data Protection)입니다.

보안과 오픈 소스

저희는 접근 통제, 전송 구간 암호화, 암호화된 AWS 저장소, 진단 시스템에서의 데이터 최소화 또는 마스킹을 적용합니다. 어떤 서비스도 절대적인 보안을 보장할 수는 없습니다.

공개된 소스 코드를 통해 문서화된 데이터 처리 경로와 저장소에 커밋된 구성을 확인할 수 있습니다. 공개 소스만으로는 호스팅 서비스의 현재 구성이나 동작이 증명되지 않습니다.

문의

개인정보 관련 문의나 권리 행사 요청은 kirill+flashcards@kirill-markin.com으로 연락하거나 지원 페이지를 이용하세요.

언어

본 개인정보처리방침은 여러 언어로 게시됩니다. 번역본의 내용이 영어 버전과 다를 경우 영어 버전이 우선합니다.