Loupe – 네이티브 앱이 무엇을 볼 수 있는지에 대한 인식을 높이는 iOS 앱
요약
Loupe는 iOS 및 iPadOS 기기에서 서드파티 앱이 수집할 수 있는 디바이스 핑거프린팅 정보를 실시간으로 보여주는 앱입니다. 사용자가 자신의 기기에서 노출되는 수동적, 권한 필요, 고급 신호들을 직접 확인하여 개인정보 보호 인식을 높일 수 있도록 돕습니다.
핵심 포인트
- 디바이스 핑거프린팅을 통해 앱이 사용자를 식별하는 방식을 시각화함
- 수동적, 권한 필요, 고급 신호의 세 가지 계층으로 데이터 분류
- 수집된 데이터는 외부로 전송되지 않고 기기 내에서만 처리됨
- AI 코딩 도구를 활용하여 프로젝트를 제작함
Loupe
Loupe는 디바이스 핑거프린팅 (Device Fingerprinting) 표면을 직접 체험할 수 있는 iOS 및 iPadOS 앱입니다. 이 앱은 모든 서드파티 (Third-party) 앱이 호출할 수 있는 것과 동일한 공개 iOS API로부터 실제 값을 읽어와 사용자에게 가공되지 않은 상태로 보여줍니다. 목적은 간단합니다. 당신의 iPhone이 조용히 노출하고 있는 정보가 무엇인지, 그리고 각 측정값이 왜 앱이 당신을 다시 식별하는 데 도움이 되는지를 확인하는 것입니다.
트래커 (Trackers)는 온라인에서 당신을 식별하기 위해 이름, 이메일 또는 위치 정보가 반드시 필요하지 않습니다. 각 측정값 자체가 반드시 고유한 것은 아니지만, 이들이 모이면 앱과 웹사이트를 가로질러 당신을 따라다니는 핑거프린트 (Fingerprint)를 형성합니다.
<p align="center"> <a href="https://apps.apple.com/app/id6766152470"><img src="docs/images/app-store-badge.svg" alt="Download Loupe on the App Store" height="48"></a> </p> <p align="center"> <img src="docs/images/iphone-1.png" alt="Loupe screenshot showing the passive signal category" width="200"> <img src="docs/images/iphone-2.png" alt="Loupe screenshot showing the needs permission signal category" width="200"> <img src="docs/images/iphone-3.png" alt="Loupe screenshot showing some highlights from what apps can see" width="200"> </p>신호(Signals)가 구성되는 방식
Loupe는 접근 비용을 반영하여 모든 측정값을 세 가지 계층으로 그룹화합니다:
- Passive (수동적) — 어떠한 프롬프트(Prompt) 없이도 모든 앱에서 볼 수 있는 정보 (지역 설정, 시간대, 화면, 배터리 등).
- Needs Permission (권한 필요) — iOS 프롬프트를 트리거하는 측정값 (연락처, 사진, 위치, 캘린더).
- Advanced (고급) —
canOpenURL을 통한 URL 스킴 프로빙 (URL-scheme probing)이나 재설치 시에도 유지되는 키체인 (Keychain) 지속성 등 공개 API의 영리한 사이드 채널 (Side-channel) 활용.
개인정보 보호 (Privacy)
사용자가 명시적으로 내보내지 않는 한, Loupe가 읽은 그 어떤 것도 기기를 떠나지 않습니다. 값은 집계(Aggregation)나 해싱 (Hashing) 없이 가공되지 않은 상태로 표시됩니다. 그 어떤 것도 업로드, 동기화 또는 공유되지 않습니다.
제작 방식에 관한 참고 사항
Loupe는 거의 전적으로 AI 코딩 도구에 의해 작성되었습니다.
빌드 (Building)
Xcode 26 이상의 버전이 필요합니다.
code/Loupe.xcodeproj를 엽니다.code/Config/Signing.local.xcconfig.example을code/Config/Signing.local.xcconfig로 복사하고, 본인의DEVELOPMENT_TEAM및 번들 식별자 (bundle identifiers)를 입력합니다. 이 파일은 gitignored 처리되어 있으며 절대 공개되지 않습니다.- 기기 또는 시뮬레이터에서 빌드하고 실행합니다.
이 프로젝트는 Xcode의 빌드 가능한 폴더 (folder references)를 사용하므로, 프로젝트 파일을 편집할 필요 없이 새로운 Swift 파일이 자동으로 인식됩니다.
macOS
Loupe는 macOS용으로도 빌드됩니다. Mac 버전은 대부분 완성되었으나, 다듬기 전까지 몇 가지 작업이 더 필요합니다.
프로젝트 지원하기
Loupe는 무료이며 오픈 소스입니다. 만약 이 프로젝트가 앱들이 여러분의 기기에 대해 조용히 학습할 수 있는 내용을 확인하는 데 도움이 되었다면, 이러한 작업을 더 많이 지원할 수 있는 가장 좋은 방법은 iPhone 및 iPad를 위한 개인정보 보호 우선 브라우저인 Psylo를 사용해 보는 것입니다. Psylo는 프록시 기반 브라우징 (proxy-backed browsing), 격리된 탭 (isolated tabs), 그리고 안티 핑거프린팅 (anti-fingerprinting) 보호 기능을 제공합니다.
또한 우리가 왜 Psylo를 만들었는지에 대해 읽어보실 수 있습니다.
라이선스 (License)
**소스 코드 (source code)**는 MIT License에 따라 배포됩니다.
Loupe 이름과 로고, 앱 아이콘, 기타 모든 이미지 및 아이콘, 그리고 디자인 소스 파일은 © Mysk 소유이며 모든 권리가 예약되어 있으며, MIT 라이선스의 적용을 받지 않습니다.
정보 (About)
Loupe는 Mysk에서 제작되었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN AI Posts의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기