Garden data on your device
Your selected and custom dhikr, targets, dated counts, planting history and preferences are kept in app-private storage on your device by default. This information can reveal religious practice. Android system and cloud backup is disabled for this data. Manually exported backups are not encrypted by Dhikr Garden and should be stored carefully.
Account backup
Google registration is optional. When you choose account backup, Firebase Authentication processes your account identity and Firebase Cloud Firestore stores a private copy of your garden, including custom content. Backups are protected in transit and at rest by Firebase service safeguards, but are not end-to-end encrypted. Signed-in users can access only their own backup.
Optional usage statistics for guests and registered users
From beta 0.8.5-beta.6, an optional in-app choice during first use, also available in Privacy & diagnostics and Account & backup, asks for explicit consent to process religious-practice information to understand use and improve the app. This choice includes saved custom dhikr names, Arabic wording, meanings and retained counts. Sharing is off by default. Google sign-in is not required to share, and you can practise, sign in and use account backup without sharing usage. Using the app, accepting terms, reading this policy or signing in alone is not consent.
If you agree, private Firestore reports include a random installation ID and a Firebase identity, daily counts by built-in dhikr or numbered custom practice, undo totals, sessions, feature-event totals, recent activity times, app/Android version, language, notification/backup status, and saved custom dhikr content. Guests receive an authenticated Firebase guest ID without giving us a name or email. Reports distinguish guest and registered activity. Authorized operators can connect reports to voluntary feedback using the same IDs; registered reports can also be connected to the Google-linked account. These records are pseudonymous, not anonymous. Reinstallation and multiple devices affect estimates, so they are not an exact count of people or downloads.
Google Analytics receives consented screens, feature activity, built-in categories or a generic custom category, batched count adjustments, guest/registered status and a random installation identifier. It may process network/device information and derive approximate geography. We do not send your name, email, Firebase account ID or custom dhikr wording to Analytics, request GPS location or advertising IDs, or use advertising personalization. Reports describe counter activity, not verified recitation or spiritual reward.
Counts are recorded locally first. Private reports normally batch 50 new counts; opening the app and active-session heartbeats also make a small update eligible so daily usage need not wait for 50 counts. All reporting attempts are spaced at least 15 minutes apart. Smaller remaining sessions become eligible after 24 hours. Android restrictions and offline use can delay delivery further; recent-activity statistics are not a live-user guarantee. Up to 60 UTC days of consented unsent activity may be queued. Google Analytics and account backups use separate schedules. Turning sharing off stops new reporting on this device and clears unsent usage. While offline, server-side withdrawal waits for connectivity; other devices must also turn sharing off. Previous cloud records are not automatically erased. Delete cloud usage in Privacy & diagnostics to withdraw reporting permission and remove private profiles, daily reports and custom wording for the current guest or registered identity. Google Analytics records are separate; contact us with your installation ID for applicable requests. Clearing app data or uninstalling can remove access to a guest identity; retain your feedback reference before doing so if you need assistance.
Users who do not share usage
No usage Analytics events or identity-linked usage reports are uploaded without the optional sharing choice. Automatic unconsented guest aggregate uploads remain disabled. A local buffer, if present, contains only coarse overall counts, undo and session totals for up to seven UTC days and is discarded rather than replayed when sharing is enabled. Feedback, account backup, optional developer announcements and operational security processing are separate services described here.
Google Play independently provides developer installation and acquisition statistics under its own service terms. Network providers and Firebase App Check can process request IPs and security metadata when online services are used. We do not claim that provider connections are anonymous simply because app report fields omit names.
Earlier beta reporting
Earlier betas offered different voluntary reporting choices. Beta.3 offered registered activity and custom wording together; beta.5 separated custom-wording consent; beta.6 asks a fresh usage-sharing choice that covers custom wording for guests and registered users. An app upgrade discards unsent older reporting buffers rather than treating previous choices as new permission. Old installed clients continue under the notice and consent version they accepted until updated or withdrawn. Previously received records are not retroactively anonymized. Legacy private records without an expiration field remain until deleted in the app or through a verified request; Google Analytics records follow that service's configured retention.
Beta feedback
When you choose Send beta feedback, the app sends your message, app version, Android version, a random installation ID, Firebase user ID, account type and submission time to a private Firebase location. If signed in, the ID can connect feedback to your registered account and, if you consented, its private usage reports. Guest feedback identifiers are not included in the overall-totals pipeline. Feedback does not attach your garden, counts, custom dhikr, account email or diagnostic logs. Anything you write yourself is included in the message; avoid confidential information. The app creates an authenticated Firebase guest session where needed. Feedback is retained while needed to improve the beta, then deleted or anonymized; contact us to request removal.
Notifications, lock-screen display and diagnostics
Daily reminders use your selected local times and work offline. Optional developer messages use Firebase Cloud Messaging, which processes an installation identifier and push token to deliver announcements. Enabling developer messages is independent of usage sharing. You can disable messages in Reminders or block them in Android notification settings. No push tokens are attached to feedback or written into usage reports. Messages need network connectivity and delivery may be delayed.
The optional black counting screen is opened only when you start a screen-off session in the app. It temporarily covers your usual lock-screen interface; while locked and lit, a count displays a central pulse for about one second, then the screen returns to fully black. Your secure lock remains engaged; end the session to return to the usual lock screen. With this option disabled, the app does not cover your normal lock screen. This feature does not wake an off display, control Always-On Display, capture screen content or use overlay, accessibility or full-screen-intent permissions.
Diagnostics stay on your device unless exported. They contain up to 200 timestamped error codes and app/Android versions, not account details, dhikr content or counts. Backend application error logs contain fixed troubleshooting codes, not report bodies, tokens or custom wording; provider security and audit logs are separate.
Recipients, retention and transfers
We use Google Firebase Authentication, Cloud Firestore, Cloud Functions, App Check/Play Integrity, Cloud Messaging and Google Analytics. The Firestore database and reporting functions are in Mumbai, India; other provider services may process data outside your country. Local garden data remains until reset, app-data clearing or uninstall. Cloud garden data and its summary remain until account deletion or replacement. New private daily reports expire 90 days after their UTC day; custom reporting records expire 90 days after their latest accepted update. The reporting profile and consent record remain until deletion. One-use retry receipts expire after eight days and intake-budget records after 35 days. Firestore expiration is asynchronous, not an exact-time deletion guarantee. Older records without expiration require deletion through the app or a verified request. Unlinked combined totals, if enabled in a later release, may be retained for long-term aggregate reporting and cannot be attributed to a person's deletion request.
Firebase Authentication and Cloud Messaging retain service identifiers as needed to provide their services. Google Analytics retention follows the configured property settings; contact us for applicable requests. Operational security/audit data is retained under the relevant provider settings. We do not sell personal information, show advertising or use data for advertising.
Your choices and deletion
You can delete a registered account, its private cloud garden, reporting consent and private usage/custom-report records from Account & backup. This does not delete your Google account or the garden stored locally on your device. You can also use the external account-deletion request page. Usage sharing is separate from account backup. Depending on applicable law, you may have rights to access, correct, delete, restrict or object to processing, withdraw consent and complain to a supervisory authority. Contact us to exercise applicable rights; we may ask for proportionate identity verification.
Contact and changes
The operator responsible for Dhikr Garden is Nubair Alvi. For questions, complaints, deletion requests or privacy-rights requests, contact nubairlv@gmail.com. Material changes to this policy will be reflected here with an updated effective date and, where required, a new in-app notice.