tweaselORG / meta

(Currently) only used for the issue tracker.
2 stars 0 forks source link

TrackHAR tracker database schema #23

Closed zner0L closed 1 year ago

zner0L commented 1 year ago
zner0L commented 1 year ago

One idea:

This object would be the result:

{ 
    prepare: { body: 'ungz.pb', query: 'plain' },
    values: {
        location: { value: '0.00000 0.00000', location: 'body.3045', prepare: 'base64' },
        userId: { value: 42, location: 'body.id' },
    }
}

With this JSON as the in between step (having run gunzip and transformed the protobuf schema):

{
    "id": 42,
    "3045": "MC4wMDAwMCAwLjAwMDAw"
}

The full prepare path for the location would be ungz.pb.base64

baltpeter commented 1 year ago

Very rough draft of what an entry in the tracker wiki thingy might look like:

Tracker name: OneSignal

Exodus link? datenanfragen/data link

Endpoint 1

Endpoint URLs:

TODO: We probably don't want to mention match here?

View recorded requests to this endpoint

Request format (TODO: bad title)

blurb: The bodies are gkgkd

To parse, you:

  1. base64_decode(body)
  2. JSON.parse(1.b)
  3. gunzip(1.a)
  4. return { ...2, ...3 }

Contained tracking data

Data type Source Path Reasoning
Location body user.device.abc[0].latitude + ' ' + user.device.abc[0].longitude obvious property name
Location body facebook.ads.location obvious property name
Location query string a obvious values
Network connection type body user.device.abc[0].network_type https://source.tld
Unique ID header X-Secret-Value https://research.tweasel.org/onesignal/x-secret-value

Endpoint 2

zner0L commented 1 year ago
zner0L commented 1 year ago

We have the problem that sometimes data is contained in lots of similar objects in an array, like Google Firebase transmitting a list of events. We then find the same data multiple times in in the array. To document this, we use the asterisk * from JSON path. This leads to the situation, where we can either find the same information in several different places e.g. in the query string or the body, or we find the same information in the same place multiple times. In this case, we combine both value arrays in the return value into one flattened array.

zner0L commented 1 year ago

To link to specific historic versions of an adapter, we generate a permalink from the adapter id and the commit hash.

baltpeter commented 1 year ago

Initial implementation of this: tweaselORG/TrackHAR#1