SaffronTally
SaffronTally is an offline pomodoro-style focus timer that runs your work sprints, schedules the breaks between them and keeps a tally of every sprint you finish. This page explains what the app does and does not do with your data.
SaffronTally does not collect, transmit, or share any personal information — everything it records stays on this device.
Information we collect
Nothing. There is no account and no sign-in, and the app has no way to send us anything. The display name and avatar you pick on the Profile screen are yours to invent and stay on the device.
Data stored on your device
To make the app work, SaffronTally stores the following only on your device, using the operating system's local storage:
- Session log: start and end time of each focus sprint or break, planned and actual length, the phase, whether it ran to completion, and the task it was credited to.
- Task board: the tasks you create, with label, icon, colour, sprint target, sprints completed and archived state.
- Timer settings: sprint and break lengths, sprints per long break, daily goal, auto-start toggles, and the reduced-motion and ring-glow options.
- Profile: display name, avatar, the date you first opened the app, and whether you have finished the intro.
- Badges: the date each badge was unlocked.
This data never leaves your device. It is not uploaded to SaffronTally or to any third party. Uninstalling the app or clearing its storage deletes all of it permanently.
Permissions
On Android the manifest declares INTERNET, which ships with the standard Flutter project template. SaffronTally contains no network code and never uses it. The app requests no camera, microphone, location, contacts, photo, notification or background permissions, and the iOS build declares no permission usage descriptions.
Network use
SaffronTally is fully offline. It makes no HTTP or socket requests, has no analytics or crash-reporting endpoint, and uses no remote configuration or sync. The one way data can leave the app is when you tap Share on the Profile screen: a short plain-text summary of your sprint count goes to your system share sheet, and you choose the destination or cancel.
Third-party services
No third-party analytics, advertising, attribution or crash-reporting services are included. The open-source packages the app is built with (flutter_bloc, equatable, sqflite, path, shared_preferences, fl_chart, intl, collection, gap, confetti and share_plus) all run on the device, and none of them contacts a server on our behalf.
Children's privacy
SaffronTally is a general productivity timer. It is not directed at children under 13 and shows no ads. Because it collects and transmits nothing, it holds no information about children, or about anyone else.
Your rights
All of your data is on your device. You can edit or delete tasks on the Tasks screen, change your name and avatar on the Profile screen, and restore the default timer settings from the settings screen. Uninstalling the app deletes the database, settings and badge record, and no copy exists anywhere else to request or erase.
Changes to this policy
If this policy ever changes, the date at the top of this page will be revised. Material changes will be noted in the app's release notes.
Contact
If you have any questions about this policy, please reach out at [email protected].