1. 개인정보 처리자 (Data Controller)

EU 일반 개인정보 보호법(GDPR)에 따른 본 서비스의 개인정보 처리자는 아래와 같습니다.

Lukas Kaeb
Altenhoeferallee 70
60438 Frankfurt
독일 (Germany)
이메일: hello@bomi.academy

GDPR 제37조에 따른 의무가 발생하지 않아 별도의 개인정보 보호책임자 (DPO)를 두고 있지 않습니다. 개인정보 관련 문의는 위 이메일로 연락 주시기 바랍니다.

2. 수집하는 정보와 그 이용 목적

계정 정보

회원 가입 시 이메일 주소, 이름, 비밀번호 해시값, 역할(학생·튜터·학부모·관리자)을 저장합니다. 이는 계정 운영을 위한 필수 정보입니다 (GDPR 제6조 (1) (b) — 계약 이행).

학습 콘텐츠

과제 제출물, 글·음성 피드백, 성적, 업로드 파일 (PDF·이미지·Word·오디오), 시험 결과, 학습 패키지, 알림 등을 튜터링 서비스 제공을 위해 저장합니다 (제6조 (1) (b)).

AI 보조 기능

AI 보조 기능은 선생님이 검토하는 피드백 초안과 연습 자료 생성을 위한 튜터링 흐름의 일부입니다. 이 목적을 위해 선택된 학생 학습 작업과 학습 맥락을 서비스 제공의 일부로 처리합니다 (제6조 (1) (b)). 해당되는 경우 학습 흐름 운영 및 개선에 대한 정당한 이익도 근거가 될 수 있습니다 (제6조 (1) (f)). 학부모는 학부모 포털에서 자녀 학습 데이터를 사용하는 AI 보조 기능을 끌 수 있으며, 꺼두면 해당 AI 경로는 서버에서 차단됩니다. 최종 피드백, 성적, 수업 결정은 선생님이 책임집니다.

자료 기반 학습 패키지의 경우 DOCX 파일은 로컬에서 추출된 뒤 최소화된 텍스트 신호만 Anthropic(Claude)에 전송됩니다. PDF와 이미지 업로드는 자료 신호 추출을 위해 Google Gemini로 전송될 수 있으며, 이후 편집 가능한 학습 패키지 항목 초안을 만들기 위해 최소화된 텍스트 신호만 Anthropic(Claude)에 전송됩니다.

Google 캘린더 연동 (선택)

튜터는 구글 계정을 연결해 수업을 Google 캘린더에 표시할 수 있습니다. 요청하는 권한은 openid, email, calendar.events.owned 범위로 한정되어 있습니다. 법적 근거는 동의(제6조 (1) (a))이며, 수업 화면에서 언제든 연결을 해제하실 수 있습니다.

  • 접근하는 구글 데이터: 연결한 구글 계정의 이메일 주소, 그리고 Bomi Academy가 회원님의 기본 캘린더에 직접 만든 수업 일정에 한해 Google이 반환하는 그 일정 정보입니다. 이 중 이벤트 ID, 버전 태그, 상태(예: 취소), 시작 시간만 이용하고 저장합니다. 그 밖의 캘린더 일정, 캘린더 목록, 연락처는 읽지 않습니다.
  • 구글에 기록하는 데이터: 수업마다 "Lesson with" 뒤에 학생 이름이 붙은 제목의 일정을 만들고, 수업 날짜, 시간, 길이, 수업 메모를 함께 기록합니다.
  • 이용 목적: 회원님의 캘린더에 수업을 추가·변경· 삭제하고, Google 캘린더에서 수업을 취소하거나 옮긴 것을 확인하며, 어떤 구글 계정이 연결되어 있는지 보여 드리는 데에만 사용합니다. 구글 사용자 데이터를 광고에 사용하거나 판매하지 않으며, AI 또는 머신러닝 모델의 개발·개선·학습에 사용하지 않습니다. 회원님의 허락이 있는 경우, 보안 문제나 부정 사용을 조사하는 경우, 또는 법령이 요구하는 경우를 제외하고 Bomi Academy 직원은 이 데이터를 읽지 않습니다.
  • 공유: 구글 사용자 데이터를 공유하거나 판매하지 않습니다. 이 데이터는 앱과 데이터베이스를 호스팅하는 서비스 제공업체(Vercel, Supabase, 제3조 참조)만 당사의 지시에 따라 저장·처리합니다. Google 요청이 실패하면 개인정보를 제거한 오류 보고서가 Sentry로 전송될 수 있습니다(제3조 참조). 법령이 요구하는 경우에만 관계 기관에 제공합니다.
  • 보호: 모든 데이터는 암호화된 연결(HTTPS/TLS)로 전송됩니다. 접근 권한을 주는 토큰(refresh token)은 당사 서버만 가진 키로 저장 시 암호화(AES-256-GCM)됩니다. 이 토큰은 당사 서버 코드만 사용하며, 항상 회원님의 계정으로 한정되고, 브라우저로 전송되지 않습니다.
  • 보관 및 삭제: 이 데이터는 구글 계정이 연결되어 있는 동안 보관합니다. 구글 접근이 더 이상 작동하지 않으면(예: 구글 계정에서 접근 권한을 제거한 경우) 수업 화면에 오류가 표시되며, 연결을 해제할 때까지 연결 기록이 남습니다. 연결을 해제하면 구글에서 당사의 접근 권한을 폐기하고, refresh token과 연결 기록(연결된 이메일, 캘린더 ID, 허용된 권한 범위)을 삭제하며, 수업에서 구글 이벤트 ID를 제거합니다. Bomi Academy 계정 삭제 요청을 처리할 때에도 접근 권한을 폐기하고 이 데이터를 삭제합니다. 이미 Google 캘린더에 있는 수업 일정은 회원님이 삭제할 때까지 그대로 남습니다. 언제든 구글 계정 설정에서 당사의 접근 권한을 제거하실 수도 있습니다. 감사 로그에는 연결, 해제, 수업별 동기화 기록이 구글 이벤트 ID와 함께 기록되지만 구글 계정 정보는 기록되지 않으며, 제5조에 설명된 대로 보관됩니다. 백업도 제5조에 설명된 대로 순차적으로 만료됩니다.

