NeatDone

Privacy Policy

Updated 2026-11-03

How NeatDone handles accounts, tasks, sync, and AI requests across the web and Android apps.

Scope

This policy covers the NeatDone website, Web app, and Android app. We process information as described below to provide the service. We do not make unverified promises about storage regions, third-party model training, or fixed deletion timelines.

Data stored on your device

When you are signed out, tasks, steps, and preferences are stored in the current browser or Android device. The Web app may use IndexedDB or browser storage; the Android app uses on-device app storage. Theme, language, and sign-in session settings may also be stored on your device.

Signing out does not automatically erase local data. Clearing website data or uninstalling the app may remove local copies; make sure you have synced or backed up anything you need first.

Accounts, sign-in, and cloud sync

You can sign in with an email and password or with Google. Supabase provides account authentication and session services; Google handles Google sign-in under its own policies.

When you sign in, tasks, subtasks, schedules, categories, preferences, reviews, AI insights, and related sync data can sync between your devices and the Supabase backend used by NeatDone so that the Web and Android apps share an account. Database row-level security is used to restrict account data access. Standard requests also pass through Cloudflare services used to deliver and protect the website.

Google sign-in data

When you choose Google sign-in, Google provides Supabase Auth with the basic identity information needed to sign you in, such as a stable Google account identifier and email address; basic profile details such as your name or picture may also be returned when available. The NeatDone client uses your Supabase user ID and email to authenticate your account, associate it with your NeatDone user, and provide account features such as task sync across devices.

Google sign-in is used for authentication only. NeatDone does not request access to Gmail, Google Drive, Calendar, Contacts, or other Google services. We do not use Google sign-in data for advertising or send it to our AI model provider. Task content that you actively submit for an AI feature may be sent as described below, but Google sign-in data is not included in AI requests.

Supabase Auth processes and stores the Google identity and related account metadata needed to operate your account. While you are signed in, your device stores NeatDone session information and sends session requests to Supabase. Signing out ends the session on that device but does not delete your account or cloud data; see below for account-data deletion requests.

Content sent when you choose to use AI

When you actively request AI planning, task discussion, status advice, or a review, the request may include the context needed for that feature: task titles and descriptions, subtasks, statuses, dates and times, categories, text you enter, relevant history or review content, and app-generated context. The exact data depends on the feature and account data involved.

AI requests are processed by the model service configured by NeatDone. The current production AI configuration uses DeepSeek. The provider may receive request content to generate a response and handle it under its own terms and privacy policy. We make no unverified claims about third-party retention or training. Do not include passwords, payment details, or other unnecessary sensitive information in AI input.

Guest AI planning and temporary drafts

The homepage form first saves a draft on your device and opens the workspace. When you request generation there, your submitted text is sent through Cloudflare to the model service configured by NeatDone. Your time zone is used to interpret explicit times. Suggested dates and estimated effort remain editable draft information until you confirm and save. Existing NeatDone task times may be checked locally for obvious overlaps; guest model requests do not include account tasks or memories. External calendars are not checked.

Planning drafts expire after 24 hours in this browser; expired drafts are removed on the next access. After import, the temporary draft content is cleared. Tasks you choose to add follow the normal local storage and account sync rules. A signed browser cookie and a keyed hash of the request IP help enforce daily limits. Quota records contain counts, not task content; expired quota records are removed after their enforcement window. Turnstile processes browser and request signals to protect the form.

Application analytics do not record planning text. Cloudflare and model providers may process operational logs under their own policies.

Usage analytics and diagnostics

Website analytics record page path, language, traffic-source details such as referrer host and UTM campaign tags, interaction type, and a short-lived random session identifier. We also use self-hosted Umami analytics to record page views, referrers, browser and device categories, coarse location, and performance metrics. These analytics do not record task contents, account IDs, or email addresses, and session replay is disabled. Records are stored in the Supabase project used by Growth Hub, separately from task and account data. Cloudflare, Vercel, Supabase, and related providers may also process standard request and security logs while providing their services.

If you choose to upload Android reminder diagnostics, a report may include app-generated reminder activity, device and app version, permission and delivery status, and an account reference so we can investigate reminder problems. Review the in-app notice before submitting. You can also contact support.

Payments

Paid subscriptions are processed through Stripe or Creem. The selected provider receives the information needed to complete checkout, manage subscriptions, prevent fraud, and handle billing and refunds. NeatDone stores customer and subscription identifiers and membership status, but not full card numbers. Sandbox records are separate from production memberships.

Retention, access, and deletion requests

Local copies remain on your device until you clear or uninstall them. Cloud data associated with a signed-in account is retained for as long as needed to provide sync, account, and service operations; third-party services may keep related records under their own policies. We do not promise a fixed retention period.

You can request access to, correction of, or deletion of account-related cloud data using the deletion request below. We manually verify the request is associated with the account before processing it. Signing out only ends the current device session; it does not delete the account or cloud data. You must also clear local copies from devices where you no longer need them.

Policy updates and contact

If the service or its data practices change, we will update this page and its revision date. Contact NeatDone through the support channel with privacy questions or requests.

Automatic reviews and reliable retries

For signed-in accounts, automatic reviews are enabled by default and can be turned off in account settings. When you visit the review page, we use relevant tasks, steps, and review records to update an available report if activity has changed. An unchanged report is reused across devices. Automatic reports are stored with your account; account deletion removes the associated reports. Successful AI responses are available for interrupted-request recovery for 24 hours, without a duplicate generation; expired response caches are removed by periodic maintenance. Server-only usage and request records enforce account allowances; usage records expire after 90 days and are removed by periodic maintenance. They are not used for advertising.

Contact support@neatdone.com