Privacy Policy
1. Introduction
XdoList ("we", "the app") is a task management application. We highly value your privacy, and this privacy policy explains how we collect, use, store, and protect your personal information.
2. Data We Collect
2.1 Data You Provide
Task Data:
- Task title, description, priority, due date
- Task category names and colors
- Subtask relationships
- Custom sort order
- Reminder settings (time, recurrence rules)
Account Data (Optional):
- If you use third-party sync (Supabase), your API URL and key are only stored locally on your device
- We do not collect or store your third-party service login credentials
2.2 Automatically Collected Data
Device Identifier:
- Device ID (used to identify device source during multi-device sync)
- This ID is anonymized and not linked to your personal identity
Usage Data:
- App crash logs (for improving app stability)
- Operation timestamps (for sync conflict resolution)
2.3 Analytics
To understand how the app is used and improve the user experience, the mobile app uses Firebase Analytics to collect anonymous usage events such as screen views, task creation, and feature usage. Firebase Analytics does not access your task content, and we do not use advertising identifiers (IDFA/AAID).
We do NOT collect:
- Geolocation
- Contact information
- Other app data on your device
- Browsing history or network activity
- Advertising identifiers (IDFA/AAID)
- Personal identity information (name, email, phone, etc.)
3. Data Storage
3.1 Local Storage
All task data is stored locally in your device's database (SQLite) by default. We do not upload this data to our servers.
3.2 Sync Data
v0.1.0 supports three optional sync paths. None of them sends data to servers we operate by default:
- Apple iCloud (Apple platforms only): a basic device-to-device sync channel provided by Apple; governed by Apple's iCloud terms, not by us.
- Supabase: data is stored in your own Supabase project, which we cannot access.
- Self-hosted backend: data is stored on a server you deploy and operate; we have no access.
3.3 Backup Data
The app supports creating local backup files stored on your device. You can export backup files to your chosen location (cloud storage, email, etc.) via system share functionality.
4. Data Usage
We use your data only for the following purposes:
- Core functionality: Task management, reminders, categories, sorting
- Multi-device sync: Sync task status across your devices
- Conflict resolution: Auto-merge based on timestamps when multiple devices edit the same task
- App improvement: Anonymous crash reports help us fix bugs
We will NOT:
- Sell your data to third parties
- Use your data for advertising
- Use your data for AI training
- Use your data beyond the stated purposes
5. Data Security
5.1 Transmission Security
- All network communication uses HTTPS/TLS encryption by default
- If you enable "Allow insecure connections" (for self-hosted development only), HTTP communication will not be encrypted
5.2 Local Security
- v0.1.0 does not configure a database password; the local SQLite database is protected by the standard OS file system sandbox and app-private storage permissions
- The app uses standard OS file system permissions to protect data
5.3 Diagnostic Export
- Sync and error diagnostic exports are automatically anonymized
- Exported files do not contain task titles, descriptions, or other original content
- Only IDs, status, hashes, timestamps, and other metadata are included
6. Data Retention & Deletion
6.1 Retention Period
- Active data: Retained indefinitely on your device until you actively delete it. v0.1.0 does not upload data to servers we operate, so we have no independent copy.
- Deleted tasks: Soft-deleted first; removed permanently from the local database 30 days after deletion.
- Operation logs: Retained locally on your device until you clear app data or uninstall the app. v0.1.0 does not auto-purge operation logs after a fixed period.
- Backup files: Up to 5 historical versions kept locally; older versions auto-cleaned.
6.2 Your Right to Delete
You can at any time:
- Delete individual tasks or all tasks
- Clear app data (via system settings)
- Uninstall the app (deletes all local data)
- Revoke sync service authorization
7. Third-Party Services
v0.1.0 uses the following services. None of them is an XdoList-operated cross-platform cloud sync service; the sync paths below are either operated by Apple, operated by you, or hosted by you.
| Service | Purpose | Data Type | Operator |
|---|---|---|---|
| Firebase Analytics | Anonymous usage analytics | Anonymous event metadata (screen, action class) | |
| Apple iCloud | Basic device-to-device sync (Apple platforms) | Task data (Apple-managed) | Apple |
| Supabase | Optional self-managed sync | Task data, Device ID | You (your Supabase project) |
| Self-hosted backend | Optional self-managed sync | Task data, Device ID | You (your server) |
Firebase Analytics is governed by Google's privacy policy; Apple iCloud is governed by Apple's iCloud terms; Supabase is governed by Supabase's privacy policy. Each service has its own policy you should review. v0.1.0 does not include any XdoList-operated cross-platform sync service; an optional paid XdoList-operated sync may be introduced in a future Pro tier.
8. Children's Privacy
This app is not directed at children under 13. We do not knowingly collect personal information from children. If you discover that a child has provided personal information to us, please contact us and we will promptly delete such information.
9. Policy Changes
We may update this privacy policy from time to time. Any changes will be posted on this page with an updated "Last Updated" date. Significant changes will be communicated via in-app notifications.
10. Contact Us
If you have any questions or suggestions about this privacy policy, please contact us:
- Email: privacy@xdolist.com
- GitHub Issues: https://github.com/xdolist/xdolist/issues
11. Permissions
This app uses the following system permissions. All permissions are optional; denying any of them does not affect the app's core local functionality.
- Notifications: To deliver task reminder notifications (optional).
- Network: Only used when you actively configure Supabase or a self-hosted backend, or when Apple iCloud sync is enabled on Apple platforms. v0.1.0 does not phone home to servers we operate.
- Local Network (iOS): Reserved for future self-hosted backend discovery. v0.1.0 does not use this permission to connect to any server.
All permissions are optional. Denying permission will not affect the app's core local functionality.