Comments (5)
I've been looking at the status byte
values of an Airtag.. and it doesn't seem to be a predictable value.
from airguard.
I wouldn't rely on this to work properly.
The status byte shouldn't change that much. The only values that might change is the one bit that shows if the owner was connect withing the current key rotation and the 2 bits that represent the battery state.
Apple can differ between AirTags owned by the device owner and others, because AirTags get associated to the Apple ID of the owner device in the setup process.
We already thought about this but came to the conclusion that it will probably not reliable enough, because the battery level is relatively stable and solely relying on the status byte can start to cause problems when more than one AirTag is present.
from airguard.
one bit that shows if the owner was connect withing the current key rotation and the 2 bits that represent the battery state
Could you share which bits represent what?
And the battery state is just two bits? Hmm, then indeed it probably won't have a lot to work with for recognising a device based on its battery level. Which is good I guess, because otherwise Apple would have dropped the ball here :-D
can start to cause problems when more than one AirTag is present
How so?
probably not reliable enough
Don't let perfect be the enemy of good? For my use case it would already be useful even if it's not perfect.
Currently my system reports if a new airtag is detected based on the number of airtags it found during a scan. If the number increases, that's relevant already (provided the user doesn't live on top of a busy footpath).
As you can tell, this currently creates a lot of instances there the system notifies that it detected a new tag. I'd like to make it a little more accurate. For example by trying to guess if an airtag is truly new based on the mac address and any other data that might be useful. increasing scan duration and doing some time-based averaging would probably also help.
from airguard.
From the research paper:
(1) Unpaired
(2) Connected
(3) Nearby
(4) Separated
If my system could filter out airtags that are happily paired or connected, that might already help with finding potential stalker devices.
from airguard.
The document you linked to mentions that once nearby
the airtags will emit "the first part of a public key". And once they enter the separated state, they emit the full public key.
That public key is only changed once per day?
That seems to imply that an Airtag in the nearby/separated state could easily be tracked since key public key remains stable for an entire day?
If that is correct, then might I be able to use that (first part of the) public key to keep track of which Airtags presence the user has already been alerted to recently?
from airguard.
Related Issues (20)
- App won't open (and work?) HOT 4
- Show List / more information about all beacons for a given device/tracker HOT 1
- Can't play sound on Airtags. HOT 2
- Click on the [x] button does not remove the study participation notification HOT 2
- rename device HOT 3
- Add support for Kisha Umbrella beacons HOT 1
- Enable coasting for pinch-zooming in map view HOT 1
- App crashes on application startup after setup HOT 1
- Migrate gradle script to Kotlin DSL HOT 3
- Publish 2.1.0 on PlayStore and F-Droid HOT 1
- Feature Request: Allow naming of known devices. HOT 2
- Optionally include logging of generic Bluetooth devices in addition to known tracker types HOT 1
- Thank you!
- Scanning animation could be problematic for some users
- Playing sound on Tile trackers HOT 1
- Protecting screen from prying apps (screenshots, recent apps)
- Including in scanning also unknown devices (not Apple and DIY ones) HOT 2
- Make the donation process easier (to support development) HOT 1
- Adding autoscan toggle (off/on) in settings
- Set gps "safe" areas, and then set ON bluetooth only when I am outside of them
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from airguard.