DotCal · Legal
Privacy
Policy.
DotCal stores your calendar data locally on your device. Your calendar content does not go to Dotfield Studio servers.
01
Overview
DotCal does not collect your calendar content and does not transmit events, tasks, reminders, attachments, or settings to Dotfield Studio. Your calendar data exists only on your Android device.
This privacy policy covers the DotCal Android application (com.dotfield.dotcal), published by Dotfield Studio. The policy applies from the date of your first installation.
DotCal has no Dotfield backend, no account system, no advertising, and no analytics SDK embedded in the app. Google Play services are used for Play Billing, subscriptions, purchase restore, subscription management, and in-app update checks.
Voice dictation is a separate system service interaction: DotCal uses on-device recognition when available. If it is unavailable, the device's selected speech-recognition service may process the audio; DotCal does not retain the raw dictation audio.
02
Data we collect
DotCal does not collect, store, or transmit your calendar content to Dotfield Studio. The following data exists on your device when you use the app:
| Data type | Where stored | Sent anywhere? | We can access? |
|---|---|---|---|
| Calendar events & tasks | Device local database | Never | No |
| Reminder alarms | Android AlarmManager | Never | No |
| Voice notes | App private directory | Never | No |
| Voice dictation audio | On-device recognizer when supported; otherwise the selected system speech service | May be processed by the system service | No |
| Image and PDF attachments | App private directory | Never | No |
| Theme and app settings | Local preferences | Never | No |
| Contact birthdays, if enabled | Copied locally as events | Never | No |
| Google Calendar events, if imported | Copied locally from CalendarProvider | Never | No |
| Crash or usage analytics | Not collected | Never | No |
Payment processing, receipts, trials, renewals, cancellations, promo redemption, and account-level purchase data are handled by Google Play, not by Dotfield Studio. DotCal stores only a local Pro entitlement flag after a successful purchase, subscription, or restore.
03
App permissions
DotCal requests only the permissions it needs to function. Each permission is described below, including why it is needed and what it cannot access.
| Permission | Type | Why it is needed |
|---|---|---|
| READ_CALENDAR | Required* | Read events from Android CalendarProvider for local Google/system calendar sync. No data leaves the device. *Only if sync is enabled. |
| WRITE_CALENDAR | Required* | Create and edit events through CalendarProvider for two-way sync. *Only if sync is enabled. |
| READ_CONTACTS | Optional | Read contact birthdays to create yearly recurring events. Only dates are used. |
| CAMERA | Optional | Scan DotCal QR event or shift-plan codes. Camera frames are not stored. |
| SCHEDULE_EXACT_ALARM / USE_EXACT_ALARM | Required | Schedule precise reminder alarms through AlarmManager. The permission path depends on the Android version and device policy. |
| RECEIVE_BOOT_COMPLETED | Required | Re-register reminder alarms after device reboot. |
| POST_NOTIFICATIONS | Required | Display event and task reminder notifications on Android 13 and above. |
| USE_FULL_SCREEN_INTENT | Optional | Allow full-screen reminder alerts when that alert behavior is enabled. |
| RECORD_AUDIO | Optional | Record voice notes attached to events and provide Quick Add voice dictation. Dictation uses on-device recognition when available; otherwise the selected system speech-recognition service may process the audio. DotCal does not retain raw dictation audio. |
| Photo and document pickers | Optional | Select images and PDFs. DotCal copies only files you choose. |
| Device credential / biometric | Optional | Unlock App Lock through Android authentication. Biometric data is not stored by DotCal. |
| INTERNET | Required | Google Play Billing, subscription management, in-app update checks, and external links. Not used by DotCal to upload calendar data, analytics, or ads. |
| BILLING | Required* | Pro purchases, trials, promo redemption, and restore through Google Play. |
| VIBRATE / WAKE_LOCK / FOREGROUND_SERVICE | Required | Support reliable reminders and reminder alerts. |
| FOREGROUND_SERVICE_SPECIAL_USE | Optional | Support the special-use foreground service used by the Nothing Glyph Toy on compatible devices. |
| Nothing Glyph | Optional | Local Glyph Toy integration on compatible Nothing devices. |
04
Google Calendar sync
DotCal does not connect to the Google Calendar API. It reads Android’s built-in CalendarProvider—the local database used by the default Calendar app.
When sync is enabled, DotCal reads events that Google has already synced to the device and copies them into DotCal’s own local database. DotCal does not see or store Google credentials or tokens.
DotCal supports provider reminders, recurrence exceptions, modified recurring occurrences, RDATE dates, event status, availability, time zones, and provider meeting metadata. If sync is disabled, DotCal stops querying CalendarProvider; previously imported events remain local until deleted.
05
Local storage
All DotCal data is stored in Android app-private storage under /data/data/com.dotfield.dotcal/. It is deleted automatically when you uninstall DotCal.
Stored data includes the local SQLite database, preferences, voice notes, image and PDF attachments, templates, calendar sets, shift patterns, private vault metadata, and recently deleted snapshots.
DotCal does not write to shared external storage unless you explicitly export, back up, or share a file. Automatic Android app backup is disabled by DotCal. A backup file is created only when you explicitly use DotCal’s local JSON backup tool.
06
Third parties
DotCal does not integrate third-party SDKs for analytics, advertising, crash reporting, remote configuration, or A/B testing. It uses Google Play Billing, Google Play In-App Updates, and the Nothing Glyph SDK for the purposes described in this policy.
Quick Add voice dictation uses Android’s on-device speech recognizer when available. If on-device recognition is unavailable, DotCal uses the device’s selected speech-recognition service; that service may process the audio under its own policy. DotCal receives the recognition result and does not retain the raw dictation audio.
External links such as Google Play listings and Discord open outside DotCal and are governed by those services’ own policies. These services do not receive your calendar events, tasks, reminders, attachments, voice notes, or settings from DotCal.
07
Security
Because DotCal stores calendar data locally and does not upload calendar content, the main risk is physical device access. Keep your device PIN or biometric lock active and enable DotCal App Lock when appropriate.
DotCal’s local database is not encrypted by default. Android’s app sandbox and device-level encryption provide the primary protection for data at rest.
08
Children’s privacy
DotCal does not knowingly collect information from anyone, including children under 13. The app is a general-purpose calendar with no content directed at children.
09
Your rights
Because DotCal does not collect or store personal data on its servers, there is no server-held data for us to access, export, or delete on your behalf.
- Access: your data is in the app on your device.
- Delete: delete individual items in the app or uninstall DotCal.
- Export and backup: use ICS, local JSON backup, image, PDF, or DotCal QR tools.
- Portability: events synced through CalendarProvider remain in Android’s calendar database.
If you are in the EU, UK, or California, GDPR and CCPA rights apply. Because Dotfield Studio holds no calendar content, these rights are exercised on-device.
10
Policy changes
If this policy changes materially—for example, if DotCal adds cloud sync, analytics, advertising, or a Dotfield server feature—we will update this page and its effective date. A release note will flag the change.
Effective date: August 14, 2026
11
Contact
Questions about this privacy policy or DotCal’s data practices: