// Rollero is a private, offline mood journal — you name how the day felt, rate how strongly it landed, and write as much or as little as you like, all kept on your device.
[01] Information collected // inputs
None. Rollero never asks for an email address, a phone number, a name that leaves the device, or any other identifying detail. There is no registration step, no analytics, and no crash reporting.
The display name and icon you pick for yourself on the Keeper screen are stored locally so the app can greet you; they are transmitted nowhere.
[02] Local storage // on-device
Kept in the app's own private storage area, readable only by Rollero and never uploaded:
- Journal entries — in a local SQLite database: the feeling you selected, an intensity from 1 to 5, your written note, an optional gratitude line, any tags, the reflection prompt that was on screen, and the entry's timestamp.
- Your profile — the display name and icon you chose, in the same local database.
- Preferences — whether the writing prompt and gratitude field are shown, timeline density, week-start day, the reduced-motion setting, and the chart window (14 / 30 / 90 days).
- Milestones — which of the eight keepsakes have already been shown, so a milestone card does not appear twice.
- First-run flag — a single boolean in the platform's standard app-preferences store recording that the introduction has been seen.
Nothing in this list is copied off the device by the app. Uninstalling Rollero deletes every byte.
[03] Permissions // runtime
Rollero requests no runtime permissions — no camera, microphone, location, contacts, photos, storage, or notifications.
One permission is declared in the Android manifest and is not used: android.permission.INTERNET, inherited from the standard Flutter application template. The app contains no networking code — no HTTP client, no socket, no web view — so it is never exercised. It is disclosed here for completeness, not because anything relies on it.
[04] Network // egress
The app is fully offline. It makes no requests, fetches no content, and needs no connection to open, save an entry, draw a chart, or do anything else. You can run it permanently in airplane mode with no loss of functionality.
The one place data can leave the device is the Share button on the Keeper screen, and only when you use it. Tapping it opens your operating system's own share sheet, pre-filled with a short sentence about the app and two headline totals (how many entries you have kept and your best streak). No entry text, tag, or gratitude line is ever included, and nothing is sent until you choose a destination yourself.
[05] Third parties // vendors
None are integrated. Rollero includes no analytics SDK, no advertising SDK, no crash-reporting service, no attribution provider, and no backend of any kind. The libraries it uses are open-source Flutter packages for local storage (sqflite, shared_preferences), charts (fl_chart), state and animation (flutter_riverpod, flutter_animate), layout and date formatting (gap, collection, intl), and the system share sheet (share_plus). None of them transmit your journal, and none contact a server.
The app's typeface (Montserrat) is bundled inside the app rather than fetched at runtime, so opening the app does not produce a font download either.
[06] Children // coppa/gdpr-k
Rollero is written for a general audience and is not directed at children under 13. Because it collects no personal information from anyone, and asks no questions about who is using the device, it cannot knowingly collect information from a child. A parent or guardian who wants a child's journal removed can delete the entries in the app or uninstall it.
[07] Your rights // you
Since your data never leaves your device, you have complete and immediate control over it. Access — the Archive screen lists every entry you have written, grouped by day. Correction — open an entry and choose Edit this entry to change the feeling, intensity, note, gratitude line, or tags. Deletion of one entry — swipe the row left in the Archive, or use Delete entry from the editor; both confirm once, then remove it permanently from storage and from every chart. Deletion of everything — uninstalling removes the database, the preferences, and the first-run flag, with no copy anywhere else. There is no request form and no waiting period, because there is no one else holding your data.
[08] Changes // changelog
If this policy changes, the updated field at the top of this page will be revised. Given that the current position is that nothing leaves the device, any change would be substantial, and material changes are also noted in the app's release notes.