Bomi Academy가 Google API로부터 받은 정보를 사용하고 다른 앱으로 이전하는 것은 제한적 사용(Limited Use) 요건을 포함한 Google API 서비스 사용자 데이터 정책을 준수합니다.

감사 로그

보안과 책임 추적을 위해 민감한 행위(로그인, 권한 변경, 삭제, 음성 메모 업로드)에 대한 내부 로그를 보관합니다. 법적 근거는 부정 사용 방지 및 보안 의무 이행이라는 정당한 이익입니다 (제6조 (1) (f)).

유료 이용 계속하기 (활성화된 경우)

자격이 있는 튜터가 유료 구독을 명시적으로 선택하면 Stripe가 Checkout을 호스팅하고 그곳에 입력한 청구 신원, 청구지 주소, 결제 수단을 처리합니다. 보미는 불투명한 튜터 참조값과 고정 구독 가격만 보내며 학생, 학부모, 메시지, 과제, 제출물 또는 학습 콘텐츠는 Stripe로 보내지 않습니다. 로컬에는 최소화된 제공업체 식별자와 결제 이벤트 증빙만 저장합니다. 검증된 결제 성공 이벤트 없이 Checkout에서 돌아오는 것만으로는 이용 권한이 활성화되지 않습니다.

보미는 튜터와 연결된 학생·학부모의 새 활동 허용 여부를 판단하기 위해 평가 및 결제 기간, 해지, 결제 유예, 읽기 전용, 보관 시각, 구독 가격 증빙, 알림 전달 상태처럼 최소화된 상업적 이용 사실도 저장합니다. 학생 작업물은 결제 기록에 복사하지 않습니다. 읽기 전용과 보관은 접근을 제한하지만 공유 기록을 자동 삭제하지 않습니다. 검토된 개인정보 권리 절차에 따른 내보내기와 인증된 삭제 요청은 유지됩니다.

오류 보고

오류 발생 시 Sentry로 보고를 전송합니다. 이메일·이름·토큰·쿠키·쿼리 문자열 등의 개인 식별자는 전송 전에 제거됩니다. 사용자 ID와 역할만 첨부되어, 회원님이 조사를 요청하실 때 해당 보고와 계정을 연결할 수 있도록 합니다.

쿠키와 추적

마케팅 페이지에서는 마케팅 쿠키, 광고 추적, 제3자 분석을 사용하지 않습니다. 앱 내부에서는 NextAuth가 로그인 세션 쿠키를 사용합니다. 이는 필수 쿠키로서 ePrivacy 지침상 별도 동의가 필요하지 않습니다.

3. 수탁자 및 제3자 수령인

