← Back to ToDoodle

Privacy & Cookie Policy

Last updated: 16 April 2026

Contents
  1. Who we are
  2. What data we collect
  3. How we use your data
  4. Legal basis for processing
  5. Cookies & local storage
  6. End-to-end encryption
  7. Subscriptions & payments
  8. Third-party services
  9. Admin access
  10. Data retention
  11. Your rights
  12. Data security
  13. Children's privacy
  14. Changes to this policy
  15. Contact

1. Who we are

ToDoodle is a personal productivity application for managing tasks, notes, and boards. When this policy refers to "ToDoodle", "we", "us", or "our", it means the operator of the ToDoodle service. When it says "you" or "your", it means you, the user.

2. What data we collect

2.1 Account data

When you create an account, we collect:

2.2 Content you create

The core data you produce while using ToDoodle:

If you enable end-to-end encryption (see Section 6), the text fields of your tasks, notes, and boards are encrypted in your browser before being sent to our server. The server only stores ciphertext and cannot read your content.

2.3 Session & device data

When you log in, we create a session record that includes:

2.4 Push notification data

If you opt in to push notifications, we store:

Push notifications are entirely optional and require your explicit consent.

2.5 Two-factor authentication data

If you enable two-factor authentication (2FA), we store:

2.6 Subscription & billing data

ToDoodle is offered with a 7-day free trial, after which continued use of sync and premium features requires a paid subscription (£36/year). If you start a subscription, we store the following references to enable and manage your subscription:

We do not store or have access to your payment card details. All payment information (card number, expiry, billing address, etc.) is collected and stored directly by Stripe, our payment processor, on their PCI-DSS-compliant systems. See Section 7 for details about Stripe.

2.7 Account status

For administrative and security purposes, we store two flags on your account:

2.8 What we do NOT collect

3. How we use your data

PurposeData used
Providing the service (sync tasks, notes, and boards across your devices)Account data, content you create
Authenticating you and keeping your account secureEmail, password hash, session token, IP address, device name
Managing your free trial and determining whether you have premium accessAccount creation date, subscription identifiers, subscription status, override flag
Processing payments and managing subscriptionsEmail (shared with Stripe), Stripe customer and subscription identifiers
Delivering push notifications you have opted intoPush subscription data, timezone
Verifying your identity with two-factor authenticationTOTP secret, backup code hashes
Enforcing account suspension where requiredSuspension flag, email
Diagnosing server errorsUser ID and error message (logged temporarily in server error logs)

We do not use your data for advertising, profiling, or any purpose other than those listed above.

Under the General Data Protection Regulation (GDPR), we rely on the following legal bases:

Legal basisApplies to
Performance of a contract (Art. 6(1)(b))Account registration, data synchronisation, subscription management, processing payments, and all core functionality — these are necessary to provide the service you signed up for.
Consent (Art. 6(1)(a))Push notifications — you explicitly opt in, and can revoke consent at any time by disabling notifications.
Legitimate interest (Art. 6(1)(f))Session management (IP address, device name), account suspension enforcement, and server error logging — necessary to maintain security and diagnose issues, balanced against minimal privacy impact.
Legal obligation (Art. 6(1)(c))Retention of billing and transaction records by our payment processor (Stripe) to meet tax, accounting, and anti-fraud requirements.

5. Cookies & local storage

5.1 Cookies

We use a single, strictly necessary cookie:

NamePurposeTypeDuration
noodle_token Keeps you logged in by identifying your authenticated session. Strictly necessary (first-party) 90 days

This cookie is set with the HttpOnly, Secure, and SameSite=Lax flags. It is not accessible to JavaScript and is only sent over HTTPS.

We do not use advertising, analytics, or any other third-party cookies on the ToDoodle website itself.

Stripe cookies: When you click "Subscribe" or "Manage subscription", you will be redirected to pages hosted by Stripe (our payment processor). Those pages set their own cookies to process your payment securely, detect fraud, and remember your billing session. These cookies are set by Stripe and governed by Stripe's cookie policy. They are only set on Stripe-hosted pages, not on ToDoodle.

5.2 Local storage

ToDoodle uses your browser's local storage to provide offline functionality and improve performance:

KeyPurpose
weekflow_dataLocal cache of your tasks, notes, and settings so the app works offline.
noodle_last_sync_atTimestamp of the last successful sync with the server.
noodle_current_viewRemembers whether you last viewed the Tasks or Notes screen.
noodle_board_*Cached board content for each board you've opened.
noodle_dekYour data encryption key (only present if you enable end-to-end encryption). This key never leaves your browser.
noodle_sync_userBasic session state (whether you are logged in).

All local storage data is cleared when you log out. Local storage is not shared with any third party.

