airguard

Protect yourself from being tracked 🌍 by AirTags 🏷 and Find My accessories πŸ“

https://github.com/seemoo-lab/airguard

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • βœ“
    CITATION.cff file
    Found CITATION.cff file
  • βœ“
    codemeta.json file
    Found codemeta.json file
  • βœ“
    .zenodo.json file
    Found .zenodo.json file
  • β—‹
    DOI references
  • β—‹
    Academic publication links
  • βœ“
    Committers with academic emails
    3 of 19 committers (15.8%) from academic institutions
  • β—‹
    Institutional organization owner
  • β—‹
    JOSS paper metadata
  • β—‹
    Scientific vocabulary similarity
    Low similarity (8.5%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

Protect yourself from being tracked 🌍 by AirTags 🏷 and Find My accessories πŸ“

Basic Info
  • Host: GitHub
  • Owner: seemoo-lab
  • License: apache-2.0
  • Language: Kotlin
  • Default Branch: main
  • Homepage:
  • Size: 16.8 MB
Statistics
  • Stars: 2,120
  • Watchers: 35
  • Forks: 120
  • Open Issues: 34
  • Releases: 20
Created over 4 years ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

README.md

AirGuard - AirTag tracking protection

Protect yourself from Find My Tracking

The AirTags and other Find My devices are simple, small and perfect to track Android users! Without tracking warnings, as integrated on iOS, anyone could try to track your behavior by placing an AirTag in your jacket, backpack or car.

With AirGuard you get the anti-tracking protection you deserve! The app periodically scans your surroundings for potential tracking devices, like AirTags or other Find My devices. If a devices follows you, you will get a notification in less than an hour!

With the app you can play a sound on AirTags and find it easily. Afterward, you can view at which locations the device has tracked you.

If no one is trying to track you, the app will never bother you.

Get the app

The app is available on Google Play, F-Droid or download it here from the GitHub releases.

Get it on Google Play Get it on F-Droid

Details

Who are we?

We are part of the Technical University of Darmstadt in Germany. This project is part of a scientific research from the Secure Mobile Networking Lab. Our goal is to protect privacy and to find out how many people are opposed to tracking. In this app you can voluntarily participate in a research study that will share anonymized data with us.

This app will never get monetized by showing ads, in-app purchases or anything else.

How does it work?

AirGuard uses Bluetooth scans of your Android phone to find AirTags and Find My trackers. Every tracker that is found will be saved locally on your device. Whenever a tracker gets detected multiple times the app will recognize this. It compares the locations where the tracker has been detected. If a tracker is detected at least 3 times and the locations have changed (to make sure its not your neighbour) the app sends you a notification. If this tracker is an AirTag you can play a sound to find it.

All this happens locally on your device and the private information, like location, tracker ids, etc will never leave your device.

Disclaimer

AirTag, FindMy and iOS are trademarks of Apple Inc. We are not working together with Apple Inc.

Owner

  • Name: Secure Mobile Networking Lab
  • Login: seemoo-lab
  • Kind: organization
  • Location: Darmstadt, Germany

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: 'AirGuard for Android: Tracking Protection'
message: 'If you use this software, please cite it as below.'
type: software
authors:
  - given-names: Niklas
    family-names: Bittner
    affiliation: 'SEEMOO, TU Darmstadt'
  - given-names: Alexander
    family-names: Heinrich
    affiliation: 'SEEMOO, TU Darmstadt'
    orcid: 'https://orcid.org/0000-0002-1150-1922'
  - given-names: Dennis
    family-names: Arndt
    affiliation: 'SEEMOO, TU Darmstadt'
  - given-names: Matthias
    family-names: Hollick
    affiliation: 'SEEMOO, TU Darmstadt'
    orcid: 'https://orcid.org/0000-0002-9163-5989'
repository-code: 'https://github.com/seemoo-lab/AirGuard'
abstract: >-
  The AirTags and other Find My devices are simple, small
  and perfect to track Android users! Without tracking
  warnings, as integrated on iOS, anyone could try to track
  your behavior by placing an AirTag in your jacket,
  backpack or car.
keywords:
  - Android
  - Bluetooth Tracker
  - Tracking Protection
  - Stalking
license: Apache-2.0
commit: dd3e954861f0cf9a7c98c58e08de44a6573de7f7
version: '2.2'
date-released: '2024-06-11'

GitHub Events

Total
  • Create event: 8
  • Release event: 2
  • Issues event: 14
  • Watch event: 185
  • Issue comment event: 8
  • Push event: 130
  • Pull request event: 6
  • Fork event: 12
Last Year
  • Create event: 8
  • Release event: 2
  • Issues event: 14
  • Watch event: 185
  • Issue comment event: 8
  • Push event: 130
  • Pull request event: 6
  • Fork event: 12

Committers

Last synced: 10 months ago

All Time
  • Total Commits: 811
  • Total Committers: 19
  • Avg Commits per committer: 42.684
  • Development Distribution Score (DDS): 0.671
Past Year
  • Commits: 227
  • Committers: 3
  • Avg Commits per committer: 75.667
  • Development Distribution Score (DDS): 0.15
Top Committers
Name Email Commits
Dennis Arndt d****t@s****e 267
Alexander Heinrich a****h@s****e 238
Dennis Arndt d****t@s****e 212
Niklas Bittner n****s@b****h 71
arkon e****4@g****m 4
Dennis Arndt d****t@y****e 2
DrMaxNix g****t@d****e 2
Peter Dave Hello h****u@p****g 2
campbell c****n@g****m 2
lazytownfan 9****n 2
Mr-Update 3****e 1
Nikolas n****f@g****m 1
Ollie Bennett o****t@g****m 1
Philip Gillißen g****a@f****e 1
Sebastian Nohn s****n@n****t 1
NAVAL n****u@y****p 1
Guntbert Reiter g****t@g****t 1
aegeeik bz@i****e 1
kouki k****5@g****m 1

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 87
  • Total pull requests: 38
  • Average time to close issues: 7 months
  • Average time to close pull requests: 3 months
  • Total issue authors: 65
  • Total pull request authors: 18
  • Average comments per issue: 2.22
  • Average comments per pull request: 0.58
  • Merged pull requests: 28
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 14
  • Pull requests: 7
  • Average time to close issues: 1 day
  • Average time to close pull requests: 5 minutes
  • Issue authors: 11
  • Pull request authors: 3
  • Average comments per issue: 0.57
  • Average comments per pull request: 0.14
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Citro12 (5)
  • gdt (4)
  • luke-jr (4)
  • lbdroid (3)
  • SteadyStatus21 (3)
  • Sorunome (3)
  • DrMaxNix (2)
  • matterharz (2)
  • createcandle (2)
  • famo (2)
  • lazytownfan (2)
  • dylanxu054 (2)
  • JonnyTech (1)
  • coastgnu (1)
  • Te-k (1)
Pull Request Authors
  • Sn0wfreezeDev (13)
  • arkon (4)
  • DrMaxNix (4)
  • lazytownfan (3)
  • Mr-Update (3)
  • imbissbudenaesthetik (2)
  • Itou-Kouki (2)
  • Nikolas-S (1)
  • guntbert (1)
  • DMyachin (1)
  • nohn (1)
  • Te-k (1)
  • n1snt (1)
  • GL513 (1)
  • guerda (1)
Top Labels
Issue Labels
bug (10) enhancement (9) minor-bug (3) question (2) wontfix (2)
Pull Request Labels

Dependencies

.github/workflows/android.yml actions
  • actions/checkout v2 composite
  • actions/setup-java v2 composite
  • gradle/gradle-command-action v2 composite
app/build.gradle maven
  • androidx.activity:activity-compose 1.4.0 implementation
  • androidx.appcompat:appcompat 1.4.1 implementation
  • androidx.cardview:cardview 1.0.0 implementation
  • androidx.compose.animation:animation 1.1.1 implementation
  • androidx.compose.material:material 1.1.1 implementation
  • androidx.compose.ui:ui-tooling 1.1.1 implementation
  • androidx.constraintlayout:constraintlayout 2.1.4 implementation
  • androidx.core:core-ktx 1.7.0 implementation
  • androidx.hilt:hilt-navigation-fragment 1.0.0 implementation
  • androidx.hilt:hilt-work 1.0.0 implementation
  • androidx.legacy:legacy-support-v4 1.0.0 implementation
  • androidx.lifecycle:lifecycle-livedata-ktx 2.4.1 implementation
  • androidx.lifecycle:lifecycle-viewmodel-compose 2.4.1 implementation
  • androidx.lifecycle:lifecycle-viewmodel-ktx 2.4.1 implementation
  • androidx.navigation:navigation-fragment-ktx 2.4.2 implementation
  • androidx.navigation:navigation-ui-ktx 2.4.2 implementation
  • androidx.preference:preference-ktx 1.2.0 implementation
  • androidx.recyclerview:recyclerview 1.2.1 implementation
  • androidx.room:room-ktx $room_version implementation
  • androidx.room:room-runtime $room_version implementation
  • androidx.vectordrawable:vectordrawable 1.1.0 implementation
  • androidx.work:work-runtime-ktx 2.7.1 implementation
  • androidx.work:work-testing 2.7.1 implementation
  • com.github.AppIntro:AppIntro 6.1.0 implementation
  • com.github.bastienpaulfr:Treessence 1.0.0 implementation
  • com.github.ybq:Android-SpinKit 1.4.0 implementation
  • com.google.android.material:compose-theme-adapter 1.1.10 implementation
  • com.google.android.material:material 1.6.0-beta01 implementation
  • com.google.code.gson:gson 2.9.0 implementation
  • com.google.dagger:hilt-android $hilt_version implementation
  • com.jakewharton.timber:timber 5.0.1 implementation
  • com.mikepenz:aboutlibraries 8.9.3 implementation
  • com.squareup.okhttp3:okhttp 5.0.0-alpha.5 implementation
  • com.squareup.retrofit2:converter-gson 2.9.0 implementation
  • com.squareup.retrofit2:retrofit 2.9.0 implementation
  • org.jetbrains.kotlin:kotlin-reflect $kotlin_version implementation
  • org.osmdroid:osmdroid-android 6.1.11 implementation
Gemfile rubygems
  • fastlane >= 0
Gemfile.lock rubygems
  • CFPropertyList 3.0.2
  • addressable 2.8.0
  • artifactory 3.0.15
  • atomos 0.1.3
  • aws-eventstream 1.1.0
  • aws-partitions 1.326.0
  • aws-sdk-core 3.98.0
  • aws-sdk-kms 1.33.0
  • aws-sdk-s3 1.67.1
  • aws-sigv4 1.1.4
  • babosa 1.0.3
  • claide 1.0.3
  • colored 1.2
  • colored2 3.1.2
  • commander 4.6.0
  • declarative 0.0.10
  • declarative-option 0.1.0
  • digest-crc 0.5.1
  • domain_name 0.5.20190701
  • dotenv 2.7.5
  • emoji_regex 1.0.1
  • excon 0.73.0
  • faraday 1.0.1
  • faraday-cookie_jar 0.0.6
  • faraday_middleware 1.0.0
  • fastimage 2.1.7
  • fastlane 2.193.1
  • gh_inspector 1.1.3
  • google-apis-androidpublisher_v3 0.11.0
  • google-apis-core 0.4.1
  • google-apis-iamcredentials_v1 0.7.0
  • google-apis-playcustomapp_v1 0.5.0
  • google-apis-storage_v1 0.6.0
  • google-cloud-core 1.6.0
  • google-cloud-env 1.3.2
  • google-cloud-errors 1.0.1
  • google-cloud-storage 1.34.1
  • googleauth 0.17.1
  • highline 2.0.3
  • http-cookie 1.0.3
  • httpclient 2.8.3
  • jmespath 1.4.0
  • json 2.3.0
  • jwt 2.1.0
  • memoist 0.16.2
  • mini_magick 4.10.1
  • mini_mime 1.0.2
  • multi_json 1.14.1
  • multipart-post 2.0.0
  • nanaimo 0.2.6
  • naturally 2.2.0
  • optparse 0.1.1
  • os 1.1.0
  • plist 3.5.0
  • public_suffix 2.0.5
  • representable 3.0.4
  • retriable 3.1.2
  • rexml 3.2.5
  • rouge 2.0.7
  • rubyzip 2.3.2
  • security 0.1.3
  • signet 0.16.0
  • simctl 1.6.8
  • terminal-notifier 2.0.0
  • terminal-table 1.8.0
  • tty-cursor 0.7.1
  • tty-screen 0.8.0
  • tty-spinner 0.9.3
  • uber 0.1.0
  • unf 0.1.4
  • unf_ext 0.0.7.7
  • unicode-display_width 1.7.0
  • webrick 1.7.0
  • word_wrap 1.0.0
  • xcodeproj 1.16.0
  • xcpretty 0.3.0
  • xcpretty-travis-formatter 1.0.0