Last updated: 16 April 2026
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.
When you create an account, we collect:
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.
When you log in, we create a session record that includes:
If you opt in to push notifications, we store:
Push notifications are entirely optional and require your explicit consent.
If you enable two-factor authentication (2FA), we store:
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:
cus_xxx) linking your ToDoodle account to your billing record at Stripe.sub_xxx) and the current subscription status (such as active, past_due, or canceled).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.
For administrative and security purposes, we store two flags on your account:
| Purpose | Data used |
|---|---|
| Providing the service (sync tasks, notes, and boards across your devices) | Account data, content you create |
| Authenticating you and keeping your account secure | Email, password hash, session token, IP address, device name |
| Managing your free trial and determining whether you have premium access | Account creation date, subscription identifiers, subscription status, override flag |
| Processing payments and managing subscriptions | Email (shared with Stripe), Stripe customer and subscription identifiers |
| Delivering push notifications you have opted into | Push subscription data, timezone |
| Verifying your identity with two-factor authentication | TOTP secret, backup code hashes |
| Enforcing account suspension where required | Suspension flag, email |
| Diagnosing server errors | User 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 basis | Applies 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. |
We use a single, strictly necessary cookie:
| Name | Purpose | Type | Duration |
|---|---|---|---|
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.
ToDoodle uses your browser's local storage to provide offline functionality and improve performance:
| Key | Purpose |
|---|---|
weekflow_data | Local cache of your tasks, notes, and settings so the app works offline. |
noodle_last_sync_at | Timestamp of the last successful sync with the server. |
noodle_current_view | Remembers whether you last viewed the Tasks or Notes screen. |
noodle_board_* | Cached board content for each board you've opened. |
noodle_dek | Your data encryption key (only present if you enable end-to-end encryption). This key never leaves your browser. |
noodle_sync_user | Basic 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.
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.
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.
Paid subscriptions to ToDoodle are handled by Stripe, Inc., our third-party payment processor. Stripe is a PCI-DSS-compliant payment service provider.
When you subscribe, we send the following to Stripe:
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.
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.
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.
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.
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.
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.
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.
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.
| Data | Retention period |
|---|---|
| Account data (email, password hash) | Retained until you delete your account. |
| Tasks, notes, and boards | Retained 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). |
| Sessions | Automatically deleted 90 days after creation, or when you manually revoke them. |
| Push subscriptions | Retained 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 logs | Retained according to the hosting provider's log rotation policy (typically 14–30 days). |
Under the GDPR, you have the following rights regarding your personal data:
We take the following measures to protect your data:
HttpOnly, Secure, and SameSite=Lax.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.
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.
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