Breathe First — Privacy Policy
Effective date: 2026-05-21
In short
Breathe First works entirely on your device. We have no servers, no user accounts, no analytics, and no ads. Nothing about your usage is uploaded anywhere automatically. The only way data leaves your device is if you tap the Share button on the Developer log yourself — and then you decide where it goes.
What Breathe First processes locally
When you use Breathe First, the app stores the following on your device only:
- Selected app package names and labels — e.g.
com.instagram.android("Instagram"). You choose these in the app picker. - Your pause settings — pause cooldown duration, intervention level (Light / Balanced / Strict), breathing style, breathing duration.
- Your reset history — start and end timestamps of each breathing session, outcome (stayed away / opened anyway / abandoned), and duration. Used to show today's count and the Stats tab.
- A local debug event log — last 100 in-app events, used by the Developer panel for troubleshooting. Includes things like
reset_completed,bypass_set, and package names of triggered apps. Cleared when you tap Clear in the Developer panel, or on uninstall. - The installed-apps list — read from Android each time you open the app picker, so you can choose which apps to pause. The list is not retained beyond your selection.
Why we process it
- To detect when a selected app opens and show a breathing reset before you enter it.
- To remember your settings between launches.
- To show your progress in the Stats and Home tabs.
- To help you (or us, if you choose to share) debug a problem with the in-app Developer log.
Where the data lives
Entirely on your device, in app-private storage:
- Settings, sessions, and selected apps in app-private AsyncStorage.
- Native bypass state in app-private SharedPreferences.
- Debug event log in app memory + AsyncStorage.
We do not operate any servers. Breathe First does not initiate network
requests in normal use. The INTERNET permission is declared
because the React Native runtime requires it, not because the app sends
anything.
What Breathe First explicitly does NOT do
- We do not read messages, passwords, notifications, screen content, or anything inside the apps you select.
- We do not collect analytics — there is no analytics SDK in the app.
- We do not show ads.
- We do not use third-party SDKs that transmit data.
- We have no user accounts and no cloud sync.
- Breathe First is not a medical app. It does not diagnose, treat, or cure any condition.
The Android Accessibility configuration reflects this:
canRetrieveWindowContent is set to false. The
service receives only window-state events (which app is in the
foreground), not window content.
Sharing — only when you explicitly choose
The Developer panel has a Share button that opens the standard Android share sheet for the local debug log (as JSON). If you tap it, you decide where the JSON goes — email, Drive, a chat app, etc. This is the only way local data leaves your device, and it requires a deliberate user action each time.
We never pre-fill a destination. We never share automatically.
Permissions used and why
- Accessibility (
BIND_ACCESSIBILITY_SERVICE) — to receive the system signal that a selected app has come to the foreground. Window events only; window content is disabled. Required for the core pause feature. - Installed apps query (
<queries>forLAUNCHERcategory in the manifest) — to list installable apps in the app picker. Required by Android 11+ package visibility rules. - Vibrate (
VIBRATE) — for gentle haptic feedback during breathing transitions, if your device supports it. - Internet (
INTERNET) — required by the React Native runtime. Breathe First itself does not send network requests in production.
Children
Breathe First is not directed at children under 13.
Data retention and deletion
- All data lives on your device for as long as you have the app installed.
- Uninstall removes everything.
- Settings → Data → Reset all data clears all stored sessions, streaks, and settings, and returns you to onboarding.
- Settings → Developer → Clear log clears only the debug event log.
Changes to this policy
If we change anything material about how the app processes data, we will update the effective date at the top of this page and surface a notice in the app's next release notes. Cosmetic edits (typos, clarifications) do not trigger a notice.
Contact
For questions about this policy:
- Email: support@breathefirst.app
A monitored inbox must be set before this policy URL is referenced from the Google Play Store listing.
Last updated: 2026-05-21