Loupe: See What Your iPhone Exposes to Apps and Trackers
Loupe is an open-source iOS app that reveals the device fingerprinting data any app can access, from passive signals to advanced side-channel techniques.
What Is Loupe?
Loupe is a free, open-source iOS and iPadOS app developed by Mysk Research. It gives you a hands-on tour of the device fingerprinting surface by reading real values from public iOS APIs — the same ones any third-party app can call — and displaying them raw. The goal is simple: show you what your iPhone quietly exposes and why each piece of data helps an app recognize you again.
Trackers don't need your name, email, or location to identify you. Each reading may not be unique on its own, but together they form a fingerprint that follows you across apps and websites.
How Signals Are Organized
Loupe groups every reading into three tiers, reflecting the cost of access:
- Passive — visible to any app with no prompt at all. This includes locale, time zone, screen dimensions, battery level, and more.
- Needs Permission — readings that trigger an iOS prompt. Examples include contacts, photos, location, and calendars.
- Advanced — clever side-channel uses of public APIs, such as URL-scheme probing via
canOpenURLand Keychain persistence across reinstalls.
Why This Matters for Developers
As a developer, you may not realize how much data your app can silently collect. Loupe makes this visible. For instance, the passive category includes:
- Locale and language settings — can hint at geographic region.
- Time zone — often correlates with location.
- Screen brightness and battery state — can be used to differentiate devices.
- Installed fonts — a highly unique fingerprint vector.
- System uptime — helps estimate user behavior patterns.
These are all accessible without any permission prompt. Loupe reads them using the same APIs your app would use, like Locale.current, UIDevice.current, and UIScreen.main.
Privacy First
Nothing Loupe reads leaves your device unless you explicitly export it. Values are shown raw, without aggregation or hashing. No data is uploaded, synced, or shared. This is a local-only educational tool.
Building Loupe Yourself
If you want to inspect the code or run it on your own device:
- Clone the repository:
git clone https://github.com/mysk-research/loupe.git - Open
code/Loupe.xcodeprojin Xcode 26 or newer. - Copy
code/Config/Signing.local.xcconfig.exampletocode/Config/Signing.local.xcconfigand fill in your ownDEVELOPMENT_TEAMand bundle identifiers. This file is gitignored. - Build and run on a device or simulator.
The project uses Xcode's buildable folders (folder references), so new Swift files are picked up automatically with no need to edit the project file.
macOS Support
Loupe also builds for macOS. The Mac version is mostly complete, but a few features still need polish before it's ready for prime time.
Support the Project
Loupe is free and open source. If it helped you understand what apps can quietly learn about your device, consider supporting Mysk by trying Psylo, their privacy-first browser for iPhone and iPad. Psylo offers proxy-backed browsing, isolated tabs, and anti-fingerprinting protections.
You can also read why they built Psylo.
License
The source code is released under the MIT License. However, the Loupe name and logo, app icon, all other images and icons, and design source files are © Mysk, all rights reserved, and are not covered by the MIT license.
Final Thoughts
Loupe is an essential tool for any iOS developer or privacy-conscious user. It demystifies device fingerprinting by showing exactly what data is accessible and how it can be combined to create a unique identifier. By understanding this surface, you can better protect your users — and yourself.
Check out the GitHub repository to get started.
Source
mysk-research/loupe: A privacy-focused iOS app that raises awareness about what native apps can see