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 |
| usage_tier | Usage category: how often this device has ever opened the app | once / few / returning / regular |
| trial_week | Phase in the trial period | week_1 … week_4 / expired / licensed |
| session_tier | Session intensity: number of real resuscitations this year, as a category | none / light / active / heavy |
| locale | App language | nl / en |
| device_class | Device category (screen size, not model) | se / mini / standard / max / ipad |
| os_version | iOS version, major and minor only | 26.1 |
| features | Which features are enabled | metronome, sound, haptics |
| 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 | usage_tier | trial_week | session_tier | locale | device_class | os_version | features | day | count |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1.2.1 | ios | NL | North Holland | Amsterdam | free | returning | week_3 | light | nl | standard | 26.1 | metronome,sound,haptics | 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 1.2.1, in Dutch, on a standard-size iPhone with iOS 26.1, with metronome, sound and haptics enabled. There’s no way to know whether this was one person or seven.
The fields usage_tier, trial_week and session_tier are deliberately categories, not numbers: I see “returning”, not “this device opened the app 8 times”. They help me understand whether people keep using the app after the trial, without any device being trackable.
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.