Taskr Privacy Policy

Last updated: October 15, 2026 · Version 2.6

BMA Nexus

This Privacy Policy describes how Taskr ("we", "our", or "the app"), developed and operated by BMA Nexus, collects, uses, processes, stores and protects your personal data when you use the Taskr mobile application available on Google Play. It also describes your rights under the EU General Data Protection Regulation (GDPR) and how to exercise them.

Table of Contents

  1. Information we collect
  2. Legal basis for processing (GDPR Art. 6)
  3. How we use your information
  4. Data storage & security
  5. Sharing data with other users (shared lists)
  6. Third-party services
  7. International data transfers
  8. Data retention
  9. Your rights under GDPR
  10. Account & data deletion
  11. Children's privacy
  12. Changes to this policy
  13. Contact & data controller

1. Information We Collect

Taskr is built around the principle of data minimization. We only collect what is strictly necessary to provide the features you have chosen to use. The data we may collect is grouped below by the feature that triggers its collection.

1.1 Account data (only if you create an account)

1.2 Task data

1.3 Shared-list data (only if you share or join a list)

1.4 Attachments (only if you upload files)

1.5 Push notification token (if you are signed in and have allowed notifications)

1.6 Location data (optional, on-demand)

Taskr can attach a geographic location to individual tasks if you explicitly request it:

1.7 What we DO NOT collect

Taskr contains no advertising, no tracking of what you do in the app, and no profiling.

1.8 Notification content (lock-screen visibility)

Both local reminders and shared-task push notifications include the task text in the notification body:

1.9 Subscription & purchase data

Taskr Pro is an optional paid subscription sold through Google Play's billing system (the current price is shown in the app and on Google Play before you confirm). The 14-day free trial involves no purchase data. If you are not signed in, the trial is tracked only in local app storage on your device and starts the first time you open the app. If you are signed in, it runs until 14 days after your account was created: the app reads the creation date of your account from Supabase Auth (Section 1.1), and our server applies the same rule to give accounts in their trial the member limit of Pro for shared lists (Section 5.1) and the storage quota of Pro. While you are signed in to an account that is older than 14 days, a trial still running on the device does not apply; after you sign out, the trial of the device applies again. To determine whether your account has Pro status, Taskr uses the RevenueCat SDK on every installation, whether or not you ever buy anything: it receives an anonymous app-user identifier and, once you sign in, your Taskr account identifier (Section 6.8). If you choose to subscribe:

Where the EU General Data Protection Regulation applies, we rely on the following legal bases to process your data:

3. How We Use Your Information

We do not sell, rent, trade or share your personal data with third parties for marketing purposes. We do not profile users.

4. Data Storage & Security

4.1 On-device storage

