Legal
Privacy Policy
This Privacy Policy explains how WCH Apps handles personal data for wchapps.com, the WCH Apps portal, Task Link, watch API endpoints, and related Garmin companion app services.
1. Who is responsible for your data
WCH Apps is operated from Switzerland and is responsible for the personal data processed through the WCH Apps services. For privacy requests, contact support@wchapps.com.
Some connected services, payment providers, hosting providers, and Garmin may act as independent controllers or processors for their own services. Their terms and privacy notices also apply when you use them.
2. Data we collect
- Account data, such as your email address, name, authentication provider identifiers, login state, and account timestamps.
- Watch pairing data, such as app code, platform, part number when supplied, installation identifier, pairing code metadata, pairing and unpairing timestamps, and watch authorization state.
- Task Link connection and settings data, such as connected provider, provider account id, provider email, display name or time zone when returned, your automatic or manual time-zone setting, granted scopes, encrypted access tokens, encrypted refresh tokens, token expiry metadata, and reconnect state.
- Task and list data needed to provide the service, such as provider list names, task names, task ids, completion state, sections, ordering data, cursors, and action results. Task Link normally fetches this data from connected providers and returns it to the portal or watch on demand rather than storing a separate task database, but operational records, idempotency results, logs, and support/debugging records may include limited task metadata.
- Business Pulse connection data, such as the connected Etsy, Shopify, or Stripe account id, account or shop name, currency, granted scopes, encrypted access and refresh tokens, token expiry metadata, and reconnect state.
- Business data needed for Business Pulse watch dashboards, such as sales, orders, refunds, subscriptions, balance transactions, and payouts. Business Pulse reads this data from connected providers on demand and can keep a short-lived dashboard snapshot for reliability. WCH Apps does not create or modify provider orders, subscriptions, payouts, or listings through Business Pulse.
- Billing data, such as Stripe customer ids, subscription ids, checkout session ids, plan, billing interval, subscription status, current billing period, and payment event metadata. WCH Apps does not store full payment card numbers.
- Trial notification data, such as the app, trial dates, delivery state, retry count, and transactional email provider request id.
- Usage and operations data, such as monthly action counts, request ids for idempotency, rate-limit buckets, IP addresses from request headers, error logs, webhook event ids, and timestamps.
- Optional product analytics data, such as page views, UI interactions, browser and device metadata, session replay recordings with form inputs masked, client-side errors, and your account id and email when you are logged in. Client-side analytics and session replay start only after you allow analytics in the privacy choices prompt.
- Server-side security and reliability diagnostics, such as route, method, request path, render context, error information, timestamps, and limited account or request context where available. These diagnostics may be processed even if you decline optional analytics because they are needed to keep the service secure and reliable.
- Product ideas you submit, such as feature or app titles, descriptions, the related WCH Apps product, and your account email so we can assess the idea and contact you when needed.
- Support communications and any information you choose to send when you contact us.
- Local browser data, such as authentication cookies, pairing intent cookies, connection handoff state, and theme preference stored in local storage.
Task Link is not designed to collect Garmin health, activity, biometric, GPS, or sensor data. Do not put sensitive health, financial, or emergency information in task titles if you do not want it processed by WCH Apps and the connected task provider.
3. How we use data
- To create and secure your account.
- To pair, authorize, unpair, and troubleshoot watch app installations.
- To connect your selected task or business providers and refresh provider access tokens when needed.
- To load lists and tasks, update task status, perform bulk actions, and keep provider-specific behavior hidden from the watch API.
- To read connected business-provider data and prepare Business Pulse watch dashboards.
- To start and enforce separate 14-day Starter trials for paired apps, send trial lifecycle notifications, and provide Premium billing, checkout, subscription state, invoices, and payment-related support.
- To rate-limit abusive traffic, detect operational issues, debug failures, and keep the service reliable.
- To understand product usage, review session replays during debugging, and diagnose client-side errors when you allow optional analytics.
- To assess feature requests and new-app ideas, plan product work, and follow up when we need more information.
- To handle support, privacy, deletion, provider disconnect, and account requests.
- To comply with legal, tax, accounting, payment, security, and platform obligations.
4. Legal bases
Where Swiss data protection law, the GDPR, or similar laws apply, we process personal data on these legal bases:
- Contract necessity, when processing is needed to provide your account, watch pairing, provider connections, task sync, business dashboards, and billing.
- Consent, when you authorize a third-party provider connection, choose optional account sign-in methods, or allow optional client-side analytics and session replay with input masking.
- Legitimate interests, such as security, abuse prevention, rate limiting, server-side error diagnostics, debugging, service reliability, and product improvement, where those interests are not overridden by your rights.
- Legal obligation, where records must be kept for tax, accounting, dispute, fraud prevention, or compliance reasons.
5. Connected providers and Google API data
When you connect Todoist, Google Tasks, Microsoft To Do, TickTick, and Toodledo, or another provider, WCH Apps accesses only the scopes you authorize and uses provider data to provide Task Link features. We store encrypted provider tokens so Task Link can continue working after the initial connection, refresh access when the provider allows it, and avoid asking you to reconnect unnecessarily. We may send task status changes, bulk status changes, or future supported task actions back to that provider at your request.
When you connect Etsy, Shopify, or Stripe to Business Pulse, WCH Apps uses read-only access to prepare business dashboard values for your paired watch. Business Pulse does not create or change orders, listings, subscriptions, payouts, or other provider records.
WCH Apps' use and transfer of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements. We do not sell Google user data, use it for advertising, or use it to train generalized AI models.
Disconnecting a provider in the portal removes the WCH Apps connection and clears stored token material. Where a provider supports remote token revocation, WCH Apps attempts revocation. Where it does not, you may also need to revoke access in that provider's own account settings.
6. Garmin and watch apps
WCH Apps provides web and API services used by Garmin companion apps. Any data you submit to WCH Apps or a WCH Apps companion app is submitted to WCH Apps and the connected provider, not to Garmin. Garmin is not responsible for WCH Apps' collection, use, storage, or disclosure of that data.
7. Sharing and processors
We do not sell personal data. We share data only as needed to run the service:
- Supabase, for authentication, database, and application data storage.
- Vercel, for hosting, deployment, logs, and request handling.
- Stripe, for checkout, subscription billing, tax, fraud prevention, and payment records.
- PostHog, for product analytics, session replay with input masking, and error tracking.
- ZeptoMail, for transactional trial lifecycle email delivery.
- Connected task providers, such as Todoist, Google Tasks, Microsoft To Do, TickTick, and Toodledo, to read or update the task data you authorize.
- Connected business providers, such as Etsy, Shopify, and Stripe, to read the business data you authorize for Business Pulse.
- Garmin and Connect IQ surfaces, where needed for app distribution, installation, or platform operation.
- Professional advisers, authorities, or counterparties where required for legal, tax, accounting, security, fraud, dispute, or business-transfer purposes.
8. Cookies and local storage
WCH Apps uses cookies and browser storage for authentication, security, pairing flow continuity, provider connection handoff, and theme preference. If you allow analytics, we also use PostHog analytics cookies and browser storage, served through a WCH Apps first-party proxy, to understand product usage, replay sessions with form inputs masked, and diagnose client-side errors. Declining analytics disables optional client-side analytics and session replay, but essential authentication, security, pairing, provider handoff, and server-side reliability diagnostics still operate. You can change or withdraw your analytics choice from the privacy choices control in the product. We do not currently use third-party advertising cookies in the product.
9. Retention
- Account, paired app, and active provider connection records are kept while your account is active, unless you request deletion and no legal retention requirement applies.
- Unpaired watch installation records may be retained as tombstones for analytics, abuse prevention, and support debugging. Never-paired expired watch rows are cleaned after the pairing code has been expired for more than 6 hours.
- OAuth handshake sessions are short-lived, single-use where applicable, and cleaned after they have expired or been used for more than 24 hours.
- Provider tokens are kept until you disconnect the provider, unpair the app, delete the account, or the token becomes invalid and is cleared.
- Product ideas are kept while your account is active and while we need them for product planning or follow-up. Deleting your account also deletes ideas linked to it, unless a legal retention requirement applies.
- Rate-limit records are cleaned after 24 hours. Task action usage reservations are cleaned after they are finalized or released for more than 24 hours.
- Bulk task-action idempotency records are cleaned after completed requests are more than 7 days old, or pending requests are more than 24 hours old.
- Task Link list-load events, including the load time and linked account and watch identifiers, are kept for up to 180 days. Lifetime usage totals remain while your account is active.
- Billing checkout attempt records are cleaned after checkout sessions have been expired for more than 7 days, or after checkout creation records without a Stripe session are more than 24 hours old.
- Processed, dead-lettered, or security-related webhook and Google RISC event records may be retained for up to 180 days for audit, replay, abuse-prevention, and security purposes.
- Sent, suppressed, and dead-lettered trial email outbox records are retained for up to 180 days for delivery audit and reliability.
- Billing and payment records may be retained for tax, accounting, chargeback, audit, and legal requirements.
- Application and hosting logs are retained only as long as reasonably needed for security, debugging, abuse prevention, and service operation, subject to processor retention settings.
10. Security
We use technical and organizational measures designed to protect personal data, including HTTPS in transit, database access controls, encrypted provider token storage, short-lived OAuth sessions, rate limiting, and limited internal access. No internet service can be guaranteed to be perfectly secure.
11. International transfers
WCH Apps is operated from Switzerland, but providers and processors may process data in other countries. Where required, we rely on appropriate safeguards such as contractual data protection terms, standard contractual clauses, adequacy decisions, or other lawful transfer mechanisms.
12. Your rights
Depending on where you live, you may have rights to access, correct, delete, export, restrict, or object to processing of your personal data, to withdraw consent for provider connections or optional analytics, and to complain to a data protection authority. You can disconnect providers and unpair watch apps in the portal. For account deletion, data access, export, correction, objection, or other privacy requests, contact support@wchapps.com.
We may need to verify your identity before acting on a request. We may keep records where required or permitted for tax, accounting, security, fraud prevention, dispute, backup, or legal reasons.
13. Children
WCH Apps is not directed to children and should not be used by anyone under 16 without a parent or legal guardian where consent is required by law.
14. Changes
We may update this Privacy Policy when the service, providers, legal requirements, or data practices change. The latest version will be posted on this page with the updated date.