microg / microg/GmsCore

Stable randomized per-app advertising ID

Open
#3,114 6 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Java
Stars
14.6k
Forks
3.2k
Avg merge
12d 11h
Merged PRs (30d)
4

Description

Is your feature request related to a problem? Please describe.
If an app were to fingerprint a device, its algorithm may be fooled by microG's randomization of the advertising ID, but it also could be easily detected by just checking if it changes right away and it can then ignore it.

Describe the solution you'd like
As an alternative to the advertising ID full on randomization, my suggestion would be to have stable but still randomized IDs returned for each app, that way they can't tell the advertising ID is randomized. If keeping a database of these is undesirable, then I believe hashing could help, e.g. hash(uniqueValue.. appPackageName.. appSigningKey)

Describe alternatives you've considered
Nothing

Additional context
This does have the potential of making detection even stronger and then they may start detecting microG instead.

Also if an app were to use the advertising ID just to keep track of activity within itself, it would still be able to do that

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file, test, or entry point is named. Start by locating microG's advertising ID implementation and reading how IDs are currently randomized. Done means the behavior is stable per app, still randomized, difficult to detect as randomized, and preserves the stated intra-app tracking behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
mobile, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.