서비스 운영을 위해 아래 제공업체를 사용합니다. 일부 업체는 각자의 데이터 처리 조건에 따라 수탁자로 처리될 수 있으며, 제공업체 리전, 하위 처리자, 보관 기본값, 국외 이전 보호장치는 계속 확인합니다.

  • Supabase (데이터베이스·엣지 함수) — 계정/프로필 데이터, 학부모 연결, 동의 기록, 과제, 제출물, 시험 결과, 학습 패키지, 감사 로그, DSAR 로그, AI 사용 텔레메트리를 저장합니다.
  • Vercel (호스팅·서버리스 컴퓨팅) — EU·미국 엣지 노드가 사용될 수 있습니다. 요청 메타데이터, 전송 중인 앱 데이터, 런타임 로그, 배포 환경 데이터를 처리합니다.
  • Vercel Blob (비공개 파일 저장소) — 업로드되거나 생성된 과제 파일, 오디오, 이미지/PDF, 첨삭 파일, 시험 답안 업로드, 학습 패키지 오디오를 저장합니다.
  • Resend (트랜잭션 이메일 발송) — 인증, 초대, 비밀번호 재설정, 알림, 문의, 학부모 요약 이메일을 발송합니다.
  • Upstash Redis (요청 제한) — 일시적인 작업 카운터와 사용자/IP 기반 요청 제한 키를 저장하며, 학습 콘텐츠는 저장하지 않습니다.
  • Sentry (선택적 오류 모니터링) — 설정된 경우 정제된 오류 진단 정보를 수신합니다. 요청 본문, 쿠키, 콘솔 breadcrumb는 비활성화되어 있으며, 이메일, 토큰, 이름 및 기타 개인정보로 보일 수 있는 필드는 전송 전에 삭제됩니다.
  • Google Calendar APIs/OAuth (선택적 튜터 캘린더 동기화) — 암호화된 튜터 refresh token, 연결된 구글 이메일 주소, 캘린더 ID, 이벤트 ID, 수업 일정 메타데이터를 처리합니다. 연결을 해제하면 구글에서 접근 권한을 폐기하고 이 데이터를 삭제합니다.
  • Google Gemini/AI Studio 및 Google Cloud Text-to-Speech (AI, 전사, 음성 기능) — 해당 기능이 활성화되었거나 튜터링 흐름에서 사용되는 경우 선택된 프롬프트, 학생 제출물 또는 오디오, 학습 패키지 자료 신호 추출을 위한 PDF/이미지 업로드, 생성된 결과, 음성 합성 대상 단어, 생성 오디오 메타데이터를 처리할 수 있습니다.
  • Anthropic (Claude API) (AI 피드백, 생성, 자유 텍스트 번역 기능) — 기능이 활성화되었거나 튜터링 흐름에서 사용되는 경우 제출물 내용, 프롬프트, 생성된 피드백, 최소화된 자료 텍스트 신호, 생성된 학습 패키지 초안 항목, 튜터/학부모 자유 입력 텍스트, 언어 메타데이터, AI 사용 텔레메트리를 처리할 수 있습니다. 저희는 이를 고위험 처리로 취급하며, AI 처리를 기본적으로 “개인정보에 안전하다”고 표현하지 않습니다.
  • Stripe (선택적 호스팅 결제) — 유료 이용 계속하기가 활성화되고 선택된 경우 결제 튜터의 이메일, 청구 신원/주소, 결제 수단, 구독, 청구서 및 영수증 기록을 처리합니다. Stripe에는 불투명한 튜터 참조값 하나만 전달되며 학생 또는 학습 콘텐츠는 전달되지 않습니다.

저희는 개인정보를 판매하거나 임대하지 않으며, 법적 의무가 있는 경우에 한해서만 관계 당국과 공유합니다.

4. 아동의 개인정보

Bomi Academy는 튜터와 소규모 학원을 위한 소프트웨어입니다. 튜터, 학생, 학부모가 사용하며 일부 학생은 미성년자일 수 있습니다. 학생 데이터는 본 방침에 설명된 튜터링, 학습, 계정, 안전, 책임 추적 목적을 위해서만 처리합니다.

학부모 또는 법정대리인의 참여가 필요한 경우에는 학부모 초대, 동의 설정, 계정 데이터 관리 기능을 통해 처리합니다. 학부모 또는 법정대리인은 아래의 권리를 자녀를 대신하여 행사할 수 있습니다.

