개인정보처리방침 / Privacy policy
시행일: 2026-09-16 · DualCore Chrome 확장 프로그램, 선택형 macOS 보조 앱 및 Windows·macOS 음원 도우미에 적용됩니다. 운영자: moveOH. 문의: moveoh1004@gmail.com.
선택형 클라우드 계정
회원가입·로그인을 선택하면 이메일과 비밀번호를 Railway에 호스팅된 DualCore 로그인 서버로 HTTPS 전송합니다. 서버는 계정 ID, 이메일, 가입 시각, 비밀번호의 salt·해시와 세션 토큰의 해시·만료 시각을 영구 볼륨에 보관합니다. 비밀번호 원문은 저장하지 않습니다. 로그인 유지를 위한 세션 토큰은 브라우저의 신뢰된 확장 저장소에 보관하며 웹페이지·Mac 앱에 전달하지 않습니다. 세션은 30일 후 만료되며 로그아웃하면 해당 세션을 폐기합니다. 계정 정보 삭제는 문의 이메일로 요청할 수 있습니다. 계정 정보는 삭제 처리 전까지 보관하며, 확장 삭제만으로 서버 계정이 삭제되지는 않습니다.
베타 토큰으로 번역하면 인증 서버가 번역할 자막과 대상 언어를 받아 OpenAI에 전달합니다. 요청별 토큰 차감·상태·시각을 저장하고 번역 결과는 중복 요청 방지를 위해 최대 24시간 보관합니다. 베타 신청 메모, 초대 키 해시·등록 기록, 관리자 변경 기록과 사용량은 계정 운영을 위해 보관합니다. AI 자막 음원은 개인 PC 도우미의 yt-dlp·FFmpeg가 링크에서 추출합니다. 베타 계정은 추출한 음원을 Railway에서 운영자 OpenAI 키로 음성 인식한 자막을 받습니다. 운영자 키는 확장에 전달하지 않습니다. 베타 이용에는 개인 API 키가 필요하지 않습니다. 로그인 후 API 키 저장을 선택하면 키를 HTTPS로 받아 AES-256-GCM으로 암호화해 계정 ID·제공자·갱신 시각과 함께 보관합니다. 암호화 비밀값은 데이터베이스와 분리된 서버 환경 변수로 관리합니다. 키 복원은 로그인한 본인 계정에만 허용하며, 이메일 인증이 필요한 계정은 인증을 완료해야 합니다. 서버는 복원을 위해 키를 복호화할 수 있으므로 종단간 암호화는 아닙니다. 클라우드 호스팅 과정에서 연결·운영 정보가 Railway를 통해 처리되며 Railway 개인정보처리방침이 적용됩니다. 이메일 인증 또는 비밀번호 재설정을 요청하면 이메일 주소와 해당 코드를 운영자가 설정한 메일 제공자에 전달하여 메일을 보냅니다. 현재 테스트 발송은 Brevo를 사용하며 Brevo 개인정보처리방침이 적용됩니다. 서버에는 코드의 해시·만료 시각·시도 횟수와 24시간 발송 제한 기록을 보관하며 만료 후 정리합니다. 인증 완료 시각은 계정에 보관합니다. 비밀번호 재설정 코드는 이메일 인증 코드와 별도로 해시·만료 시각·시도 횟수와 24시간 발송 제한 기록을 보관합니다. 재설정 성공 시 코드를 폐기하고 이메일 소유를 확인한 시각을 기록하며 모든 기존 로그인 세션을 해제합니다. 새 비밀번호는 메일 제공자에 전달하지 않습니다.
처리하는 정보와 목적
YouTube 페이지의 자막 텍스트, 자막 시간, 현재 영상 식별자·주소, 재생 상태를 읽어 자막 창을 동기화합니다. 다른 웹사이트의 방문 기록을 수집하지 않습니다. YouTube 자막 모드에서는 영상·음성을 녹음하지 않습니다. AI 링크 자막은 개인 PC에서 영상 링크의 음원을 추출하며 탭 소리를 캡처하지 않습니다. 자막은 브라우저 메모리에서 처리합니다.
선택형 AI 링크 자막
현재 YouTube 영상 ID와 시간 구간을 기기 내부 주소 127.0.0.1:8790의 음원 도우미로 보냅니다. 도우미는 yt-dlp·FFmpeg로 최대 20초 단위 WAV를 준비합니다. 로그인 토큰이나 API 키는 도우미에 보내지 않습니다. 도우미가 실행 중인지 먼저 확인하며, 실패 시 서버 추출로 전환하지 않습니다.
베타 계정은 추출한 음원을 Railway에서 운영자 OpenAI 키로 음성 인식합니다. 확장이 WAV와 로그인 인증을 Railway 음성 인식 엔드포인트로 전송합니다. 번역할 원문과 대상 언어는 계정 서버를 거쳐 OpenAI로 보냅니다. 개인 키 모드에서는 확장이 음원과 원문 언어를 OpenAI에 직접 보내며, 번역할 원문과 용어집은 선택한 제공자에게 보냅니다. 개인 API 키는 음원 추출 서버나 로컬 도우미에 보내지 않습니다.
탭 소리 공유·마이크 캡처는 사용하지 않습니다. 추출 음원과 캐시는 메모리에서 처리하고 디스크에 저장하지 않습니다. 자막 종료 시 진행 중인 요청을 취소합니다. 이미 전송된 데이터는 각 제공자의 정책을 따릅니다. 이 PC 추출은 사용자 네트워크에서 YouTube·Google 미디어에 직접 연결하며 Decodo를 사용하지 않습니다. 도우미는 해당 PC의 루프백 연결만 받습니다. Mac 투명 자막 앱은 자막 표시를 담당합니다.
선택형 AI 번역
베타 번역은 계정 서버를 통해 제공하며 앞서 설명한 사용량 정책을 적용합니다. 개인 키 모드에서 사용자가 API 키를 등록하고 번역 사용을 켜면, 현재 및 앞으로 표시할 구간의 자막 텍스트와 대상 언어, 번역 지시문을 선택한 OpenAI 또는 Anthropic API에 직접 전송합니다. AI 요청에는 API 키를 해당 제공자의 인증 목적으로 전송합니다. 로그인 후 키를 저장할 때는 계정 서버에도 암호화 보관을 위해 전송합니다. 영상 주소·식별자를 번역 요청에 포함하지 않습니다. 번역을 끄면 새로운 번역 요청을 중단합니다. 이미 전송된 요청은 제공자 측에서 처리될 수 있습니다.
제공자의 정보 처리·보관에는 각각 OpenAI 정책과 Anthropic 정책 및 사용자의 API 계약이 적용됩니다. ChatGPT·Claude 구독료와 API 사용료는 별개입니다.
선택형 번역 용어집
사용자가 불러오거나 입력한 TXT·MD 용어집 내용은 브라우저 로컬 저장소에 저장합니다. 개인 API 키로 번역할 때 참고 자료로 자막과 함께 해당 번역 제공자에게 전송합니다. 파일 자체나 파일 경로는 전송하지 않으며, 모델 재학습에는 사용하지 않습니다. 설정에서 내용을 비운 뒤 저장하면 이후 요청에 포함하지 않습니다. 이미 제공자에게 전송된 내용에는 해당 제공자의 정책이 적용됩니다.
기기에 보관하는 정보
복원한 API 키는 Chrome 세션 저장소에만 보관합니다. 로그인 후 저장한 키는 계정 서버에 암호화해 남아 다른 PC나 다음 브라우저 세션에서도 같은 계정으로 로그인하면 복원됩니다. 로그아웃은 현재 기기의 키를 지웁니다. 연결 해제는 해당 제공자의 서버 저장 키와 현재 기기 사본을 삭제합니다. 다른 기기에 이미 복원한 키는 그 기기의 다음 계정 상태 확인·로그아웃·브라우저 세션 종료까지 남을 수 있습니다. 제공자에서 발급한 키 자체를 폐기하려면 제공자 설정에서 삭제하세요. 로그인 전 저장한 키는 서버로 보내지 않으며 브라우저 세션 종료 시 사라집니다. 스타일·언어·선택한 제공자·모델·번역 여부·프리셋은 Chrome 로컬 저장소에 보관합니다. 자막과 번역 캐시는 메모리에 임시 보관합니다.
투명 Mac 앱
사용자가 앱을 설치하고 6자리 연결 코드로 연결한 경우에만 사용합니다. 확장 프로그램은 현재·다음 자막, 번역 결과, 표시 스타일을 기기 내부 주소 127.0.0.1:8788로 전달합니다. 이 연결은 동일 기기의 HTTP 루프백 통신이며 페어링 토큰과 확장 출처를 확인합니다. API 키를 Mac 앱에 보내지 않습니다. 연결 토큰과 창 위치·표시 설정은 기기에 보관하며, 앱은 자막을 운영자 서버로 전송하지 않습니다.
삭제와 선택
설정에서 API 키를 삭제하고 번역을 끌 수 있습니다. Mac 앱 연결 해제로 연결 토큰을 제거할 수 있습니다. 자막 창과 YouTube 탭을 닫으면 해당 페이지의 자막 처리가 종료됩니다. Chrome에서 확장 프로그램을 제거하면 확장의 로컬 설정도 삭제됩니다. Mac 앱 메뉴 또는 동봉된 언인스톨러에서 앱과 연결·창 설정을 휴지통으로 옮길 수 있습니다. 설정 삭제 여부는 선택할 수 있으며 앱에 내장된 음원 도구는 앱과 함께 제거됩니다. Chrome 확장·클라우드 계정·API 키와 별도로 설치한 Windows 음원 도우미는 별도로 관리합니다. API 제공자에게 이미 전송된 데이터의 삭제는 해당 제공자에게 요청해야 합니다.
운영자 접근 및 공유
운영자는 계정 인증 서버와 AI 음성 인식 서버를 Railway에서 운영합니다. 로그인 서버는 개인 API 키의 암호화 보관과 본인 계정 복원을 처리하며, 베타 링크 자막은 Railway 음원 서버가 업로드된 음원을 OpenAI로 보내 처리하고 계정 서버가 원문 번역을 처리합니다. 개인 키 모드에서는 확장이 음원·자막과 API 키를 해당 제공자에게 직접 보냅니다. 로컬 도우미는 영상 ID·구간만 받아 사용자 PC에서 음원을 추출하며 계정 정보는 받지 않습니다. 분석 도구·광고 추적기를 포함하지 않습니다. 개인 정보를 판매하거나 광고, 신용 평가 목적으로 사용하지 않습니다. 문의 이메일을 보내면 주소와 문의 내용을 답변에 사용하며 처리 완료 후 90일 이내 삭제합니다. 이메일 제공자의 처리 정책이 적용됩니다.
English summary
Optional cloud accounts send email and password over HTTPS to the DualCore authentication server hosted on Railway. The server stores account records, salted password hashes and hashed 30-day session tokens on a persistent volume. Raw passwords are not stored. The extension stores the session token in trusted local storage. Logout revokes the current session. Contact the operator to request account deletion; uninstalling the extension does not delete the server account. The account server also handles managed translation, usage records and optional encrypted personal API key storage (AES-256-GCM). Only the signed-in owner can restore stored keys; the server can decrypt them for restoration. Logout clears the current device copy, while disconnecting a provider removes its stored account key. Translation results may be retained for up to 24 hours to prevent duplicate charges. Email verification and password reset requests send the email address and the corresponding code to the configured delivery provider, currently Brevo for testing. The server stores only a code hash, expiry and attempt count, limited send records for 24 hours, and the account verification timestamp. Expired verification records are cleaned up. Password reset codes have separate hashes, expiry times, attempt counts and 24-hour send records. Successful resets consume the code, confirm email ownership and revoke all existing sessions. New passwords are never sent to the email provider.
Optional AI link captions send the YouTube video ID and time range to a Windows/macOS helper at 127.0.0.1:8790. The helper uses yt-dlp and FFmpeg to prepare bounded WAV audio. The local helper receives no account session or API keys and listens only on loopback. There is no automatic change of extraction location. In managed beta mode, Railway transcribes uploaded audio with the operator's OpenAI key, and the account server sends caption text to OpenAI for translation. Personal-key mode sends audio directly from the extension to OpenAI and text to the chosen translation provider. Personal keys are not sent to the extractor or local helper.
No tab audio sharing or microphone capture is used. Extracted audio is processed in memory without disk storage. Closing captions cancels new work; provider policies apply to previously submitted data. The local helper connects directly from the user's network without Decodo. Authentication, managed AI and optional account key storage remain cloud services alongside local extraction. No advertising or analytics are included.