Privacy Policy

Breathe Fresh Tracker

Effective date: 2026-10-15

This policy explains how this application handles information and how to contact us about privacy.

Information we process

Breathe Fresh Tracker stores your optional local name, language, display metric, reminder settings, selected place and coordinates, air readings, wellbeing ratings, selected symptoms, notes, dates and completed breathing sessions on your iPhone. A random installation secret is stored in device-only Keychain. There are no accounts. When you request air data, coordinates are sent over HTTPS to our backend and onward to Open-Meteo to obtain CAMS regional air estimates. The backend does not intentionally store coordinates in its application database. Optional synchronization, disabled by default, sends diary records (including notes, symptoms, ratings, dates and attached AQI) and air readings to our server. Records are associated with a SHA-256 hash of your installation secret. Your local name, reminder settings and completed practices are not synchronized. Hosting receives ordinary network information such as IP address, request path, time and technical metadata. Request paths for air queries contain coordinates and may appear in infrastructure logs. The public website does not set application cookies or run analytics.

How we use information

Local information provides the journal, charts, reminders, breathing-session history and offline reading cache. Coordinates obtain air estimates for your selected area. Synchronization lets this installation keep private server copies of diary and air history; it is not an account, transfer or recovery service. The secret authorizes requests, and its hash separates installations. Network metadata supports hosting, security and diagnosing failures. Air estimates and breathing practices are general wellbeing information, not medical diagnosis or treatment.

Service providers and sharing

Railway hosts the application backend and its persistent database and processes requests and infrastructure logs. Open-Meteo receives coordinates requested through the backend and the backend network address, not your installation secret or diary. Its air service uses CAMS / Copernicus data. Apple processes location and local notification permissions through iOS; reminders are scheduled locally and do not use a remote push provider. An export is shared only with the destination you choose in the iOS share sheet; that destination applies its own practices. There are no advertising, analytics, social sign-in, payment, CRM or email delivery SDKs. We do not sell personal information. Information may be disclosed if legally required.

Data retention

Local records remain until you delete them or remove the app; the local air cache keeps up to 1,000 observations. Server records remain until this installation requests deletion; storage is limited to 10,000 records per data category and retrieval is bounded. Turning synchronization off stops new synchronization but does not delete existing server copies. Uninstalling does not send a server deletion request. The local installation marker rotates any surviving Keychain secret on reinstall, so old server records cannot be recovered by the new installation. Exported copies remain with their chosen destination. We do not state a fixed retention period for Railway or Open-Meteo infrastructure logs. We have not configured an application backup schedule; infrastructure backup and residual-storage lifecycles are governed by the hosting provider, and no exact erasure deadline is promised.

Deleting your information

Delete all data in Settings removes the local profile, diary, air cache, completed practices and reminders, and the temporary export file. If synchronization has ever been used, the app first requests server deletion for the installation; if that request fails, it keeps local data and access so you can retry. The backend deletes that installation’s diary and air records from the live SQLite database, uses secure deletion and truncates the write-ahead log. Provider logs, any provider backups and previously shared exports are separate and are not erased by this button; backup copies, if any, follow provider lifecycles and may not disappear immediately. Delete before uninstalling if you want server records removed. If the secret is lost, there is no account-based recovery or reliable way to identify the old installation’s records. Contact val.sotheran@icloud.com with privacy questions without sending your installation secret or sensitive journal notes.

Permissions and your choices

Location access is requested only when you choose Use my location; a city list is available instead. You can withdraw location access in iOS Settings, and the app will retain the previously selected area until you change or delete it. Notification permission is requested only when enabling a practice reminder. You can turn reminders off in the app or revoke notifications in iOS Settings. No contacts, photos, microphone, camera, health database or background-location access is requested. You can disable optional synchronization in the app without losing your local journal.

Your privacy rights

Depending on where you live, you may have rights to access, correct, export, delete or restrict processing of your personal information, object to processing, or complain to a data-protection authority. The app lets you edit diary records, export local data as JSON, disable synchronization and request deletion. For other privacy requests contact val.sotheran@icloud.com. We may need enough information to establish that a request relates to your installation, and cannot promise to locate data after its secret is lost. Do not email secrets or medical details. This public address is a privacy contact, not an in-app support or email-delivery service.

Security

The app uses HTTPS, device-only Keychain for its random secret and protected local file storage. The secret is sent only to the backend in an authorization header; the backend hashes it for data ownership and requires it for all private routes. Every database operation scopes records to that hash. Input validation, payload limits, request timeouts and per-installation rate limits reduce misuse. The application does not log diary bodies or authorization headers, although infrastructure may log request metadata. There are no shared client credentials. Possession of the installation secret grants access; do not share it. No storage or transmission system can guarantee absolute security.

Children’s privacy

This app is intended for adults seeking general air and wellbeing information and is not directed to children. It does not ask for age or knowingly target children for data collection. If you believe a child has provided information, contact val.sotheran@icloud.com so the situation can be assessed. The app is not a medical device or a substitute for professional care.

Changes to this policy

We may update this policy when the app’s processing or service providers change. The effective date identifies the current version. The latest policy remains publicly accessible at /privacy through the Settings link in the app. Material processing changes will be described in the policy and, when appropriate, in the app. Please review the policy before enabling new optional features.