Every permission KashCal uses, in one place
Android 17 added a welcome permission optimization. Reaching a device on your local network, like a calendar server on a machine in your house, is now its own permission, separate from internet access. An app that can reach the internet no longer reaches your home network by default; it has to ask for that on its own.
KashCal needs it for one thing: syncing with a CalDAV server on your own network. We implemented the new permission, and while wiring it up we noticed KashCal's permissions had ended up spread out, each one surfaced only where its feature lived: contacts near birthdays, notifications near reminders, and now local network near sync. There was nowhere to see them all at once.
So we put them all on one screen. It is called App permissions, and it is in your account hub.
The App permissions screen: every permission KashCal uses, the reason behind each ⓘ, and whether it is on.
Where it is
Tap your initials in the top right to open the account hub, then look under the Privacy & Security section. "App permissions" opens a full screen listing every permission KashCal can use, one row each. If you moved to Android 17 and your sync to a local server needs switching back on, this is where you do it.
What each permission is for
The reason for a permission sits with the permission, not in a policy page you have to go find. Tap the info icon on any row and it says, in one sentence, what that access gives you. These are the words in the app:
- Notifications. So KashCal can remind you about your events. Without it, reminders stay silent.
- Contacts. Suggests guests as you add people to an event, and shows contact birthdays. Your contacts stay on your device.
- Calendars. Shows events from the other calendars on your device next to your own.
- Local network. Reaches a calendar server on your home or office network. Android 17 asks for this separately from internet access.
Each reason names a feature you use. Turn a permission off and only that feature stops. The rest of the app keeps working.
Granting, and changing your mind
Each row ends in one of two things. A permission is either Allowed, with a check next to it, or it shows an Allow button.
If it is already granted, tapping the row takes you to that permission's own page in Android settings. Not the general app screen, the exact one: Notifications lands on notification settings, the rest on the app's permission details. Adjust it there, come back, and the list updates to match, because it re-reads the current state each time it opens.
If a permission is off, Allow requests it in the app. And if you had earlier told Android not to ask again, Allow takes you straight to the settings page for that permission, so even one you fully denied is a tap away from turning back on.
Only what applies to your phone
The list shows only the permissions that apply to your version of Android. Notifications became a permission you grant in Android 13, so on older phones there is no such row. Local network is new in Android 17, so it appears only there.
The list does not ask for anything
Opening it requests nothing. KashCal still asks for a permission when a feature first needs it, contacts when you turn on birthdays, calendar access when you connect a device calendar, with the reason in front of you and the option to decline. The screen is for reviewing and adjusting the whole set afterward.
Next to "How your data stays yours"
Right below App permissions is a link called How your data stays yours. A permission list tells you what KashCal can do on your phone. The privacy page tells you what it does with any of it: no account, no server, no trackers, events in a database only KashCal can read, and passwords encrypted with a key that stays on your device. Every permission maps to a feature, and because the app is open source, the full list is in the manifest for anyone to read.