The app collects anonymous usage statistics. I think you simply deserve to know what I see — not because I'm showing off, but because you have the right to check it. This page shows the exact data model, what is not in it, and what the dashboard looks like in practice.
Every time the app is opened, it sends a small signal to the server. That signal is not stored as a separate record — it's added directly to an existing row. The table is called app_usage_daily and has one row per unique combination of the fields below, per day.
| Field | Meaning | Example |
|---|---|---|
| day | Date (UTC) | 2026-06-03 |
| app_version | App version | 1.2.1 |
| platform | Device type | ios / ipados |
| country | Country code (ISO-2) | NL |
| region | Province | North Holland |
| city | City (see privacy threshold ↓) | Amsterdam |
| license_state | License status | trial / free / licensed |
| count | Number of app opens for this combination | 7 |
Here's what a real row looks like:
| app_version | platform | country | region | city | license_state | day | count |
|---|---|---|---|---|---|---|---|
| 1.2.1 | ios | NL | North Holland | Amsterdam | free | 2026-06-03 | 7 |
That count: 7 means: on 3 June 2026 the app was opened 7 times by someone (or several people) on an iPhone in Amsterdam, free version 2.1.0. There's no way to know whether this was one person or seven.
In addition, the app sends a second signal when a session ends. That's aggregated in a separate table: session_usage_daily. This lets me see how many real resuscitations take place, without knowing the exact duration.
| Field | Meaning | Example |
|---|---|---|
| day | Date (UTC) | 2026-07-08 |
| app_version | App version | 1.2.1 |
| platform | Device type | ios / ipados |
| country | Country code (ISO-2) | NL |
| region | Province | North Holland |
| city | City (see privacy threshold) | Amsterdam |
| session_bucket | Duration category | test / short / long |
| count | Number of sessions for this combination | 3 |
| total_sets | Total sets (summed) | 12 |
| total_shocks | Total shocks (summed) | 4 |
The three duration categories:
The exact duration is never sent. Sets and shocks are summed per bucket, not per individual session.
The view below is filled with example figures — not the real data. The layout, the fields and the privacy threshold are identical to the real dashboard.
Questions about the data? Email info@bennit.nl. Full privacy policy: Reanimatie Timer Privacy Statement.