Privacy Policy
Your Privacy is Our Priority
Dovilo ("we", "our", "us") is committed to protecting your privacy. This Privacy Policy explains how we collect, use, and safeguard your information when you use Dovilo: the mobile and desktop apps, the website dovilo.app, and the AI connections described in Section 6.
1. Data Collection
By default, Dovilo stores all your tasks, city progress, focus session data, and app preferences locally on your device. You can use Dovilo fully offline without signing in. Your tasks and other content leave your device only when you sign in (Section 2) or connect an AI assistant or coding agent (Section 6). The apps also send usage data and crash reports, which you can turn off at any time (Section 3).
2. Cloud Sync & Authentication
If you choose to enable cloud sync, we use Firebase Authentication to verify your identity via Google Sign-In or Apple Sign-In. In this case, the following data is stored securely on Firebase servers:
- Your unique User ID (generated by Firebase)
- Your task and city progress data
- App preferences and settings
- If you allow notifications, a push token for your device, used only to send the reminders and alerts you turn on.
Firebase Authentication stores the email address your sign-in provider shares with us (with Apple, this can be a private relay address). We never see or store your password. All data is encrypted in transit (TLS) and at rest on Firebase servers. Section 6 describes the data we process when you connect an AI assistant or coding agent.
3. Usage Data and Crash Reports
To see which features are used and to find and fix crashes, the Dovilo apps send usage data and crash reports. Both are on by default, and one switch turns both off: in the mobile app, Settings > General > Usage data; in Dovilo Desktop, Settings > Desktop > Share usage data and crash reports.
- Usage data goes to Google Analytics for Firebase: which features are used, how long sessions last, the app version, the device type, the operating system and the language. It does not include the text of your tasks, lists, notes, plans or documents.
- Crash reports go to Firebase Crashlytics from the mobile app and to Sentry from Dovilo Desktop: the error, where in the app it happened, the app version, the operating system and the device model. Account IDs in error messages are masked before a report is sent, and on Desktop your email address, your computer's name and your home folder path are removed as well.
- When Dovilo Desktop crashes at the system level, the report can include a snapshot of the app's memory at that moment. That snapshot is not filtered.
- After you sign in, usage data and crash reports carry an analytics ID instead of your account ID: a random code our server creates for your account. It is not derived from your account ID or your email address, it is never sent to AI assistants, coding agents, webhooks or RevenueCat, and it is deleted with your account. Before you sign in, Google Analytics and Crashlytics use an ID of their own for the app installation.
- The apps do not collect your device's advertising ID.
How long this data is kept is in Section 7.
4. Subscription Management
We use RevenueCat to manage in-app subscriptions and purchases. RevenueCat processes transaction data provided by Apple App Store and Google Play Store. We do not have access to your payment details (credit card numbers, billing addresses, etc.). RevenueCat's privacy practices comply with GDPR and CCPA standards.
5. Third-Party Services
Dovilo uses the following third-party services:
- Firebase and Google Cloud (Google) for authentication, database, server functions and encryption keys.
- Google Analytics for Firebase and Firebase Crashlytics (Google), for usage data and crash reports (Section 3).
- Sentry, for crash reports from Dovilo Desktop (Section 3).
- RevenueCat, for subscription and purchase management.
- Apple and Google, as sign-in providers and app distributors.
- Cloudflare, which routes and protects requests to dovilo.app, including AI connections.
We don't sell or rent your personal data. We share it only with the services listed above, and with the AI assistants, coding agents and webhook URLs you connect yourself (Section 6).
6. AI Connections
Dovilo can connect to AI assistants and coding agents. Every connection is optional, starts only when you set it up, and can be removed at any time.
AI assistants (ChatGPT, Claude, Gemini, Grok). You connect an assistant by signing in with your Dovilo account and approving a consent screen.
- The assistant can send Dovilo plans, tasks, changes to your tasks, proposals for AI tasks and proposals for project documents. These wait in the Dovilo app until you approve them.
- Dovilo sends the assistant only what you allow for that connection: the names of your visible lists; the tasks in those lists if read access is on; and, if AI tasks access is on, the briefs, documents and AI tasks of your visible projects, including their steps, agent notes and your replies.
- The assistant's provider (for example OpenAI, Anthropic, Google or xAI) receives this data as part of your conversation and handles it under its own privacy policy.
- You can change what a connection can see, or remove it, in the Dovilo app under Connected AI apps. Removing a connection stops its access immediately.
- If you connect an assistant before you have used the Dovilo app, we create an account for that sign-in so your plan can wait for you in the app. Accounts that are never used in the app may be deleted after 30 days.
Coding agents (Pro). Coding agents such as Claude Code or Cursor work on AI tasks through Dovilo's MCP server at dovilo.app/mcp/agents, with an API key you create for each agent in the app.
- We store only a hash of each key. The key is shown to you once.
- An agent sees only the names, briefs, documents and AI tasks of the projects you assign to it, and the brief and documents of a parent project above them. It never sees your personal tasks in My Tasks. It can read and update the status, steps, notes and telemetry of those AI tasks and cancel a task with a reason. It cannot create or delete tasks, and it cannot change documents.
- Anything your agent sends to its own model provider is governed by that provider's privacy policy, not ours.
- Desktop versions before 2.0 run the MCP server locally on your computer; its traffic does not reach our servers.
Project documents. Documents you add to an AI project, and their last 5 earlier versions, are stored on our servers with your account. Coding agents assigned to that project or to a sub-project under it can read them, and so can AI assistants with AI tasks access for that project. You can delete a document in the Dovilo app; it is removed at once with its earlier versions, and deleting a project deletes its documents.
Webhooks. If you add a webhook URL to a project, we send events about its AI tasks, including the task's details, to that URL. Desktop delivers events to local addresses itself. Secrets for webhooks we deliver are stored encrypted.
Security records. For AI connections and agent requests we process IP addresses and request details to protect the service and apply rate limits. Rate-limit records are kept for up to 2 days and audit logs for up to 90 days. Access tokens for AI connections expire after 1 hour and refresh tokens after 90 days; we store them only in hashed form.
7. Data Retention
Local data remains on your device until you delete the app. Cloud-synced data is retained as long as your account is active. If you delete your account, all associated data is permanently removed from our servers within 30 days.
- Plans, changes and document proposals from an AI assistant that you don't act on expire after 14 days. A proposal's record is deleted 30 days after you decide on it or it expires; if it was never applied, its text is deleted right away.
- Project documents are kept until you delete them, their project or your account. Each document keeps its last 5 earlier versions.
- AI connections are kept until you remove them or delete your account. Security records are kept as described in Section 6.
- Google Analytics keeps event data for 2 months and data linked to your analytics ID for 14 months. Crashlytics keeps crash reports for 90 days and Sentry for 30 days. Usage data already in Google Analytics stays there until that period ends, also after you delete your account.
- Deleting your account also deletes your AI connections, agent keys, AI proposals, project documents, webhook secrets, security records and your analytics ID.
8. Your Rights
You have the right to:
- Access your data at any time through the app
- Request a copy of your data by email. There is no in-app export yet.
- Delete your account and all associated data from Settings > Delete Account
- Turn off usage data and crash reports in the app's settings (Section 3)
- Remove an AI connection in Connected AI apps, and revoke or replace an agent's key in AI Tasks.
If you are located in the EU, you also have rights under GDPR including the right to rectification, restriction of processing, and the right to lodge a complaint with a supervisory authority.
9. Children's Privacy
Dovilo is not directed at children under the age of 13. We do not knowingly collect personal information from children. If you believe a child has provided us with personal data, please contact us so we can delete it.
10. Changes to This Policy
We may update this Privacy Policy from time to time. Any changes will be posted within the app and on this page. Continued use of Dovilo after changes constitutes acceptance of the updated policy.
11. Contact
If you have any questions about this Privacy Policy, please contact us at supportdovilo.app.