Privacy Policy

JuniperCard

Last updated: 2026-07-22

JuniperCard is a breathing pacer and guided meditation companion: you follow an animated orb through one of eight breathing rhythms, or let one of twelve written scripts guide a session, and the app keeps a private record of the minutes you practise. This policy describes what JuniperCard does and does not do with your data. The short version: JuniperCard does not collect, transmit, or share any personal information.

1Information we collect

None. There is no account, no sign-up, no sign-in, and no analytics. Nothing you enter is sent anywhere.

2Data stored on your device

To make the app work, JuniperCard stores the following only on your device, in a local SQLite database in its private app storage (via the sqflite package):

  • Session records — the script or rhythm used, the date and time the session started, its length in seconds, and whether it ran to completion.
  • Mood check-ins — the optional five-point rating you tap before and after a session.
  • Reflection notes — the optional free-text note you may write after a session.
  • Your display name — an optional first name or nickname used only to greet you on the home screen.
  • Avatar choice — which of eight built-in icons represents you on the Record screen.
  • Preferences — your default breathing rhythm and session length, and the four settings switches (lead-in countdown, calmer motion, mood check-in, reflection prompt).
  • First-run flag — a single value recording that you have seen the intro slides.

This data never leaves your device. It is not uploaded to JuniperCard or to any third party. Uninstalling the app or clearing its storage deletes all of it permanently.

3Permissions

JuniperCard requests no runtime permissions. It does not access the camera, microphone, photo library, contacts, location, health data, or the calendar. It sends no notifications and does not run in the background.

The Android manifest declares android.permission.INTERNET, carried over from the Flutter project template. The app never uses it — there is no HTTP client, no WebView, and no networking package in the build.

4Network use

The app is fully offline. All twelve guided scripts, eight breathing rhythms, thirty reflection prompts, fonts, and graphics are compiled into the application binary. There are no endpoints, no remote configuration, no content downloads, and no update checks. It behaves identically in airplane mode.

5Third-party services

None are integrated. There is no analytics SDK, no advertising SDK, no crash reporter, no attribution or measurement service, and no cloud backend.

The app depends on these open-source Flutter packages, all of which run locally: flutter_riverpod, sqflite, fl_chart, flutter_animate, gap, collection, intl and share_plus. The last is used for one feature only — the Share button on the Record screen, which opens your device's own share sheet with a short sentence about the app. It attaches nothing about you or your practice, and the content goes only to the app you pick in the system sheet.

6Children's privacy

JuniperCard is suitable for a general audience and is not directed at children under 13. Because the app collects no data from anyone, it cannot and does not knowingly collect personal information from a child. No parental consent mechanism is required because there is nothing to consent to.

7Your rights

Since nothing is collected or transmitted, there is no remote copy of your information to access, correct, export, or erase. You hold the only copy, and you control it entirely: every recorded session is listed on the Insights screen, swiping a session left there removes it permanently, and uninstalling the app makes the operating system delete its private storage — database included — along with it.

Because no personal data is processed, requests under GDPR, UK GDPR, CCPA, or similar regimes have nothing to act upon — but questions are welcome at the address below.

8Changes to this policy

If this policy ever changes, the "Last updated" date at the top of this page will be revised. Material changes will be noted in the app's release notes.

9Contact

If you have any questions about this policy, please reach out: [email protected]