문서

보안 및 데이터 흐름

원본 소스 코드는 브라우저를 떠나지 않습니다. Ropeman의 Local-First 원칙을 설명합니다.

Ropeman의 가장 중요한 설계 원칙은 한 문장으로 요약됩니다. 원본 소스 코드는 어떠한 경우에도 브라우저를 떠나지 않습니다. 이 문서는 파일이 열리는 순간부터 다이어그램이 그려지기까지의 데이터 흐름을 단계별로 설명합니다.

핵심 원칙

  • 로컬 파싱 — 파일은 브라우저의 File System Access API로 브라우저 안에서만 읽히고, 브라우저 내부 파서가 AST(추상 구문 트리)를 추출합니다. 이 과정에서 네트워크 요청은 발생하지 않습니다.
  • 코드 구조 요약만 전송 — AI에는 AST에서 추출한 코드 구조 요약 만 전달됩니다. 이는 함수/클래스 이름, 시그니처, 임포트 관계 같은 구조 정보이며 기본 한도는 약 250 KB 입니다.
  • 키는 로컬에만 — API 키는 브라우저에만 저장되며 Ropeman 서버에 저장되지 않습니다.

데이터 흐름 단계

  1. 파일 접근 — 사용자가 폴더를 드롭하면 브라우저의 File System Access API를 통해 파일 핸들만 획득합니다. 파일 내용은 브라우저 메모리에만 존재합니다.
  2. AST 파싱 — 브라우저 내부 파서가 파일별로 AST를 만들고, 함수·클래스·임포트 같은 구조 정보만 추출합니다.
  3. 코드 구조 요약 생성 — AST에서 식별자, 시그니처, 최상위 주석만 모아 컴팩트한 형태로 만듭니다. 함수 본문, 문자열 리터럴, 비밀값 등은 포함되지 않습니다.
  4. AI 호출 — 선택된 모드에 따라 코드 구조 요약만 LLM에 전송됩니다. 응답은 노드와 엣지의 목록이며 브라우저에서 즉시 렌더링됩니다.
  5. 캐싱 — 결과는 브라우저 캐시에 저장돼 다음 세션에서 즉시 복원됩니다.

모드별 전송 경로

  • Demo — 브라우저 → Ropeman 엣지 프록시 → AI 제공사. 프록시는 요청을 중계만 하며 본문을 저장하지 않습니다.
  • API Key (BYOK) — 브라우저 → Ropeman 엣지 프록시 → AI 제공사. 사용자의 API 키가 헤더에 포함되지만, 프록시는 로깅하지 않습니다.
  • Bridge — 브라우저 → 로컬 Bridge 서버(localhost) → 로컬 CLI → AI 제공사. Ropeman 인프라를 전혀 거치지 않습니다.
  • WebGPU — 모든 추론이 기기 안에서 완료됩니다. 네트워크 요청이 발생하지 않습니다.

API 키 저장 및 처리

  • API 키는 사용자 브라우저에만 저장되며, Ropeman 서버로 전송되지 않습니다.
  • 키는 AI 요청이 발생하는 순간에만 메모리로 읽혀 요청 헤더에 실립니다.
  • 설정 모달의 “초기화” 버튼 또는 브라우저의 사이트 데이터 삭제로 언제든 제거할 수 있습니다.
  • 공유 PC나 타인의 브라우저에서 Ropeman을 쓸 때는 작업 종료 후 반드시 키를 삭제하시기 바랍니다.

개인정보 처리 원칙

  • 최소 수집 — 회원가입이 없으며, 사용자 식별 정보를 수집하지 않습니다.
  • 소스 코드 비보관 — 엣지 프록시는 요청 본문을 기록하지 않습니다. 로그는 에러 추적과 비율 제한을 위한 메타정보(IP 해시, 상태 코드, 바이트 수 등)만 남깁니다.
  • 제3자 공유 없음 — 코드 구조 요약은 사용자가 선택한 AI 제공사에만 전달되며, 그 외 제3자와 공유되지 않습니다.
  • 분석 도구 — 웹사이트 이용 통계는 쿠키와 지문 수집이 없는 익명 집계 도구로만 수집합니다.

더 자세한 모드 비교는 AI 모드 가이드를 참고하세요.