Privacy policy
English Français

Privacy policy

Effective date: 2026-07-12

Scope

This privacy policy applies to mobile applications and related services published by Pierre-Dominic Simard.

Contact

Questions: pierdo.dev@gmail.com

Local storage

If an app stores preferences (e.g. settings), those data remain on your device.

Device features

Some apps may use device features (for example: Text-to-Speech) to provide functionality. These features run on your device. We do not receive the content processed by those features.

Data export

Some apps let you export data (e.g. CSV files). Exported files are written to a temporary cache on your device and shared via the system share sheet. No data is uploaded to our servers during export.

Digit Span Trainer

Local-only data. Training rounds, preferences, skin unlocks, and tutorial progress are stored on your device and don't leave it on their own.

Sign-in (optional). If you sign in with Google, we receive a stable Google account identifier used to recognize you across devices and associate purchases with your account. Google may also provide your email address or display name. The app uses those profile fields only on your device to show your signed-in state and does not send them to the Coach backend or Coach+ measurement.

AI Coach. When you tap an AI Coach button, a digest of your recent training statistics (best span, recent accuracy per mode, weekly round counts, and Journey progress) is sent over HTTPS to our backend to generate a personalized response. Free users can request up to three readiness-qualified insights per UTC day; Coach+ subscribers receive the expanded Coach service. We don't sell this data or share it with advertisers.

Coach+ measurement. To understand whether the free Coach experience leads people to Coach+, we count four milestones: a free insight succeeded, the Coach+ subscription screen was viewed, a purchase was started, and an initial purchase was completed. The app sends a RevenueCat app user identifier, an allowlisted entry source, and a random event identifier with paywall-view and purchase-start milestones. The backend records free-insight success and records purchase completion only from an authenticated production RevenueCat event.

Random event markers used to prevent duplicate counting expire after 32 days. A SHA-256 hash of the RevenueCat user identifier and the latest entry source is retained for up to 14 days to attribute a completed purchase. Identifier-free weekly counts by source expire after 400 days. These reports do not contain account identifiers, Coach prompts or responses, training statistics, prices or product details, transaction identifiers, Google profile fields, or advertising data.

Billing. Coach+ subscriptions are processed by Google Play; subscription state is mirrored through RevenueCat (see sub-processors below).

What we never collect or transmit: contacts, photos, location, microphone, camera, browsing activity, contents of other apps.

Account and data deletion

To request deletion of your Digit Span Trainer account identifier and associated off-device data, email pierdo.dev@gmail.com with the subject "Digit Span data deletion".

We will delete or disassociate the Google Sign-In identifier we control, clear account-linked AI Coach records and any current Coach+ purchase-source attribution tied to that identifier, and remove related server-side records under our control. Identifier-free aggregate counts cannot be linked back to an account and expire after 400 days. On-device training data can be deleted at any time by using Reset All Progress in the app or uninstalling the app.

Some subscription and payment records are retained by Google Play and RevenueCat as required for billing, fraud prevention, tax, and legal compliance. Cancelling or deleting app account data does not cancel an active Google Play subscription; manage subscriptions in Google Play.

Dial-In

Dial-In is offline-first. The app stores your shot logs, beans, and preferences on your device and does not transmit those logs to our servers. CSV export writes a temporary file and shares it via the system share sheet; no data is uploaded during export.

Sign-in (optional). If you sign in with Google, we receive a stable Google account identifier used to recognize you across devices and restore cosmetic purchase ownership. Google may also provide basic profile fields such as your email address or display name; we use them only to show your signed-in state in the app.

Billing. Cosmetic purchases are processed by Google Play; purchase state is mirrored through RevenueCat for restore and ownership checks (see sub-processors below).

Dial-In data deletion

To request deletion or disassociation of your Dial-In Google Sign-In identifier and associated off-device purchase/restore records under our control, email pierdo.dev@gmail.com with the subject "Dial-In data deletion".

Shot logs, beans, and preferences are stored on your device. You can delete them in the app's Data Management screen by using Factory Reset (Wipe Everything), by uninstalling the app, or by clearing the app's storage in your device settings.

Some purchase and payment records are retained by Google Play and RevenueCat as required for billing, fraud prevention, tax, and legal compliance. Deleting app account data does not refund or cancel purchases.

Sub-processors

The following third-party services receive limited data when you use Digit Span Trainer's AI Coach or Coach+ measurement, sign in to a supported app, or make or restore purchases.

  • Fireworks AI (United States) — runs the AI model that generates Digit Span Trainer Coach responses. Receives the training statistics digest and an app-scoped user identifier at the time of each Coach tap. It does not receive the separate Coach+ measurement payload.
  • Cloudflare Workers + KV — routes and rate-limits Coach requests and stores app-scoped entitlement, allowance, spend-protection, limited rolling Coach-memory, and Coach+ measurement records. Cloudflare processes request network metadata, including IP addresses, for delivery and rate limiting. Coach+ measurement records follow the retention periods described above; other account-linked Coach records are retained only as needed for entitlement, allowance, spend protection, and limited rolling Coach continuity.
  • Google Sign-In — verifies your identity when you sign in to Digit Span Trainer or Dial-In. We receive your stable Google account identifier. Google may also provide basic profile fields that the apps use on-device to show signed-in state.
  • RevenueCat — manages subscription and in-app purchase state for Digit Span Trainer and Dial-In and sends authenticated subscription and purchase events. It receives a stable app user identifier; an authenticated production initial-purchase event supplies the Coach+ purchase-completion milestone.