← 블로그로 돌아가기

Git GUI 텔레메트리 비교: 2026년 누가 당신을 추적하는가

comparison privacy

Git GUI 텔레메트리 비교: 2026 년에 누가 당신을 추적하는가

대부분의 데스크톱 애플리케이션은 사용 데이터를 수집합니다. Git GUI 도 예외가 아닙니다. 이 글에서는 관찰 가능한 네트워크 트래픽을 기반으로 네 가지 인기 Git 클라이언트 — GitKraken, Fork, SourceTree, GitSquid — 의 텔레메트리 동작을 비교합니다. 수치는 동일한 저장소를 열고 사용자 상호작용을 최소화한 상태에서 각 앱에 대해 24 시간 동안 패킷 캡처 세션을 진행한 결과입니다.

공개: 이 글은 GitSquid 웹사이트에 게시됩니다. 직접 수치를 재현할 수 있도록 방법론을 자세히 설명합니다.

왜 중요한가

"텔레메트리"는 "당신이 적극적으로 요청하지 않았는데도 애플리케이션이 벤더에 데이터를 전송한다"는 사실을 부드럽게 표현한 단어입니다. 종종 데이터는 정말로 무해합니다: 익명 사용 카운터, 크래시 보고서, 기능 플래그 확인 등. 때로는 더 많습니다: 어떤 버튼을 클릭하는지, 어떤 저장소를 열어두었는지, 어떤 기능을 시도했는지.

대부분의 사용자에게 이것은 문제가 되지 않습니다. 세 부류의 사용자에게는 엄격한 제약입니다:

  • 규제 산업. 의료, 금융, 국방, 정부. IT 검토 프로세스는 식별 가능한 데이터를 외부로 전송하는 모든 도구를 일상적으로 차단합니다.
  • NDA / 독점 작업. 저장소 이름이나 브랜치 이름에 고객 또는 제품 정보가 포함된 경우, 텔레메트리를 통해 이를 유출하는 것은 실질적인 우려 사항입니다.
  • 개인정보 보호를 중시하는 개발자. 일부 사람들은 익명화되어 있다고 주장하더라도 워크플로우 텔레메트리가 수집되는 것을 원치 않습니다.

방법론

각 앱에 대해:

  1. 이전 기록이 없는 Mac (M2, macOS 15) 에 새로 설치.
  2. 하나의 로컬 저장소로 구성 (GitSquid 의 소스 저장소, 원격 없는 합성 클론).
  3. 앱에서 저장소를 열고, 앱을 포커스한 상태로 24 시간 동안 유휴 상태 유지.
  4. mitmproxy 를 트랜스페어런트 모드로 사용해 네트워크 트래픽 캡처, 인증서는 시스템 수준에서 신뢰.
  5. 대상 도메인별로 요청 수를 카운트. 자동 업데이트 확인은 제외 (별도로 카운트).

저장소에는 원격이 구성되어 있지 않았으므로, 24 시간 윈도우 동안의 모든 송신 트래픽은 텔레메트리, 라이선스 검증, 또는 자동 업데이트 확인 중 하나였습니다. 셋을 구별하는 것은 간단합니다: 라이선스 검증은 단일 라이선스 서버 엔드포인트를 한 번 호출합니다; 자동 업데이터는 알려진 릴리스 매니페스트 URL 을 한두 번 호출합니다; 그 외는 모두 텔레메트리입니다.

결과

도구 텔레메트리 요청 / 24h 자동 업데이트 확인 라이선스 검증 총 송신
GitSquid011 (Pro 한정) / 0 (Free)실행 시 1-2, 이후 0
Fork02 (매니페스트 폴링)02
SourceTree~8021 (Atlassian 로그인)~83
GitKraken~1402~24 (시간당 하트비트)~166

네 앱 중 두 개는 사실상 아무것도 보내지 않습니다. 두 개는 사용자 상호작용 없이도 하루에 수십에서 수백 개의 요청을 보냅니다.

요청은 어디로 가는가

GitKraken

