Privacy Policy (Dimodoro)
Last updated: 2026-09-22
This Privacy Policy ("Policy") explains how information is handled when you use Dimodoro (the "App" or the "Service"). Dimodoro is provided by Ikuya Fujisaki (藤崎郁也) (the "Operator").
1. Operator
- Operator name: Ikuya Fujisaki (藤崎郁也)
- Service name: Dimodoro
- Public display name: Dimodoro
- Contact: [email protected] (or the in-app support form)
2. Information We Collect / Process
2.1 Information stored on your device
The App stores user settings locally on your device (e.g., dimming level, color, presets, safety settings).
If you explicitly enable Advanced dimming, the App may use the overlay permission and Accessibility Service to keep the dimming overlay active across surfaces such as the lock screen and notification shade (significantly darker than app-only dimming at the same level), and to locally determine when the system power menu is opened so Emergency unlock remains available as a safety path. Emergency unlock via the power menu is a device-conditional extra path and is not guaranteed on every device; stop methods via the notification, quick settings, and the app remain always available.
- For this purpose, the App does not collect, store, or transmit screen text, passwords, or user input
- For this purpose, the App does not perform taps, gestures, or text entry on your behalf
- For this purpose, the App does not automatically change system settings on your behalf
- Information accessed for this purpose is processed on-device only and is not sent to analytics, ads, or backend services
2.2 Account and authentication (Firebase Authentication)
To provide Plus features and cloud backup/restore, the App uses Firebase Authentication and may process:
- Firebase Auth UID (including anonymous and Google-linked identifiers)
- When you link a Google account: limited account information (e.g., email address, display name)
Core dimming features may be available without linking an account (see in-app UI for current behavior). We do not store email addresses or display names in Firestore; they are handled only for authentication in Firebase Authentication.
2.3 Cloud backup / restore and other cloud data (Cloud Firestore)
If you are signed in, the App may use Cloud Firestore for cloud backup/restore and related cloud records. Settings are not synchronized in real time. Instead, the App stores manual backups and periodic automatic backups, and restores data only when needed. Your devices do not automatically become the same state.
- Settings backups (manual and automatic snapshots)
- Session history (e.g., start/end time, summary statistics)
- Plus entitlement state (plan, verification status, expiration, etc.)
2.4 Usage analytics (Firebase Analytics)
To improve the App, we may collect anonymized usage events and related context, which can include:
- In-app events (e.g., settings changes, consent flow interactions, feature usage)
- Device/app context (e.g., device model, OS version, locale, app version)
The App provides an in-app setting to turn off analytics sharing (opt-out).
2.5 Crash and diagnostic data (Firebase Crashlytics, etc.)
We may collect crash reports and diagnostics to investigate issues and improve stability (e.g., stack traces, timestamps, device/OS information).
2.6 Ads and consent (Google AdMob / UMP)
The App may show ads on the free tier. For ad delivery and measurement, information may be processed, including:
- Advertising-related identifiers and device signals (availability depends on OS and your settings)
- In EEA/UK and other applicable regions, we may show Google UMP consent forms
- Consent state (e.g., personalized/non-personalized choice, last updated time) Consent state is stored locally on the device and is not uploaded to servers.
Behavior may vary by plan (e.g., ads may be disabled for Plus users).
2.7 Purchases and billing (Google Play Billing)
Paid features (e.g., Plus subscription) are handled via Google Play. For purchase verification and entitlement updates, we may process:
- Purchase identifiers such as purchase token and order ID
- Verification results (e.g., active/expired, expiration time, temporary grants)
We do not directly collect your payment card details (Google Play handles payment information).
2.8 Support communications
If you contact support, we may collect:
- The content you provide (messages, attachments, screenshots, logs)
- Basic device/app context for troubleshooting (e.g., device model, OS version, app version, locale)
2.9 Security (App Check / Play Integrity, etc.)
To prevent abuse and protect APIs, we may use App Check / Play Integrity and process verification tokens and related metadata.
3. Purposes
We process information to:
- Provide and operate the App, save settings and support cloud backup/restore
- Manage Plus entitlements, verify purchases, and validate reward grants
- Serve ads and manage ad consent (where applicable)
- Prevent fraud and ensure security
- Improve the App through analytics and diagnostics
- Provide customer support
4. Sharing / Transfers to Third Parties
We may share or transfer information to service providers to operate the App, including:
- Google (Firebase Authentication / Firestore / Analytics / Crashlytics / Remote Config)
- Google (AdMob / UMP / Google Play Billing)
- Google (Google Forms / Google Workspace for support operations)
- Cloudflare (Workers endpoints for purchase verification, reward verification, and deletion requests)
The Advanced dimming / Accessibility Service processing described in section 2.1 stays on-device. For that purpose, the App does not send or share screen text, passwords, user input, or other Accessibility-derived information with third parties.
Please refer to each provider's privacy policies for details.
5. Retention
We retain information only as long as necessary for the purposes described above.
- Local settings: retained until you uninstall the App or clear the App's storage
- Authentication information (Firebase Authentication): after deletion of the authentication user is initiated, Firebase removes authentication information from its live and backup systems within 180 days. IP addresses in authentication logs are retained for a few weeks
- Cloud backup data and other cloud data (settings backups / sessions / entitlements): retained while your account exists or until deletion is processed Session records and similar logs may be rotated or deleted periodically for operational reasons (duration may vary).
- Analytics data: the retention period is set to 2 months for ordinary event data and 14 months for user-level data and key event data. New activity resets the retention period for user-level data, so it may be retained for longer than 14 months while you continue to use the App. This reset does not apply to event data. Google deletes affected data in its monthly process after the retention period ends. These retention settings do not apply to standard aggregated reports
- Crash/major incident data (Firebase Crashlytics): Firebase retains crash stack traces and related installation identifiers for 90 days, then starts removing them from its live and backup systems
- Support records: retained for about 90 days
Records retained after account deletion
After account deletion, we retain the deleted account's internal identifier and the record creation and update times maintained by the system to prevent old requests, including requests already in progress, from saving data again. This record does not contain your email address, name, settings, post content, or purchase information. We use it to prevent such writes and restrict data access through the deleted account. We do not set a fixed retention period for this record: we keep it while it is needed to prevent data from being saved again. We review the need every six months and delete records when we can safely determine that they are no longer needed.
We delete the minimum records needed to handle and verify a deletion request (the internal account identifier, request identifier, receipt, verification and completion dates, and processing results), together with related support correspondence, within 90 days after processing is completed. Necessary records are retained while processing is ongoing. If another reason, such as a legal requirement, makes retention necessary, we explain the data, reason, and period separately. Data remaining with service providers such as Firebase is subject to the provider retention and deletion conditions described in this policy.
6. Your Choices (Opt-out / Consent / Export / Deletion)
- Analytics: you can opt out via in-app settings
- Ad consent: you may review/update consent via in-app settings (where available)
- Export: the App may allow exporting settings data (e.g., settings.json)
- Deletion: you can request deletion ("Delete my data") via in-app settings. If you cannot access the app, you may also follow the email instructions at https://dimodoro.app/delete-account. Verification or sign-in may be required. We aim to complete verified deletion requests within 30 days
The 30-day target above refers to the Operator's handling of deletion requests. Firebase's removal of authentication information and crash data follows the periods described in Section 5.
7. Children's Privacy
The App is not intended for children under 13. We do not knowingly collect personal information from children under 13.
8. Security
We implement reasonable safeguards to protect information against unauthorized access, loss, or misuse.
9. Changes
We may update this Policy from time to time. Material changes will be communicated via the App or our website.
10. Contact
For privacy inquiries, contact:
- Email: [email protected]
- Or the in-app support form