Theriodex – Privacy Policy

Last updated: 27 February 2026


Short overview

We store only the minimum needed to run the game and site. Sessions/logs are stored for 24h and leaderboard scores persist only if you submit them. A privacy-friendly analytics service has been added in October 2025 to give us a general idea of how our service is used. This data is anonymised and never sold to anyone.

What we store:

Retention:

Where data is processed / stored:

All processing and storage is done in the EU.

How to delete data:


1. Controller

2. What we collect

Only basic server logs and minimal analytics are collected automatically. These may include:

Server logs (netcup)

Analytics (self-hosted Plausible)

Leaderboard (optional, persistent)

2.1 Session data

The most amount of information is stored in a session cookie. A server‑side session mechanism is used (implemented with Rack::Session::Pool) which stores a single transient cookie containing only a session identifier on your machine, the actual cookie data is stored on the server. Therefore, Rack::Session::Pool keeps session data server‑side (in memory) rather than storing full session payloads in client cookies; session data is lost when the server process restarts.

Session data for the Pokémon Guessing Game

Session data for user preferences

Additionally, we store user preferences in Rack::Session::Pool as well. These include (but may not necessarily be limited to) things such as the theme, cursor or font a user has selected as well as information about whether a specific theme has been unlocked.

Serial for unlocking themes

When the user plays the Pokémon Guessing Game and manages to reach a certain number of points, they may unlock additional themes. To unlock these themes later on, a serial is generated with which the user may unlock the theme again at a later point in time. These serials are not stored and contain – in a slightly obfuscated manner – the number of points achieved. No personally-identifiable information is stored within these serials, simply the number of points acquired.

List of all session cookies

The following is an overview of all the cookies / data stored per session. You may verify where and how this data is used by looking for "session[:key_name_here]" in the software's source code. Replace "key_name_here" with the session key found in the first column of the following table:

Session Key Description / Stored Data
cursor Stores the name of the currently selected cursor
database_username The username formatted for database storage
difficulty Selected difficulty level
font Stores the name of the currently selected font
gen Stores the generation for the Pokémon Guessing Game
guesses Number of guesses in the game
points Calcuated game score
pokemon_info Pokémon game information
results Game results (how many guesses, points etc.)
saved_in_leaderboard Flag indicating if score was submitted to leaderboard
serial Serial number for unlocking themes
skips Number of skips used
theme Stores the name of the currently selected theme
unlocked_themes List of themes unlocked by the user
username Username selected when starting Pokémon Guessing Game

3. Examples of collected logs

4. Why we collect it (purposes) and legal basis

Purposes:

Legal basis:

5. Where data is stored

6. Retention

7. Recipients and disclosures

8. Security

9. Your rights

You have the right to:

To exercise these rights, contact the operator at privacy@theriodex.net. For deletion requests related to specific leaderboard entries, provide the username and date of the entry to help locate the record.

10. Changes to this policy

This policy may be updated. The "Last updated" date above will indicate the current version.

Full changelog

Initial version – 28 August 2025

Rev. 1 – 13 September 2025

Rev. 2 – 31 October 2025

Rev. 3 – 27 February 2026