When you use Taskr without signing in, your lists, tasks, Notebook notes and settings are stored only on your device, using Capacitor Preferences (Android's SharedPreferences), which is sandboxed to the Taskr app and protected by the operating system. This content never leaves your device, unless you hand it to another app yourself, for example by exporting, sharing or opening a link (Sections 6.4 to 6.6). Separately, the RevenueCat SDK sends an anonymous identifier and basic technical metadata to RevenueCat on every installation (Section 6.8). If you allow notifications, Google Play services also issues a push token for your device; Taskr only stores that token once you sign in (Section 1.5).

Local key structure: the primary storage key is tf-v4 (Capacitor Preferences / Android SharedPreferences). It contains your lists, tasks, app settings, and onboarding state in a single JSON document. The same document also holds a local copy of the full content of every task in every shared list you belong to (field sharedTasks, including tasks written by other members); this copy is used by the home-screen widgets and for reminders while the app is closed. This copy also contains the account identifiers (Supabase user IDs, not e-mail addresses) recorded on shared tasks (Section 5.2). Your Notebook is stored under a separate key, tf-notes. Two further items can hold task content: edits to shared tasks that you make while offline wait in a local queue (tf-shared-queue-v1) until they are sent, and a video or document of up to 20 MB that you open is temporarily copied into the app's private cache folder (taskr-open) so the viewer app can read it. While a registration waits for confirmation of your e-mail address, the address you typed is kept in the app's local storage (taskr-pending-signup), together with the time the confirmation e-mail was last requested from this device, so that opening the confirmation link on this device signs you in directly; for this, the record is ignored 48 hours after that time, and it is removed as soon as you sign in. As of app version 1.8.0, the same record is also written, with a new time and so for another 48 hours, when you ask for the confirmation e-mail again from the sign-in screen, also on a device where you did not register; the app also uses it to keep that button switched off for a minute. As of that version, a record written when you register also keeps when your account was created, as reported by our server, and while no account is signed in on this device, the app shows the address from the record in a red row under the header that asks you to confirm your account and sign in; tapping the row opens the sign-in screen with that address filled in. The row is shown until 30 days after your account was created or 7 days after the last confirmation e-mail requested from this device, whichever is later (for a record that was written only because you asked for the e-mail again, until 7 days after that e-mail). From that version, the app removes the record when it runs after that date, and also when it cannot read the record. Also as of app version 1.8.0, when you sign in or open a confirmation link, the app sets a small marker (tf-pull-pending: a time and a reason word, no account identifier) so that it first fetches your account's data from the cloud; the marker is normally removed once your data is in sync and is not synced itself. All of this is removed when you sign out, delete your account or use "Clear all data" (Section 10.1). Images, audio files and files larger than 20 MB that you open are not copied but shown in your device's browser through a temporary signed link to the file (valid for 10 minutes; for an image, the link already made for its preview, valid for up to 24 hours, can be used instead); the same happens with a video or document when no app on your device can open it or the copy fails. The link may remain in the browser's history, which Taskr cannot clear, but stops working when it expires.

Trial and Pro-status record: a separate key, tf-pro-v1, holds the local record of your trial and Pro status. It contains when the free trial on this device started; the subscription status last received from RevenueCat, the subscription product last seen on this device and the moment this device first saw an active subscription; the latest time the app has seen, to detect a clock that was set back; while you are signed in, the last confirmed status of your account (its account identifier, its creation date and whether it has permanent Pro), so that your plan is still known when the app cannot check your session, for example offline; which account, or the trial of the device, last had Pro on this device and in what form (trial, subscription or permanent); and one-time markers, such as when, and for which account, the notice about the end of Pro was last shown or skipped. Where it records an account, it uses the account identifier (Supabase user ID), never your e-mail address or task content. This record is not synced and is not removed when you sign out or use "Clear all data"; deleting your account in the app removes that account's identifier from it. Section 8 describes what stays in it.

Corruption backups: if Taskr detects a JSON parse error on startup (e.g. partial write during a crash), the raw corrupted data is preserved under tf-v4-corrupt-<timestamp> (or tf-notes-corrupt for the Notebook) as a debugging safeguard and, if you are signed in, Taskr restores your data from your cloud copy instead of starting empty. These backups are removed when you use Settings → "Clear all data", sign out or delete your account; they are not otherwise auto-deleted.

4.2 Cloud storage (only if you sign in)

If you create an account, your task data is synced to a Supabase PostgreSQL database in the EU region (Ireland). Your own row in the user_data table holds your lists, tasks, settings and onboarding state, and your Notebook in a separate notes column; tasks in shared lists live in the shared_tasks table (Section 5). Supabase is SOC 2 Type II compliant. Your data is protected by:

4.3 Attachments storage

Attachments are stored in Supabase Storage (S3-compatible object storage hosted by Supabase in Ireland). Each file is namespaced under your user ID and protected by RLS policies that mirror your list access.

4.4 Notification tokens

FCM device tokens are stored in our database (table fcm_tokens), bound to your user ID. They are used solely to route shared-list push notifications to your device. Tokens are deleted when you sign out or delete your account.

4.5 Subprocessors

Supabase, our infrastructure provider, hosts its EU region on Amazon Web Services (AWS) in Ireland. AWS is therefore a subprocessor of Supabase. Supabase's full subprocessor list is available at supabase.com/privacy.

4.6 Realtime sync for shared lists and invitations

While you have a shared list open in the app (as its owner or as a member), Taskr maintains a Supabase Realtime channel for that list (over a secure WebSocket connection to wss://qgeuniiclrzndzmayekt.supabase.co) to receive instant updates from other members. Edits you make while offline are queued locally and flushed when connectivity returns. The channel transmits only task content for that specific shared list, including the account identifiers described in Section 5.2, plus the time of the last change; your private tasks never traverse this channel.

As of app version 1.8.0, while you are signed in and Taskr is open on your screen, the app also keeps a Realtime channel for invitations open, also when you have no shared list open, so that a new invitation to a shared list can appear without you having to return to the app (Section 5.1). It uses the same secure WebSocket connection to wss://qgeuniiclrzndzmayekt.supabase.co as the channel of a shared list; when no shared list is open, the app opens this connection for the invitation channel alone. To receive only what concerns you, the app subscribes to this channel with your own e-mail address as a filter; Supabase receives this filter together with your sign-in token, keeps them with the channel while it is open, and uses them to send you only changes to entries that our server lets you read. Our server sends a message on this channel when an entry with your address in the member list of a shared list is added or changed, for example a new invitation, your own entry when you share a list, or your entry when you accept an invitation. Each such message contains that entry: its identifier and that of the shared list, your e-mail address, the role, the status, the time of the invitation and, once the entry belongs to your account (your own entry when you share a list, or after you accept), your account identifier. The app does not use the content of such a message, but fetches your open invitations again. No task content travels over this channel. The app closes it when Taskr goes to the background or you sign out, and opens it again when you return to the app or the connection returns.

5. Sharing Data With Other Users (Shared Lists)

Taskr lets you collaborate on lists with other people. Sharing a list is fully opt-in and only happens when you explicitly create a share link or send an email invite.

5.1 What happens when you invite someone

5.2 What accepted members can see and do

5.3 Stopping sharing

You are responsible for choosing who to invite and for the content you place in a shared list. We recommend not putting sensitive personal information of third parties into shared tasks unless those parties have consented.

6. Third-Party Services

Taskr uses the following third-party services. Each link points to that provider's own privacy policy.

6.1 Supabase

6.2 Firebase Cloud Messaging (FCM) — Google

If you do not want push notifications, you can deny the POST_NOTIFICATIONS permission when prompted, revoke it later in Android Settings → Apps → Taskr → Notifications, or simply not sign in (push notifications are only used for shared lists).

6.3 Google Play Services

6.4 External maps applications (your choice)

If you add a location to a task and tap "Open in Maps", Taskr launches your device's default maps application (Google Maps, Apple Maps, etc.) with the address you entered or, if the task has coordinates, with those coordinates (the text you typed is then passed along as a label). We do not send the location to any server — we simply hand off to your maps app. The maps app's privacy policy applies once the handoff occurs.

6.5 External browser (URL handoff)

Taskr automatically detects URLs in your task text, subtask text, task details and Notebook notes (matching https://... and www.... patterns). When you tap such a link:

If you do not want a URL to open externally, simply do not tap it. URL detection is purely visual; the text itself is not modified.

6.6 Android share sheet (export and invite links)

Two features hand data to the Android share sheet, which allows you to forward it to any other app on your device (Email, SMS, WhatsApp, cloud storage apps, etc.):

Taskr does not control what the receiving app does with the data once you tap "share". Choose the receiving app carefully.

6.7 Resend (transactional email service)

When you send an invite to a shared list using the e-mail field (instead of the share-link button), Taskr sends an automated invitation e-mail to the invitee through Resend (operated by Resend Labs Inc., USA, with EU region in Ireland). The same Resend service is also used to deliver Supabase Auth e-mails such as account confirmation and password reset.

If you do not want an invite e-mail to be sent, use the "Share via link" button instead (Section 6.6) — that pathway never touches Resend.

6.8 RevenueCat (Pro subscription management)

Taskr uses RevenueCat (operated by RevenueCat, Inc., United States) to determine whether your account has Pro status and, if you subscribe, to validate the purchase with Google Play, keep your subscription status up to date, and unlock Pro across your devices. The RevenueCat SDK is initialised on every installation, whether or not you ever buy anything. RevenueCat acts as our data processor / service provider — it processes this data only on our instructions, not as an independent party for its own purposes (which is why, in Google Play "Data safety" terms, this is disclosed as collected but not shared).

6.9 Google Play Billing (payments)

Payments for Taskr Pro are processed entirely by Google Play's billing system. Google handles your payment method, the transaction and the purchase token, and any billing or refund support. We never receive your card number or billing details — only confirmation (via RevenueCat) that a valid subscription exists. Google's processing of your payment is governed by the Google Privacy Policy.

We do not embed any advertising networks, behavioural-analytics platforms, profiling SDKs or social-media SDKs. Apart from our backend provider Supabase (Section 6.1) and Google Play itself (Sections 6.3 and 6.9, including its in-app rating prompt, Section 1.7), the only third-party SDKs that process your data are RevenueCat (Section 6.8, Pro status and subscription management) and Firebase Cloud Messaging (Section 6.2, shared-list push notifications).

7. International Data Transfers

Your account data and task data are stored in the EU (Ireland), and our own server functions run in Ireland as well. Only calls from app versions older than 1.7.0 may still be handled in a Supabase region outside the EU (Section 6.1); updating the app ends this.

However, push notifications sent via Firebase Cloud Messaging may transit through Google servers located outside the EU. Google relies on the EU-US Data Privacy Framework and Standard Contractual Clauses (SCCs) approved by the European Commission to comply with EU data protection law for these transfers. Details: policies.google.com/privacy/frameworks.

The identifiers and technical metadata described in Section 6.8 are sent by the RevenueCat SDK, on every installation, to RevenueCat's servers in the United States; if you subscribe to Taskr Pro, your subscription and purchase data are processed there as well. RevenueCat relies on the European Commission's Standard Contractual Clauses (and, where applicable, the EU–US Data Privacy Framework), as set out in its Data Processing Addendum, to provide an adequate safeguard for this transfer.

8. Data Retention

9. Your Rights Under GDPR

If you are located in the European Economic Area (EEA), the United Kingdom or Switzerland, you have the following rights:

To exercise any of these rights, contact us at bmanexusapps@gmail.com. We will respond within 30 days as required by GDPR Art. 12.

10. Account & Data Deletion

Creating an account is entirely optional. The app works fully offline without one.

10.1 Clear all data (in Settings)

Open the app → Settings → Clear all data. As of app version 1.8.0, if you are signed in (or a sign-in session is still stored on your device) and your device reports that it is offline, "Clear all data" does not start: the app tells you that a connection is needed, because your cloud data is cleared as well. Without an account it always runs. Taskr performs a synchronous wipe in this order:

  1. Attachments (if you are signed in): every file you uploaded that is still linked to a task you can reach at that moment (your personal tasks and tasks in the shared lists you are still in) is deleted from Supabase Storage. Files on tasks in lists you left earlier are no longer reachable from the app; they are removed only when your account is deleted through the e-mail route (Section 10.2). The same applies to files that are no longer linked to any task.
  2. Shared lists you own: each is unshared (cascade delete — see Section 5.3). All members lose access.
  3. Shared lists you joined: you leave each (your membership is removed; the list survives for the owner and other members).
  4. On-device data: tf-v4, tf-notes, all corruption backups, the local copy of shared tasks, the offline queue, the cache of opened attachments, the record of a registration awaiting confirmation, with its e-mail address, and the marker tf-pull-pending (Section 4.1) are removed. Not removed are your sign-in session (if you are signed in, you stay signed in) and technical records without task content, such as the local trial and Pro-status record tf-pro-v1 (Section 4.1), the rating counter (Section 1.7) and a one-time maintenance marker for reminders. While you stay signed in, tf-pro-v1 can still hold the last confirmed status of your account, including its account identifier and creation date.
  5. Cloud user data (if you are signed in): your user_data row is wiped (lists, tasks, notes and settings set to empty).

This action is irreversible. Local notifications you previously scheduled are also cancelled. Note that "Clear all data" does not delete your Supabase Auth account itself (your e-mail + password remain) — see 10.2 for full account deletion.

10.2 Delete your account and all remaining cloud data

You can delete your authentication account itself (e-mail + password in Supabase Auth) and any remaining cloud data in two ways.

In the app: sign in, open Settings → Delete account and confirm. Taskr then, immediately and without a confirmation e-mail:

This is irreversible. Your RevenueCat customer record (Section 6.8) is not removed by this button; e-mail us if you want it deleted as well. Deleting your account does not cancel a Taskr Pro subscription that you bought through Google Play; you cancel it in Google Play (Section 6.9). As of app version 1.8.0, if your Pro comes from such a subscription, the confirmation dialog says so and offers a button that opens your subscriptions in Google Play.

By e-mail: send an email to bmanexusapps@gmail.com with the subject "Account Deletion Request" and from the email address registered with Taskr. We will:

If you are the owner of a shared list at the moment of account deletion, that list is unshared (cascade delete) and all members lose access.

An invitation that another user sent to your e-mail address and that you have not accepted is not removed with your account: it stays with that list, with your e-mail address, until the owner removes it or the list stops being shared. If your address is confirmed, you can decline such an invitation in the app before you delete your account; declining removes it (Section 5.1).

11. Children's Privacy

Taskr is suitable for users aged 13 and older.

In the European Economic Area, processing the personal data of a child under 16 on the basis of consent requires authorization from a parent or legal guardian (GDPR Art. 8). If you are under 16 in the EEA, please ask a parent or guardian to create the account on your behalf or to confirm your use of Taskr.

We do not knowingly collect personal information from children under 13. If you believe a child under 13 has provided personal information to us, please contact bmanexusapps@gmail.com and we will delete it promptly.

12. Changes to This Policy

We may update this Privacy Policy from time to time. When we make material changes:

Continued use of the app after changes constitutes acceptance of the updated policy. You can always review the latest version at the URL where this page is published.

12.1 Version history

Version 2.6 (October 15, 2026):

Version 2.5 (October 8, 2026):

Version 2.4 (September 8, 2026):

Version 2.3 (June 29, 2026):

Version 2.2 (May 27, 2026):

Version 2.1 (May 26, 2026):

Version 2.0 (May 10, 2026): initial GDPR-compliant rewrite with Supabase + FCM disclosure. Superseded v1.0 (April 2026).

13. Contact & Data Controller

The data controller for the personal data we process is:

BMA Nexus
Email: bmanexusapps@gmail.com

For any privacy questions, data-subject access requests or complaints, please use the email address above. We aim to respond within 30 days as required by GDPR Art. 12.

Language note: This Privacy Policy is provided in English. The Taskr app is available in 12 languages, but this legal document is currently only authoritative in its English version. We are happy to clarify any section by email in any of Taskr's supported languages.