Git GUI 텔레메트리 비교: 2026 년에 누가 당신을 추적하는가
대부분의 데스크톱 애플리케이션은 사용 데이터를 수집합니다. Git GUI 도 예외가 아닙니다. 이 글에서는 관찰 가능한 네트워크 트래픽을 기반으로 네 가지 인기 Git 클라이언트 — GitKraken, Fork, SourceTree, GitSquid — 의 텔레메트리 동작을 비교합니다. 수치는 동일한 저장소를 열고 사용자 상호작용을 최소화한 상태에서 각 앱에 대해 24 시간 동안 패킷 캡처 세션을 진행한 결과입니다.
공개: 이 글은 GitSquid 웹사이트에 게시됩니다. 직접 수치를 재현할 수 있도록 방법론을 자세히 설명합니다.
왜 중요한가
"텔레메트리"는 "당신이 적극적으로 요청하지 않았는데도 애플리케이션이 벤더에 데이터를 전송한다"는 사실을 부드럽게 표현한 단어입니다. 종종 데이터는 정말로 무해합니다: 익명 사용 카운터, 크래시 보고서, 기능 플래그 확인 등. 때로는 더 많습니다: 어떤 버튼을 클릭하는지, 어떤 저장소를 열어두었는지, 어떤 기능을 시도했는지.
대부분의 사용자에게 이것은 문제가 되지 않습니다. 세 부류의 사용자에게는 엄격한 제약입니다:
- 규제 산업. 의료, 금융, 국방, 정부. IT 검토 프로세스는 식별 가능한 데이터를 외부로 전송하는 모든 도구를 일상적으로 차단합니다.
- NDA / 독점 작업. 저장소 이름이나 브랜치 이름에 고객 또는 제품 정보가 포함된 경우, 텔레메트리를 통해 이를 유출하는 것은 실질적인 우려 사항입니다.
- 개인정보 보호를 중시하는 개발자. 일부 사람들은 익명화되어 있다고 주장하더라도 워크플로우 텔레메트리가 수집되는 것을 원치 않습니다.
방법론
각 앱에 대해:
- 이전 기록이 없는 Mac (M2, macOS 15) 에 새로 설치.
- 하나의 로컬 저장소로 구성 (GitSquid 의 소스 저장소, 원격 없는 합성 클론).
- 앱에서 저장소를 열고, 앱을 포커스한 상태로 24 시간 동안 유휴 상태 유지.
- mitmproxy 를 트랜스페어런트 모드로 사용해 네트워크 트래픽 캡처, 인증서는 시스템 수준에서 신뢰.
- 대상 도메인별로 요청 수를 카운트. 자동 업데이트 확인은 제외 (별도로 카운트).
저장소에는 원격이 구성되어 있지 않았으므로, 24 시간 윈도우 동안의 모든 송신 트래픽은 텔레메트리, 라이선스 검증, 또는 자동 업데이트 확인 중 하나였습니다. 셋을 구별하는 것은 간단합니다: 라이선스 검증은 단일 라이선스 서버 엔드포인트를 한 번 호출합니다; 자동 업데이터는 알려진 릴리스 매니페스트 URL 을 한두 번 호출합니다; 그 외는 모두 텔레메트리입니다.
결과
| 도구 | 텔레메트리 요청 / 24h | 자동 업데이트 확인 | 라이선스 검증 | 총 송신 |
|---|---|---|---|---|
| GitSquid | 0 | 1 | 1 (Pro 한정) / 0 (Free) | 실행 시 1-2, 이후 0 |
| Fork | 0 | 2 (매니페스트 폴링) | 0 | 2 |
| SourceTree | ~80 | 2 | 1 (Atlassian 로그인) | ~83 |
| GitKraken | ~140 | 2 | ~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 로 측정되었습니다. 자신의 머신에서 재현하려면:
- mitmproxy 설치: Mac 에서
brew install mitmproxy, Linux 에서는 패키지 관리자에 해당하는 명령. - 시스템을 `localhost:8080` 을 통해 HTTPS 를 라우팅하도록 구성.
- mitmproxy CA 를 시스템 수준에서 신뢰.
- Git 클라이언트를 실행하고 로컬 저장소를 열고 포커스 상태로 두기.
- mitmproxy 의 UI 에서 라이브 요청 로그 관찰.
텔레메트리가 많은 클라이언트에서는 요청 수가 실시간으로 증가하고, 다른 클라이언트에서는 평평하게 유지되는 것을 볼 수 있습니다.
솔직한 견해
텔레메트리 자체는 악이 아닙니다. 소프트웨어 벤더는 이를 사용해 버그를 수정하고, 기능의 우선순위를 정하고, 사용자가 누구인지 이해합니다. GitKraken 의 개인정보 보호정책은 무엇이 수집되는지에 대해 투명하며, 데이터는 실제로 더 나은 제품을 만드는 데 도움이 됩니다.
선택은 그 트레이드오프를 원하는지 여부입니다. 소비자용 도구 (브라우저, 음악 플레이어) 에서는 대부분의 사람들이 이를 받아들입니다. 잠재적으로 민감한 코드 위에서 실행되는 개발자 도구의 경우, 더 많은 개발자가 거부합니다 — 특히 텔레메트리 없는 대안이 추적형만큼 유능해짐에 따라.
"최소 송신, 분석 없음, 제 3 자 추적기 없음"이 요구사항 목록에 있다면, GitSquid 를 다운로드하세요. 실행 시 1-2 개의 요청 (업데이트 확인 + Pro 의 경우 라이선스 검증) 이 발생하고, 이후 세션 동안 아무것도 발생하지 않습니다. 같은 제약이 Fork (일회성 59 달러, Linux 없음) 에도 대체로 적용됩니다. 두 제품 모두 GitKraken 과 SourceTree 가 일반적으로 통과하지 못하는 IT 검토를 통과합니다.