Security영상이 어디로 가는지
영상이 어디로 가는지
먼저 말씀드립니다
강의 영상과 교안은 회사의 자산이고, 아직 공개되지 않은 콘텐츠인 경우가 많습니다. 저장 위치, 전달 대상, 접근 통제, 삭제 방식을 구현된 그대로 적었습니다.
접근 통제
- Google 계정으로만 로그인합니다(Supabase Auth). 비밀번호를 직접 보관하지 않습니다.
- 로그인 영역은 두 겹으로 막습니다 — 프록시가 요청 단계에서 한 번, 각 API가 다시 한 번 사용자를 확인합니다. 프록시 설정이 한 번 잘못돼도 무인증으로 열리지 않게 하기 위한 구조입니다.
- 데이터베이스는 행 수준 보안(RLS)이 걸려 있어, 이용자는 자신의 행만 읽고 쓸 수 있습니다. 관리 권한으로 우회하는 경로는 필요한 곳으로 제한합니다.
- 관리자 영역은 비밀번호가 설정돼 있지 않으면 열리지 않습니다(차단이 기본값). 설정 누락이 곧 무인증 공개가 되지 않게 한 것입니다.
- 비용이 큰 API는 호출 빈도를 제한합니다.
파일 저장과 전달
- 영상·교안은 Cloudflare R2에 저장됩니다. 브라우저는 서버가 발급한 만료되는 서명 URL로만 업로드·재생하며, 저장소 자격 증명은 서버 밖으로 나가지 않습니다.
- 모든 통신은 HTTPS입니다. 저장 데이터는 Supabase·Cloudflare R2의 기본 암호화를 사용합니다.
- AI 처리에는 필요한 부분만 보냅니다 — 검수는 화면 캡처와 음성 샘플, 자막 교정·번역은 텍스트입니다. 영상 원본 파일 자체를 외부 모델 제공사에 통째로 넘기지 않습니다.
- 외부 모델 응답은 구조를 검증한 뒤에만 채택합니다. 개수·타임코드·근거가 입력과 맞지 않으면 버리고 원본을 유지합니다.
공유 링크
검수 결과는 토큰이 들어간 링크로 공유할 수 있습니다. 링크를 아는 사람은 로그인 없이 열람할 수 있으므로, 필요한 사람에게만 전달하시기 바랍니다. 검색엔진에는 색인되지 않도록 robots.txt에서 제외해 두었습니다.
삭제
- 회원탈퇴 시 즉시 파기합니다 — 계정, 프로젝트, 영상·교안 파일, 생성된 자막·검수 결과까지 함께 지웁니다. 탈퇴는 계정 설정에서 직접 하실 수 있습니다.
- 탈퇴 처리 사실 자체(처리 시각 등)는 분쟁 대응을 위해 이용자를 식별할 수 없는 형태로만 남깁니다.
- 개별 영상·프로젝트는 언제든 화면에서 삭제할 수 있습니다.
처리 위탁 업체
전달된 데이터의 취급은 각 제공사의 API 약관을 따릅니다. 목록은 개인정보처리방침과 동일하게 유지합니다.
취약점을 발견하셨다면
공개 전에 문의로 알려 주세요. 재현 절차와 영향 범위를 함께 주시면 확인이 빠릅니다. 기관 도입을 검토 중이시라면 보안 검토 자료도 문의로 요청하실 수 있습니다.