5.3 Service worker cache

A service worker caches static application files (HTML, CSS, JavaScript, fonts) so the app loads quickly and works offline. API responses containing your data are never cached by the service worker.

6. End-to-end encryption

ToDoodle offers optional end-to-end encryption. When enabled:

Important: If you enable encryption and lose both your password and recovery key, your data cannot be recovered — by you or by us.

Metadata that is not encrypted includes: dates, timestamps, completion status, sort order, colour, note type, and sync identifiers. This metadata is necessary for the application to function (sorting, filtering, syncing) without decrypting your content.

7. Subscriptions & payments (Stripe)

Paid subscriptions to ToDoodle are handled by Stripe, Inc., our third-party payment processor. Stripe is a PCI-DSS-compliant payment service provider.

7.1 What Stripe receives from us

When you subscribe, we send the following to Stripe:

7.2 What Stripe collects directly from you

When you check out or manage your subscription, you interact with pages hosted by Stripe. On those pages Stripe collects and stores:

ToDoodle never sees, receives, or stores your payment card details. This data lives exclusively within Stripe's systems.

7.3 What we receive back from Stripe

After a successful payment, Stripe notifies our server (via a secure webhook) of:

We do not receive or store your card details or full billing address via these webhooks.

7.4 Stripe's privacy policy

Stripe acts as a joint controller / independent data controller for the information it collects from you directly during checkout. Their handling of that data is governed by their own privacy policy: stripe.com/privacy.

7.5 Trials, overrides, and cancellation

New accounts include a 7-day free trial during which no payment information is required. If you do not subscribe before the trial ends, sync and premium features are paused, but your local data remains accessible. You can cancel your subscription at any time from the Stripe-hosted customer portal, accessible via Settings. Cancellation takes effect at the end of your paid period.

Administrators may also manually grant premium access to specific accounts without a Stripe subscription (e.g. for complimentary or promotional access). In this case no payment data is involved.

8. Other third-party services

8.1 Google Fonts

We load typefaces from Google Fonts (fonts.googleapis.com and fonts.gstatic.com). When your browser requests these fonts, Google may receive your IP address and standard HTTP request headers. Google's privacy policy applies to this data: policies.google.com/privacy. Font files are cached by the service worker after the first load, reducing subsequent requests to Google.

8.2 Web push services

If you enable push notifications, your browser's built-in push service (operated by Google, Apple, or Mozilla, depending on your browser) acts as an intermediary to deliver notifications to your device. We send an encrypted notification payload to the push service endpoint; the push service cannot read the content. The push service operator's own privacy policy governs their handling of delivery metadata.

8.3 No other third parties

Apart from Stripe (see Section 7), Google Fonts, and browser push services, we do not share, sell, or transfer your data to any other third party. There are no analytics providers, advertising networks, or external APIs integrated into ToDoodle.

9. Admin access

A small number of designated administrator accounts can access an admin panel used to operate the service. Through this panel an administrator can see, for every registered user:

Administrators cannot read the contents of your tasks, notes, or boards through the admin panel. If end-to-end encryption is enabled on your account, administrators (like all server operators) also cannot read your content through any other means.

Administrators can perform the following actions on accounts:

These actions are logged in the database. Admin access is granted only to personnel required to operate the service.

10. Data retention

DataRetention period
Account data (email, password hash)Retained until you delete your account.
Tasks, notes, and boardsRetained until you delete them. Optionally, the auto-archive feature can automatically delete completed tasks and old notes after a period you choose (6 months to 3 years).
SessionsAutomatically deleted 90 days after creation, or when you manually revoke them.
Push subscriptionsRetained until you disable notifications or the subscription endpoint becomes invalid.
Subscription identifiers (Stripe customer / subscription IDs, status)Retained while your account exists. Deleting your ToDoodle account removes these references from our database; the underlying billing records held by Stripe are retained by Stripe under their own retention policy (typically several years for tax and anti-fraud purposes).
Server error logsRetained according to the hosting provider's log rotation policy (typically 14–30 days).

11. Your rights

Under the GDPR, you have the following rights regarding your personal data:

12. Data security

We take the following measures to protect your data:

13. Children's privacy

ToDoodle is not directed at children under the age of 16. We do not knowingly collect personal data from children. If you believe a child under 16 has provided us with personal data, please contact us so we can delete it.

14. Changes to this policy

We may update this policy from time to time. When we do, we will revise the "Last updated" date at the top of this page. If we make material changes to how we process your data, we will notify you through the app. Your continued use of ToDoodle after a policy update constitutes acceptance of the revised terms.

15. Contact

If you have questions about this policy, wish to exercise your data protection rights, or need to request account deletion, please contact us at:

Email: contact@todoodle.co