24 시간 윈도우 동안 관찰된 대상:

  • api.gitkraken.com — 라이선스 하트비트, 계정 세션 갱신, 기능 플래그 확인.
  • analytics.gitkraken.com — 사용 분석. 모든 탐색, 패널 열기, Git 작업이 이벤트를 생성합니다.
  • sentry.io — 오류 보고 (크래시뿐 아니라 경고에서도 발생).
  • statsig.com — 기능 플래그 및 A/B 테스트 평가.
  • logrocket.com 일부 세션에서 — 활성화된 경우 세션 리플레이.

SourceTree

  • id.atlassian.com — 계정 세션 갱신, 주기적으로 호출됨.
  • sourcetree.atlassian.com — 기능 사용 분석.
  • sentry.io — 오류 보고.
  • analytics.atlassian.com — Atlassian 제품 간 분석.

Fork

  • git-fork.com/sparkle — 자동 업데이트 매니페스트. 24 시간 윈도우에서 두 번 확인. 텔레메트리 엔드포인트 접촉 없음.

GitSquid

  • github.com/TheMax98000/gitsquid-releases — 자동 업데이트 매니페스트 (`latest.json`). 실행 시 한 번 가져오기. v2.7 기준 이 확인은 필수이며 사용자가 비활성화할 수 없습니다 (설정 토글은 로드맵에 포함).
  • gitsquid.dev/api/validate-license — 라이선스 검증. 실행 시 Pro 사용자에 한해 한 번 요청 (Free 사용자는 이 엔드포인트를 호출하지 않음). 요청 본문에는 쿼리 매개변수로 라이선스 키만 포함됩니다 — 머신 ID 없음, 사용 데이터 없음, 텔레메트리 없음. API 가 도달 불가능하면 앱은 최근 캐시된 결과로, 그 다음 키의 로컬 체크섬 검증으로 폴백합니다. 따라서 Pro 라이선스는 오프라인에서도 계속 작동하지만, 네트워크가 사용 가능할 때 온라인 확인이 기본 경로입니다.
  • 어느 시점에서도 텔레메트리 엔드포인트 접촉 없음. 분석 없음, 이벤트 추적 없음, 크래시 보고 서비스 없음, 기능 플래그 서비스 없음.

데이터의 실제 모습

요청 수는 한 가지 측면입니다. 각 요청의 내용은 다른 측면입니다. GitKraken 의 analytics POST 몇 개를 샘플링했습니다:

  • 저장소 경로 (전체 로컬 경로, 해시되었지만 솔트가 있으면 복원 가능).
  • 현재 체크아웃된 브랜치의 이름.
  • 저장소의 커밋 수.
  • 수행된 Git 작업과 빈도.
  • 열린 UI 패널.
  • 운영체제, 앱 버전, 화면 해상도.

이들 중 어느 것도 악의적이지 않으며, GitKraken 의 개인정보 보호정책에서 공개됩니다. 그러나 NDA 하의 사용자에게 "현재 체크아웃된 브랜치 이름"은 `feature/customer-acme-bug-fix` 를 제 3 자 서버로 유출할 수 있으며, 이는 정확히 NDA 가 일반적으로 금지하는 것입니다.

SourceTree 의 페이로드는 더 작고 더 익명화되어 있지만 여전히 저장소 핑거프린트와 기능 사용 이벤트를 포함합니다.

끌 수 있는가?

도구 옵트아웃 가능?
GitKraken부분적 — 일부 분석은 비활성화 가능하지만 전부는 아님 (라이선스 하트비트는 필수).
SourceTree부분적 — 분석 옵트아웃은 존재하지만 계정 세션 갱신은 필수.
Fork해당 없음 — 옵트아웃할 텔레메트리가 없음. 자동 업데이트는 비활성화 가능.
GitSquid해당 없음 — 옵트아웃할 텔레메트리가 없음. 자동 업데이트 확인과 라이선스 검증은 모두 실행 시 한 번 발생하며 현재 설정에서 비활성화할 수 없음. 두 가지에 대한 토글은 로드맵에 포함.

GitKraken 과 SourceTree 의 경우, "텔레메트리 끄기"는 "송신 트래픽 없음"과 같지 않습니다. 라이선스 / 계정 세션 갱신은 관계없이 계속됩니다.

IT 검토를 위해

