GeoLeaks Scanner

iOS Geo & Device Signals Analysis

MOBILE APPIn Progress

About the Project

GeoLeaks Scanner is an iOS application that collects and displays comprehensive device and network signals that can infer geographic location without explicit location permissions. It analyzes network paths, CDN edge locations, IPv6 prefixes, latency patterns to global servers, carrier information, and deep device settings to demonstrate how much location information leaks through standard APIs. The app also probes the local network for gateway information and reads the default MapKit region as another potential location hint, all while using permissionless design principles to reveal the privacy implications of seemingly innocent system data.

Key Features

  • Permissionless location inference using a dozen different signals.

  • CDN edge fingerprinting across CloudFront, Fastly, Akamai, and Cloudflare.

  • Network latency triangulation by measuring TCP connect and TTFB times to global AWS regions.

  • IPv6 regional prefix analysis for coarse location hints.

  • LAN gateway and device discovery with multiple reverse DNS resolution methods (getnameinfo, CFHost, and direct UDP DNS queries).

  • Detection of Apple & Google captive portal responses.

  • Deep device fingerprinting: hardware model, screen metrics, uptime, thermal state, and storage analysis.

  • Carrier, radio technology (5G/LTE), and SIM card analysis via CoreTelephony.

  • Probing MapKit's default region to reveal Apple's estimated coarse location for the device's IP.

  • Comparison of User-Agent strings from URLSession and WKWebView.

Challenges & Solutions

  • Working entirely within the iOS privacy sandbox to demonstrate what any app can access without special entitlements.

  • Implementing multiple DNS resolution fallbacks, including a custom UDP DNS packet builder and parser for local network queries.

  • Managing dozens of concurrent network operations efficiently using Swift's async/await and TaskGroups.

  • Parsing low-level C-style network data structures from Darwin's getifaddrs API in Swift.

  • Ensuring the UI remains responsive and provides real-time feedback during intensive, multi-threaded network scanning.

Tech Stack

Frontend

SwiftUIMapKit

Backend

SwiftSwift Concurrency (async/await)

Tools

Network.frameworkCoreTelephonyStoreKitPassKitCoreLocationWebKitDarwin Sockets (getifaddrs)OSLog

Tags

#iOS#Privacy#Security#Swift#SwiftUI#Swift Concurrency#Network Analysis#Location Intelligence