개인정보처리방침 (베타 초안)
코드 기준 초안 검토일: 2026-10-06
시행일 및 최종 확정일: TODO / LEGAL_REVIEW_REQUIRED
1. 이 초안의 범위
현재 구현된 데이터 처리를 안내합니다. 공식 운영자명, 개인정보 문의 연락처, 보존기간과 외부 서비스 계약 정보는 아직 확정되지 않았습니다(UNKNOWN). 아래 TODO / LEGAL_REVIEW_REQUIRED 항목은 확인이 필요한 사항이며, 확정된 운영 정책이나 법률 검토 결과를 뜻하지 않습니다.
2. 처리 항목과 목적
- 계정: Google·Kakao 로그인과 Supabase Auth를 통한 계정 식별자, 이메일 등 제공된 인증 정보와 세션을 로그인 유지에 사용합니다. 공급자별 전체 제공 항목은 UNKNOWN입니다.
- 프로필: 사용자 ID와 닉네임을 저장합니다. 기본 닉네임은 이메일 앞부분 또는 사용자 ID 일부로 생성될 수 있습니다. 저장된 프로필 이미지 주소가 있으면 작성자 표시에 사용합니다.
- 게시글·댓글: 제목, 본문, 작성자 ID, 작성 시각, 익명 표시 선택 및 숨김 상태 등을 게시·조회·수정·삭제에 사용합니다.
- 사고 경험: 사고 유형, 보험사, 진행 단계, 최초·최종 본인 과실, 처리 경로·기간, 차종·연식, 수리비·보험금, 렌트 여부·기간, 영상·증거 보유 여부 등 사용자가 입력한 정보를 사례 공유와 검색에 사용합니다. 반응과 정보 충실도 지표도 저장합니다.
- 사고 분석: 사고 설명, 영상 원본과 파일명·식별 해시·저장 경로·역할, 처리 상태, AI 참고분석 결과를 요청 처리와 결과 조회에 사용합니다.
- 신고·운영: 신고자 ID, 대상, 사유·설명, 처리 상태·관리자 메모, 업로드 URL 발급 이력, 작업 식별자·상태·오류 정보를 신고 검토, 요청 제한 및 장애 확인에 사용합니다.
계정·게시물·사고 및 분석 기록은 Supabase Auth 또는 Database에, 업로드 원본과 기존 단일영상의 썸네일은 Supabase Storage에 저장됩니다. 인증 세션은 브라우저의 인증 저장소·쿠키를 통해 유지됩니다. 호스팅·인증 서비스가 별도로 남기는 접속 로그의 전체 항목과 기간은 UNKNOWN입니다.
3. 영상과 외부 AI 처리
원본 MP4는 Supabase Storage로 전송·저장되고 분석 서버가 내려받습니다. 원본 MP4나 음성 파일을 OpenAI로 보내지는 않습니다. 분석 서버에서 추출한 JPEG frame(사고당 최대 16개), 사고 설명, 영상 역할·출처 구분·영상 내 상대시간·이미지 선택 이유를 OpenAI API로 보내 분석합니다. 여기서 서버 내 추출은 이용자 기기에서만 처리한다는 뜻이 아닙니다.
사고 설명의 일부 식별 문자열을 전송 전에 치환하고 결과에도 문자열 검사를 적용하지만, 모든 개인정보를 제거하는 기능은 아닙니다. 저장된 원래 사고 설명은 그대로 남습니다. 얼굴·번호판 등의 자동 모자이크 기능은 없으므로 추출 이미지에 제3자 정보가 포함될 수 있습니다. 업로드 전에 불필요한 개인정보를 직접 제거해주세요.
Rody는 검증된 구조화 분석 결과와 모델명·토큰 사용량·응답 식별자를 저장합니다. 현재 production worker는 OpenAI 응답 원문 전체를 DB나 로그에 저장하지 않습니다. 이는 OpenAI 측 보관이 없다는 뜻이 아니며, 외부 서비스의 보관·학습 사용·삭제 조건은 UNKNOWN입니다. 자세한 한계는 AI 분석 고지에서 확인할 수 있습니다.
4. 공개 범위
신규 사고 분석과 연결 영상은 비공개이며 일반 이용자는 자신의 사고와 결과만 조회합니다. 비공개는 외부 AI 처리나 서버의 처리 권한을 없앤다는 뜻이 아닙니다. 사용자가 별도로 작성한 게시글·사고 경험·댓글은 공개 화면에 표시될 수 있습니다. 익명 표시는 화면의 작성자 표시 방식이며 계정 연결 정보의 삭제를 뜻하지 않습니다. 기존 단일영상에는 소유자가 공개 상태를 선택하는 별도 경로가 있습니다.
5. 외부 서비스·제3자 제공 및 국외 처리
Supabase는 Auth·Database·Storage에, OpenAI는 위 이미지·설명 기반 분석에, Google·Kakao는 선택한 로그인 방식에 사용됩니다. 이 기술적 전송 사실과 법적 제3자 제공·처리위탁 구분은 별개입니다.
LEGAL_REVIEW_REQUIRED: 각 서비스의 계약 주체·DPA·처리위탁 또는 제3자 제공 해당 여부, 실제 저장·처리 국가, 국외 이전 여부와 요건, 보관·삭제·학습 사용 조건, 필요한 고지·동의 방식은 미확정입니다. 코드만으로 특정 국가나 계약 조건을 확정하지 않습니다.
6. 보관기간과 삭제 방식
- 계정, 게시글·댓글, 사고 설명·분석 결과, 신고, 업로드 발급 이력 및 서버 로그의 정해진 보존기간은 UNKNOWN입니다. 코드에 기간 경과에 따른 일괄 자동 삭제는 확인되지 않았습니다.
- 분석 서버의 임시 원본·추출 이미지는 작업 함수가 정상적으로 종료하거나 처리된 예외로 빠져나올 때 임시 폴더와 함께 정리됩니다. 강제 종료 시 잔여 파일의 정리 시점은 보장하지 않습니다.
- 미제출 사고는 소유자가 사고 상태 화면에서 취소할 수 있습니다. 취소 후 해당 사고의 Storage 파일을 먼저 정리하고 등록 영상 기록을 삭제합니다. 파일 삭제 실패 시 DB 기록부터 지우지 않습니다.
- 취소된 사고 기록과 사고 설명은 남습니다. 유효한 업로드 URL로 파일이 늦게 도착할 수 있어 같은 화면에서 다시 정리할 수 있습니다. 이 기록의 최종 삭제 시점과 자동 재정리 일정은 미정입니다.
- 제출·처리 중·완료·실패 상태의 사고에는 위 취소 경로를 사용할 수 없습니다. 제출된 사고 하나를 골라 전체 삭제하는 화면은 없으며, 회원탈퇴에는 별도의 사고 기록 정리 절차가 적용됩니다.
- 기존 영상 삭제는 연결 파일을 먼저 삭제하고 영상 기록을 삭제합니다. 게시글·댓글은 제공되는 본인 삭제 기능을 사용할 수 있습니다. 숨김 처리는 삭제와 다릅니다.
LEGAL_REVIEW_REQUIRED: 항목별 보존기간과 필요한 법적 보존 근거, 백업·외부 서비스 사본의 파기 방식·시점은 별도 확인이 필요합니다. 파일 삭제 API 호출은 모든 백업의 즉시·영구 삭제를 보장한다는 뜻이 아닙니다.
7. 회원탈퇴와 권리 행사
로그인 후 마이페이지와 본인 콘텐츠 화면에서 조회·수정·삭제 기능을 사용할 수 있습니다. 회원탈퇴는 요청과 최종 삭제의 두 단계로 처리합니다. 요청이 접수되면 탈퇴 처리 중 상태가 되며, 새 업로드 URL 발급과 사고·영상 변경을 제한합니다. 기존 업로드 URL의 2시간 유효기간에 10분의 안전 여유시간을 더한 뒤 최종 삭제를 다시 요청할 수 있습니다. 자동 삭제는 아닙니다. 최종 삭제는 안전 조건을 다시 확인하고 파일, 영상·비공개 사고 기록, 계정 순서로 처리합니다. 대기·처리 중 분석이 있거나 안전한 정리 준비가 확인되지 않으면 삭제를 시작하지 않습니다. 탈퇴 정리 시작 후에는 새 업로드·분석 요청이 제한됩니다. 중간 실패 시 일부 파일이 이미 삭제된 상태일 수 있으며 다시 요청하면 남은 정리를 이어갑니다. 정리 시작 후 되돌리기는 제공하지 않습니다.
최종 탈퇴 시 Auth 계정·프로필, 비공개 사고·분석 결과, 본인 원본 영상·썸네일을 정리합니다. 계정 삭제가 성공하더라도 공개 게시글·댓글·신고 내용은 작성자 연결을 해제한 채 남을 수 있습니다. 공개 사고 경험의 최초·최종 과실, 처리 경로·기간, 수리비·보험금, 렌트 여부·기간, 차종·연식 등 구조화된 내용도 계정·사고 연결이 제거된 뒤 게시물 정책에 따라 남습니다. 화면에는 익명 또는 탈퇴한 사용자로 표시되지만 본문 속 개인정보까지 제거되지는 않습니다. 이를 법적으로 완전한 익명정보라고 단정하지 않습니다. 삭제를 원하면 탈퇴 전에 본인 삭제 기능을 이용하거나 별도 삭제를 요청할 수 있습니다. 별도 요청의 전용 연락처·처리 절차는 아래와 같이 미확정이며 LEGAL_REVIEW_REQUIRED입니다.
탈퇴의 사고 기록 정리는 일반 업로드 취소와 달리 취소된 사고·설명·분석 결과도 포함합니다. 새 업로드 URL 발급을 막기 위한 최소 사용자 UUID·탈퇴 진행 상태·요청 시각은 계정 삭제 뒤에도 별도로 남습니다. 이 기록의 보존기간·파기 정책은 UNKNOWN / LEGAL_REVIEW_REQUIRED입니다.
TODO / LEGAL_REVIEW_REQUIRED: 기능으로 해결되지 않는 열람·정정·삭제·처리정지 요청의 접수 연락처, 본인 확인 및 처리 절차는 아직 마련되지 않았습니다. 콘텐츠 신고 버튼과 신고센터 안내는 이용할 수 있으나, 개인정보 권리 행사 전용 창구를 대체하지 않습니다.
8. 보호조치와 한계
인증 확인, 소유자 조건과 DB 접근 정책, 관리자 권한 확인, 비공개 업로드, 서명된 파일 접근 URL을 사용합니다. 서버용 서비스 키와 OpenAI 키는 클라이언트용 설정으로 제공하지 않습니다. production worker는 작업 ID·상태·제한된 오류 코드 중심으로 로그를 남깁니다. 일부 웹 서버 경로는 오류 객체를 로그에 남기므로 전체 로그의 민감정보 배제는 추가 점검이 필요합니다. 관리적 보호조치의 운영 이행, 백업·접근기록 보존 설정은 UNKNOWN입니다.
9. 연령 관련 확인
현재 생년월일 수집, 연령 확인 또는 연령 제한 기능은 없습니다. LEGAL_REVIEW_REQUIRED: 만 14세 미만 이용 가능성과 법정대리인 동의 등 별도 절차의 필요성을 운영 정책과 함께 검토해야 합니다. 현재 해당 동의 절차가 구현되어 있다는 뜻은 아닙니다.
10. 담당자·문의 및 변경 안내
공식 운영자명: UNKNOWN. 개인정보 보호 담당자 및 전용 연락처: UNKNOWN. TODO / LEGAL_REVIEW_REQUIRED: 운영자가 이를 확정해야 합니다. Rody라는 서비스명을 법적 사업자명으로 확정한 것은 아닙니다.
현재 정책 페이지에는 초안 검토일을 표시합니다. 개정 이력 공개, 시행일과 사전·개별 변경 고지 방식은 TODO / LEGAL_REVIEW_REQUIRED이며 자동 통지 기능은 구현되어 있지 않습니다.