많은 기업 IT 부서는 데스크톱 도구를 승인하기 전에 검토합니다. 그들이 묻는 질문:

  • 계정이 필요한가? — GitSquid 와 Fork 는 아니오. GitKraken 과 SourceTree 는 예.
  • 홈으로 전화를 거는가? — GitSquid 의 경우: 예, 그러나 실행 시에만 (업데이트 확인 1 회 + Pro 의 경우 라이선스 검증 1 회). 분석 없음, 반복적인 백그라운드 트래픽 없음. Fork 의 경우: 자동 업데이트 매니페스트만. GitKraken 과 SourceTree 의 경우: 예, 세션 내내 반복적으로.
  • 라이선스 검증이 오프라인 가능한가? — GitSquid 의 경우: 먼저 온라인 시도 (Pro 한정), 실패 시 최근 캐시된 결과로 폴백, 둘 다 실패하면 로컬 체크섬으로 폴백. Pro 키는 인터넷 없이도 계속 작동; 네트워크가 사용 가능할 때 온라인 확인이 기본값. Fork 의 경우: 일회성 라이선스, 검증 불필요. GitKraken 의 경우: 온라인 필요.
  • 저장소 / 브랜치 이름을 유출하는가? — GitSquid 와 Fork 는 아니오. GitKraken 은 예 (analytics 페이로드 내), SourceTree 는 부분적.

에어갭 환경에서는 GitSquid 의 자동 업데이트 확인과 라이선스 검증이 단순히 조용히 실패하고 캐시 / 오프라인 경로로 폴백합니다. 앱은 계속 작동하지만, IT 는 실행 시 발생하는 두 송신 요청에 대해 알고 싶을 수 있습니다. 향후 두 가지를 모두 건너뛰는 설정 토글이 추가되면 엄격한 환경에서의 배포가 더 간편해질 것입니다.

엄격하게 규제된 환경에서는 GitSquid 와 Fork 가 검토를 통과하기 가장 쉽습니다 — 유일한 송신 트래픽이 제한되어 있거나 (GitSquid 는 실행 시에만) 업데이트 전용 (Fork) 입니다. GitKraken 과 SourceTree 는 협상된 데이터 처리 계약 없이는 일반적으로 통과하지 못합니다.

이를 재현하기

위의 수치는 트랜스페어런트 프록시 모드의 mitmproxy 로 측정되었습니다. 자신의 머신에서 재현하려면:

  1. mitmproxy 설치: Mac 에서 brew install mitmproxy, Linux 에서는 패키지 관리자에 해당하는 명령.
  2. 시스템을 `localhost:8080` 을 통해 HTTPS 를 라우팅하도록 구성.
  3. mitmproxy CA 를 시스템 수준에서 신뢰.
  4. Git 클라이언트를 실행하고 로컬 저장소를 열고 포커스 상태로 두기.
  5. mitmproxy 의 UI 에서 라이브 요청 로그 관찰.

텔레메트리가 많은 클라이언트에서는 요청 수가 실시간으로 증가하고, 다른 클라이언트에서는 평평하게 유지되는 것을 볼 수 있습니다.

솔직한 견해

텔레메트리 자체는 악이 아닙니다. 소프트웨어 벤더는 이를 사용해 버그를 수정하고, 기능의 우선순위를 정하고, 사용자가 누구인지 이해합니다. GitKraken 의 개인정보 보호정책은 무엇이 수집되는지에 대해 투명하며, 데이터는 실제로 더 나은 제품을 만드는 데 도움이 됩니다.

선택은 그 트레이드오프를 원하는지 여부입니다. 소비자용 도구 (브라우저, 음악 플레이어) 에서는 대부분의 사람들이 이를 받아들입니다. 잠재적으로 민감한 코드 위에서 실행되는 개발자 도구의 경우, 더 많은 개발자가 거부합니다 — 특히 텔레메트리 없는 대안이 추적형만큼 유능해짐에 따라.

"최소 송신, 분석 없음, 제 3 자 추적기 없음"이 요구사항 목록에 있다면, GitSquid 를 다운로드하세요. 실행 시 1-2 개의 요청 (업데이트 확인 + Pro 의 경우 라이선스 검증) 이 발생하고, 이후 세션 동안 아무것도 발생하지 않습니다. 같은 제약이 Fork (일회성 59 달러, Linux 없음) 에도 대체로 적용됩니다. 두 제품 모두 GitKraken 과 SourceTree 가 일반적으로 통과하지 못하는 IT 검토를 통과합니다.