Skip to content

GeoTag documentation

GeoTag is a personal research project focused on the retro-engineering and features exploitation around Apple's AirTag devices and its FindMy global network.

The main objective is to deliver a lightweight and easy-to-use set of software solutions to:

  • track near real-time and historical geolocation points and other metadata from AirTags owned by your own iCloud account
  • capture, store, query and visualize these data points on-demand, locally, and securely
  • use them for object tracking over time
  • browse AirTags historical positions (not currently possible via Apple's FindMy app)
  • access locally-stored data from your macOS machine, your LAN or even anywhere in the world (through parametrized app tunneling (Cloudflare Tunnel))

GeoTag was developed to be used by developers willing to track their own Apple devices through API, CLI, Python SDK or even MCP.

Official GitHub repos:

  • geotag: GeoTag core logic, API, CLI, MCP, SDK, decryption and networking libraries
  • geotag-web: GeoTag web-based visualization tool (WIP)

Disclaimers

The complete use of GeoTag implies extracting sensitive encryption keys from macOS Keychain by disabling critical security components including Apple SIP (System Integrity Protection).

After re-enabling SIP, encryption keys must be stored and available on the disk for future GeoTag decryptions.

Use at your own risk. Maintainers of this research project are not responsible of the behaviors/coding choices of any GeoTag users.

Please keep in mind this project was only conducted for personal research purposes only. It is not intended for production-ready or mission-critical solutions.

Encryption keys

Encryption keys, extracted from Keychain, are only for the following specific entitlement: 0000000000.com.apple.findmy

Disclaimers

AirTags are using Bluetooth Low Energy (BLE), UWB and FindMy network to approximate Airtags exact location.

To save energy, AirTags are only sending signals at unpredictable, non-recurring time intervals, depending on various factors: surroundings Apple devices, cities or more remote locations, ...

That said, GeoTag is only replicating geo updates received by Apple FindMy network and cannot be used to seriously track-down devices at the second-level. For this usage, please consider GPS receives or other technologies not relying on surrounding devices.

GeoTag is not a real-time movement tracker but a historical position recorder/visualizer.