Statistics Collection

Table of Contents

New FBReader Feature: Statistics Collection

Since the first version of our app was released in 2005, FBReader has never collected any data about its users. Instead, we relied on indirect data sources such as store statistics and the number of update requests sent to our site. We have never had any information about how our users interact with the app.

In 2024, we decided to change our approach. Now, a dialogue box at the start of the next app session asks your permission to collect anonymised data about your reading habits. This document explains what data we collect, how we anonymise it, and how we use the collected information.

What Does It Mean That the Data We Collect Are Anonymised

We do not collect any data that can reveal your personal information. Specifically, we do not gather information that allows us to identify you, such as your email address, account name, or list of purchases. The only information our server receives that might be considered “personal” is your IP address. Because requests are sent via HTTPS, the IP address is automatically included. However, we do not store it.

Our server processes the IP address solely to determine your country and region, which we then include in our statistics. After this, we immediately discard the IP address. It is not stored in any logs on our server.

However, with each portion of collected data, we send a device ID. This ID does not contain any information about your device; it is only used to identify when two portions of information are sent from the same device.

What Kind of Information We Collect

The data we collect can be divided into several categories. Below, we list the categories and explain what each category can include. The exact list of data we collect can change over time.

App Statistics
  • Operating system
  • App version
  • Interface language
  • Is synchronisation enabled or not (we do not include the account info!)
  • Number of books in the library
  • Distribution of books by formats
  • Average session time
  • Other generalised data (i.e., the info that does not contain concrete titles, names, etc.)
Reading Data

We aim to understand what and how our users read. We may collect

  • The title (and authors) you open
  • The book language
  • The book file format
  • The percentage of the book you have read
  • If the book file is protected, we collect the provider’s name

User Behaviour Data

We want to understand user patterns. We may collect events like

  • A book downloaded/opened/closed/deleted
  • The table of contents opened
  • A bookmark created/deleted (we never collect the bookmark text)
  • Other user actions, including the sequences of mouse clicks and key pressings

Identification Data

As mentioned above, we do not collect any personal information. Each data portion includes a device ID to identify when information is sent from the same device. Please note that we cannot determine whether the same user uses two devices. Therefore, you will be asked for permission to collect data on each device separately.

How We Use the Collected Data

The data are sent to our server. We do not use third-party frameworks or data servers, so the data are as protected as our servers are. We never disclose the raw data to any third party. However, we may share generalised information with the community or the public, such as the number of users in a country, the average number of books in a library, the percentage of users speaking a specific language, or a list of the most popular books.

We use the collected data to understand user behaviour and make the app more convenient for most users.

We use the collected data to identify issues and fix errors.

We may also use the collected data to create our recommendation service. These recommendations might use the device ID to provide relevant information to a user. If we implement such a service, it will be optional.

What Happens if You Choose “Deny”

FBReader will not send any data to our server. It will perform a single call to the server, with no data, to inform that “a user has denied data collection”. Your decision will be stored in your local settings, and FBReader will not ask you again. If you change your mind in the future, you can grant permission in the app settings. Conversely, if you click “Allow”, you can later revoke the consent in the app settings.

Monkey mascot

Monkey mascot