연습 기록과 계정 정보
적용일: 2026년 9월 21일
로그인 없이 연습할 때
무작위 브라우저 쿠키로 풀이 코드, 북마크, 힌트 열람과 학습 기록을 구분합니다. 쿠키는 최대 1년 동안 유지됩니다. 쿠키를 지우면 기존 기록에 다시 접근하지 못할 수 있어 환경 설정의 백업 기능을 권장합니다.
Google 또는 GitHub로 로그인할 때
계정 식별자, 이름, 이메일과 프로필 이미지 주소를 로그인 제공자에서 받아 계정을 생성합니다. 프로필의 소개는 선택 사항입니다. 비밀번호는 수집하지 않으며 Google Drive 파일이나 GitHub 저장소를 읽을 권한을 요청하지 않습니다. 로그인 세션은 최대 30일이며 프로필에서 다른 기기의 세션을 종료할 수 있습니다. 로그인 세션에는 접속 IP와 브라우저 정보도 저장됩니다. OAuth 토큰은 암호화해 저장합니다.
AI에 전달되는 내용
문제 생성 시 선택한 분야, 언어, 난이도, 주제와 중복 방지용 문제 제목을 OpenAI에 전달합니다. 풀이 검토 시 문제와 제출 코드를 전달하며, 인수인계 훈련에서는 작성한 이해, 판단, 검증 및 인수인계 메모도 함께 전달합니다. 맞춤 AI 질문을 요청하면 원본과 현재 코드, 예측과 이유, 원본의 브라우저 실행 결과도 전달합니다. 입문 실습의 AI 질문에는 선택한 미션, 예상과 이유, 모의 조작 기록 및 수정 요청을 전달합니다. 이름, 이메일, 소개는 프롬프트에 포함하지 않습니다. 코드나 주제에 비밀번호, API 키, 개인 정보를 입력하지 마세요. OpenAI 요청은 store:false로 전송합니다. 공급자의 API 데이터 보관 정책은 별도로 적용됩니다.
저장과 공유
핏의 시작 가이드에서 AI 추천을 요청하면 선택한 개발 경험, 학습 목표, 가능한 시간과 최근 대화(최대 이전 3회)를 OpenAI에 전달합니다. 기존 풀이 코드, 학습 기록, 이름이나 이메일을 자동으로 읽어 보내지 않습니다. AI 없이 선택한 답변으로 추천받을 수도 있습니다. 가이드 대화는 현재 탭의 메모리에만 남고 새로고침하면 지워집니다. 서버에는 대화 원문을 저장하지 않으며 사용량, 응답 시간과 호출 성공 여부만 기록합니다. 첫 방문 안내를 숨긴 여부는 브라우저에 보관합니다. AI 가이드에는 별도의 이용 한도와 서비스 공용 한도가 적용됩니다.
예측, 분석 메모와 실행 결과는 코드 초안과 함께 개인 기록으로 저장합니다. 입문 실습의 예상, 관찰, 수정 요청과 응용 기록은 별도 개인 학습 기록으로 저장합니다. 맞춤 질문의 응답과 도움 사용 이력도 계정 또는 게스트 연습실에 보관합니다. 코드 실행 자체는 브라우저 안에서 이루어지며 AI 호출이 아닙니다. 생성한 문제는 공개 보관함에 영구 저장되어 누구나 풀 수 있습니다. 개인의 풀이 코드, 진도와 프로필은 다른 이용자에게 공개하지 않습니다. 로그인 후 기록은 계정에 저장되며 로그인 전 기록과 자동으로 합쳐지지 않습니다. 일일 생성 한도를 계정에 저장하고, 남용 방지를 위해 접속망을 비밀키로 해시한 값을 일시적으로 사용합니다. Vercel에서 서비스를 제공하며 Neon PostgreSQL에 데이터를 저장합니다.
내 프로젝트 이해도를 점검할 때
본인 소유의 공개 서비스 주소, 자바스크립트 실행 후 읽은 공개 본문과 화면 이미지, 작성한 설명과 답변을 OpenAI에 전달합니다. 공개 페이지는 앱 비밀정보가 없는 Vercel Sandbox의 새 브라우저에서 수집합니다. 소스 저장소 링크는 공개 저장소의 특정 커밋에서 선택한 코드 발췌를 수집하며, 이를 OpenAI에 전달해 질문과 맞춤 연습, 프로젝트 AI 활용 학습을 생성합니다. 코드 읽기 추천이 활성화된 경우 선택한 공개 코드 발췌와 프로젝트 요약을 TypeSafe AI에도 전달해 먼저 살펴볼 코드 구간을 추천합니다. 화면 이미지, API 키와 계정 정보는 TypeSafe AI에 보내지 않습니다. 공급자의 데이터 보관 정책이 별도로 적용됩니다. 로그인 후 화면이나 비공개 저장소에는 접근하지 않습니다. 질문, 평가, 맞춤 연습과 진행 기록, AI 활용 학습의 답변과 적용 메모, 화면 이미지와 분석 근거는 본인 계정에 저장되며 점검 화면에서 이전 기록을 계속 불러올 수 있습니다. 제출 전 답변은 현재 탭의 브라우저 저장소에 계정별로 보관됩니다. 점검 화면에서 각 기록을 삭제할 수 있고, 기존 답변을 보관하면서 보완 답변을 추가할 수 있습니다. 직접 작성한 확인 기록은 서버에 저장하지만 자동으로 AI에 전송하지 않습니다. 환경 설정의 학습 기록 백업에는 프로젝트 주소, 수집한 화면, 분석 근거, 확인 기록과 이전 답변도 포함됩니다. 제출 전 브라우저 초안은 포함되지 않습니다. AI 호출을 시작한 요청은 실패해도 이용 한도에 포함될 수 있습니다.
추천 메뉴와 보안 설정 점검
선택한 작업 공간은 현재 브라우저에만 저장하며 AI에 보내지 않습니다. 로그인과 로그아웃에도 유지되어 같은 브라우저를 사용하는 사람에게 동일하게 적용됩니다. 이전 개발 경험과 이용 목적 선택은 대응하는 타입으로 옮깁니다. 타입 변경은 학습 기록이나 이용 권한을 바꾸지 않습니다. 브라우저 데이터를 지우면 이 선택도 초기화됩니다. 보안 점검은 입력한 공개 HTTPS 페이지의 응답을 읽고 규칙으로 분류합니다. 원본 HTML, 쿠키 값과 결과를 데이터베이스나 AI 제공자에 저장하거나 전달하지 않습니다. 입력한 주소, 점검 결과와 직접 적은 확인 메모는 현재 탭의 브라우저 저장소에 계정별로 임시 보관하여 관련 실습에서 돌아오거나 새로고침할 때 복원합니다. 로그인 전 기록은 게스트 연습실로 구분하며 다른 계정에 표시하지 않습니다. 이 기록은 다른 탭이나 기기에 동기화되지 않고 학습 기록 백업에도 포함되지 않습니다. 점검 화면의 임시 기록 지우기 또는 브라우저 데이터 삭제로 지울 수 있습니다. 확인 기록 파일은 사용자가 저장 버튼을 누를 때 내려받으며 공개 점검 결과와 세 가지 수동 확인 메모를 포함합니다. 요청 한도 관리를 위해 세션, 해시한 접속망과 대상 호스트 식별자를 사용합니다.
소유권 확인 후 CORS 테스트는 계정과 서비스 주소에 연결된 서명 파일을 확인하고, 입력한 주소에 세 가지 조건의 GET 요청을 보냅니다. 로그인 쿠키나 인증 토큰은 대상에 보내지 않으며 응답 본문은 보관하지 않습니다. 비교 결과는 현재 화면에만 남고 파일로 저장할 수 있습니다. 가져온 ZAP 보고서는 브라우저 안에서 처리하며 서버나 AI에 보내지 않습니다. 가져오기 결과도 페이지를 떠나면 사라집니다.
마이크로 답변할 때
음성 입력 버튼을 눌렀을 때만 브라우저에 마이크 권한을 요청합니다. 음성 인식은 브라우저가 제공하는 기능을 사용하며, 브라우저에 따라 음성이 해당 제공자의 서버로 전송될 수 있습니다. 코드핏 서버는 음성 파일을 수집하거나 보관하지 않습니다. 인식된 텍스트는 직접 입력한 답변과 같은 학습 기록으로 저장됩니다. 입력을 마치거나 화면을 떠나면 음성 인식을 종료합니다. 지원하지 않는 브라우저에서는 직접 입력할 수 있습니다.
정보 관리와 문의
프로필에서 이름과 소개를 수정하고 환경 설정에서 코딩, 입문 실습과 프로젝트 학습 기록을 함께 내려받거나 가져올 수 있습니다. 가져오기는 기존 기록을 덮어쓰지 않습니다. 입문 실습의 미션별 내려받기도 지원합니다. 계정 정보와 기록 삭제 등 문의는 운영자 GitHub 프로필의 연락처를 이용해 주세요. 공개 이슈에 이메일이나 비공개 코드를 게시하지 마세요.
