# Tracking

Published 2024-02-04

This page will tell you what we track, how, and where it's stored.
Our goal is to be as transparent as possible, especially regarding tracking.

# Tracking architecture.

There are two types of tracking in the app.
Plugins cannot require tracking being enabled, I will not force it on anyone.

Passive
Event driven

This ping is used to determine the amount of currently active users. The app will passively ping the server every minute. No data is sent via the ping.

In the future this ping will also check for responses to feedback or crash reports, and notify the user if there are any.

If enabled, it will ping the server with additional information. This includes your FPS and enabled plugins. These are sent along with your UUID, this is to make sure that we don't overlap data.

If you've enabled the crash reporting, the app will send the entire traceback (anonymized) to the server. This does not include your UUID.

Storage Exception
This data is sent to a private discord channel for developers. I do not store the data on my server, but it does pass through it.

Feedback that is sent through the feedback panel. Just as with the crash reports, this does not include your UUID.

Storage Exception
This data is sent to a private discord channel for developers. I do not store the data on my server, but it does pass through it.

# How we store data.

Everything collected is stored on my own server. There are no backups online, and nothing leaves my own local network. Any exceptions to this are listed in the architecture section above.

# What is included in the data.

You can see a list of what all the data we collect is used for and means.
Please note that depending on the tracking options you have selected, not all of this data is gathered. You can see which options enable each data point in the list below.

Additional information pings

This is a unique identifier for your computer. The UUID cannot be used to determine anything about your PC, but it is used to make sure we can tell the difference between different machines. In the future you should also be able to use your UUID to log into the web interface to follow your crash reports and feedback requests.

Additional information pings

This can be used by us to determine bottlenecks within the app. I also plan on making a public page where you can see the average FPS based on plugin usage, obviously depending on how much data we get.

Crash reports

The crash reporter, if enabled, will send the traceback to us. This is used to determine the most common crashes and to fix them.

# What happens if my server crashes, or you don't have an internet connection?

  • The app will work as it always has. We will never include anything that would lock the app when the user doesn't have connection to the server.
  • Any feature that requires the server specifically will not work.
    • For example, the feedback and crash reports.
  • There's going to be a note in the main menu that the server is down.
  • The app will keep looking for the server once every 2 minutes.

Basically all data is saved on disk, and with the exception of data that is sent at the exact time of the crash, that data will remain even if the server crashes.