Frequently asked questions
Is KashCal free? Is there a catch?
Yes, it's free and open source under the Apache-2.0 license. There's no paid tier, no ads and no account to create. If you want to chip in, a donation helps keep the releases coming. It's never required, and nothing in the app is locked behind it.
Do I need to create a KashCal account?
No. KashCal has no accounts and no servers of its own. You connect your own calendar accounts, such as iCloud or Nextcloud. Or you use the Local calendar offline without connecting anything.
Does KashCal track me or sell my data?
No. KashCal has no analytics, no telemetry and no advertising. KashCal itself sends your events only to the calendar servers you connect. Android's own backup can include KashCal's database. For everything that leaves the phone, see Privacy & Security.
Which calendar services does it work with?
iCloud and CalDAV servers: Nextcloud, Fastmail, Radicale, Baikal, Zoho, mailbox.org, Stalwart, SOGo and others. See Supported servers.
Does it work with Google Calendar or Outlook?
Yes, through your phone. KashCal connects directly to iCloud and CalDAV servers. Google removed third-party CalDAV access, and Outlook and Microsoft 365 don't expose CalDAV at all (they use Exchange ActiveSync and Microsoft Graph). So both come in as device calendars:
- Let the Google or Outlook app sync your calendars to the phone.
- In KashCal, open Settings, then tap Device calendars.
- Turn on Enable and allow calendar access.
- Turn on the calendars you want.
Device calendars are off until you do this. See Device calendars.
How can I contribute?
You can improve the documentation, review translations, or send pull requests for issues and feature requests. Read the Code of Conduct and the Contribution guidelines to get started.
How do I report a security vulnerability?
Report it privately through GitHub Security Advisories, not in a public issue. The security policy has the details.
Is there a roadmap?
Yes. Follow what's planned on the public roadmap. Post general questions and ideas in GitHub Discussions.
Is KashCal on the Google Play Store?
Yes. You can get KashCal on Google Play, and it's also on F-Droid, IzzyOnDroid, Obtainium, and GitHub Releases. It's the same free, open-source, no-account app on every channel, with no ads or trackers added anywhere.
Why do builds from different sources have different signatures?
Each channel signs with a different key. F-Droid signs its builds with its own key, Google Play re-signs with a Google-managed key (Play App Signing), and GitHub Releases use the upstream key (the cert SHA-256 is published in the README). Android won't install a build over one signed with another key. To switch sources, uninstall first, and uninstalling clears everything stored only on the phone. Back up your settings and export your Local calendar as .ics before you switch. To verify the GitHub APK, use AppVerifier or Obtainium with the cert SHA-256 from the README.
Does KashCal support CardDAV, tasks, or attachments?
CardDAV (contacts): yes, both ways, in beta. Contact sync syncs the contacts on your iCloud or CardDAV account with your phone's address book: names, numbers, emails and photos. Edits and deletions on the phone go back to the account.
For calendars, KashCal handles events only (VEVENT). It doesn't do VTODO tasks, journals or attachments. It skips calendars that hold only VTODO or VJOURNAL items during sync.
Can I use Syncthing instead of a CalDAV server?
No. To carry your setup to another phone, back up your settings, which include your ICS feeds, and restore them there. To bring Local events along, export them as .ics and import the file.
Why won't my iCloud password work?
iCloud requires an app-specific password, not your normal Apple password. See the iCloud setup guide.
Can I use KashCal offline?
Yes, it's offline-first. You can view and edit events with no connection. Your changes sync when the phone is back online. See How sync works.
Where are my events stored?
In a database in KashCal's private storage on your phone. Events on a connected account also live on that account's server. If Android backup is on, your phone's backup includes that database too. See Privacy & Security.
Why isn't my background sync more frequent than 15 minutes?
Android doesn't run periodic background work more often than every 15 minutes, so that's the shortest automatic interval. Pull down to refresh to sync right away.
What Android version do I need?
Android 12 or newer. KashCal targets Android 17. If you self-host, reaching a CalDAV server on your own network needs the local network permission on Android 17.
How do I get reminders to work?
Allow KashCal to send notifications. When you save an event with a reminder from the event form and the permission isn't granted, KashCal asks for it. KashCal doesn't ask for an alarm permission: Android grants exact alarms to it at install. See Reminders.
Syncing a calendar doesn't ask. If you've only synced and haven't saved an event with a reminder yet, KashCal hasn't asked, and reminders on your synced events stay silent. To allow notifications, open the account hub, then App permissions.
Can I send meeting invitations?
Yes, when your calendar account supports scheduling. Local-only calendars can't send them, and some accounts don't support inviting people at all. Some servers, SOGo and mailbox.org among them, save your guests without notifying them. See Known limitations.
How do I move to a new phone?
- Back up your settings and restore them on the new phone.
- Add your calendar accounts again. The backup doesn't hold accounts or passwords, by design. Your events come back with sync.
- Export your Local calendar and import the file on the new phone.
- If you use device calendars, select them again.