5. 보유 기간

  • 계정 정보: 계정이 활성 상태인 동안 보관하며, 이행된 삭제 요청 이후에는 보안, 분쟁 대응, 부정 사용 방지, 법적 의무에 필요한 기간 동안만 보관합니다. 학부모, 학생, 튜터 기록이 서로 연결될 수 있으므로 삭제 요청은 범위별로 검토합니다.
  • 제출물 및 피드백: 튜터·학생 관계가 유지되는 기간 동안 보관하되, 삭제 대상 기록은 더 일찍 삭제될 수 있습니다. 그룹, 과제, 제출물, 수업, 학습 패키지, 평가 루브릭 템플릿 등 핵심 기록은 soft-delete 후 30일 뒤 hard purge 대상으로 처리됩니다. 해당 비공개 업로드/생성 파일은 지원되는 경우 데이터베이스 삭제 전에 삭제합니다.
  • 감사 및 DSAR 로그: 보통 최대 12개월. 다만 보안 사고, 분쟁, 법적 의무가 있는 경우 더 오래 보관할 수 있습니다.
  • 운영 기록: 수락되었거나 만료된 초대는 보통 30일 뒤 삭제합니다. 오래된 온보딩 초안, 학부모 digest 실행 로그, AI 피드백 초안 텍스트는 90일 뒤, 앱 내 알림은 180일 뒤, 일반 AI 사용 텔레메트리는 12개월 뒤 삭제합니다.
  • 운영 오류 보고: 로컬에서 해결된 보고는 보통 해결 후 30일 뒤 삭제하고, 아직 해결되지 않은 로컬 보고도 보통 90일 뒤 삭제합니다. Sentry 보관 기간은 설정된 제공업체 설정을 따릅니다.
  • Google 캘린더 연결 데이터: 구글 계정이 연결되어 있는 동안 보관하며, 연결을 해제하거나 계정 삭제 요청을 처리할 때 삭제합니다(제2조 참조).
  • 백업: 제공업체의 백업 설정에 따라 보관됩니다. 개별 삭제가 백업에 즉시 반영되지 않을 수 있으나, 백업이 순환되면서 데이터가 만료됩니다.
  • 상업적 이용 권한 및 알림 증빙: 이용, 결제, 해지, 유예, 읽기 전용, 보관 시각은 세금·분쟁·정보주체 의무를 검토하는 동안 튜터 결제 기록과 함께 보관됩니다. 성공한 라이프사이클 전달 증빙과 앱 내 알림은 일반적으로 180일 후 삭제됩니다. 보관 상태 전환 자체는 일괄 삭제를 실행하지 않습니다.
  • 세무 관련 기록: 독일 조세기본법(AO) 제147조에 따라 10년.

6. 회원님의 권리

GDPR에 따라 회원님은 다음의 권리를 가집니다.

  • 열람권 — 저희가 보유한 개인정보의 열람 (제15조)
  • 정정권 — 부정확한 정보의 정정 (제16조)
  • 삭제권 (잊혀질 권리) — 요건 충족 시 삭제 (제17조)
  • 처리 제한권 — 처리의 제한 (제18조)
  • 이동권 — 구조화된 기계 판독 가능 형식의 이동성 (제20조)
  • 이의제기권 — 정당한 이익에 기반한 처리에 대한 이의 (제21조)
  • 동의 철회권 — 언제든 동의를 철회할 수 있으며, 과거 처리의 적법성은 영향을 받지 않습니다 (제7조 (3)).

인증된 학부모는 학부모 데이터 페이지에서 자신의 데이터를 다운로드할 수 있습니다. 학생은 계정 데이터 관리 기능에서 자신의 데이터를 다운로드할 수 있습니다. 내보내기는 구조화된 데이터와 가능한 경우 업로드/생성 파일을 포함한 ZIP 번들로 제공됩니다. 학부모와 학생은 해당 데이터 관리 기능에서 인증된 삭제 요청도 제출할 수 있습니다.

위 권리는 이메일로도 행사할 수 있습니다: hello@bomi.academy로 연락해 주세요. 저희는 30일 이내에 답변드립니다.

감독기관에 진정을 제기할 권리도 가지십니다. 저희 사업장 관할 감독기관은 다음과 같습니다.

Der Hessische Beauftragte für Datenschutz und Informationsfreiheit
Postfach 3163
65021 Wiesbaden
Germany
https://datenschutz.hessen.de

7. 보안

전송 구간에는 TLS, 저장 구간에는 민감 필드 (예: OAuth refresh token)에 AES-256-GCM, 비밀번호에는 bcrypt 해시, 인증 엔드포인트에 요청 제한, 표준 보안 헤더 (CSP·HSTS·X-Frame-Options 등)를 적용합니다. 애플리케이션 레벨의 권한 확인을 통해 튜터, 학부모, 학생이 볼 수 있는 데이터만 접근하도록 제한합니다.

8. 국외 이전

일부 제공업체는 설정 및 사용 기능에 따라 EEA 외부에서 개인정보를 처리할 수 있습니다. 필요한 경우 제공업체의 Data Privacy Framework 인증, EU 표준계약조항(SCC) 또는 기타 보호조치에 근거합니다. 학생 작업물과 국제 이전이 결합될 수 있는 AI 제공업체는 별도로 더 신중하게 다룹니다.

9. 본 방침의 변경

처리 방식이 변경되는 경우 본 방침을 업데이트할 수 있습니다. 현재 버전의 적용 일자는 아래에 표시되며, 중요한 변경 사항은 시행 14일 이전에 앱 내 알림 또는 이메일을 통해 안내드립니다.