# How to sync contacts and calendars between desktop and Android (without root)

**URL:** https://forum.syncthing.net/t/how-to-sync-contacts-and-calendars-between-desktop-and-android-without-root/21326
**Category:** Howto
**Created:** [December 24, 2023, 8:00pm UTC](https://forum.syncthing.net/t/how-to-sync-contacts-and-calendars-between-desktop-and-android-without-root/21326 "2023-12-24T20:00:04Z")
**Posts on this page:** 5
**Page:** 2

<div class="post-metadata">

### Author: ![mar2112](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/m/f17d59/32.png) [@mar2112](https://forum.syncthing.net/u/mar2112)
#### Post date: [August 19, 2026, 3:55am UTC](https://forum.syncthing.net/t/how-to-sync-contacts-and-calendars-between-desktop-and-android-without-root/21326/22 "2026-08-19T03:55:38Z")

</div>

DecsyncCC had been forked and was last updated 5 months ago.

> **[GitHub - clintonthegeek/DecSyncCC: Android app to sync contacts, calendars and tasks...](https://github.com/clintonthegeek/DecSyncCC)**
>
> Android app to sync contacts, calendars and tasks without a server using DecSync

---

<div class="post-metadata">

### Author: ![dafred](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/d/7ab992/32.png) [@dafred](https://forum.syncthing.net/u/dafred)
#### Post date: [August 19, 2026, 8:53am UTC](https://forum.syncthing.net/t/how-to-sync-contacts-and-calendars-between-desktop-and-android-without-root/21326/23 "2026-08-19T08:53:24Z")

</div>

Yeah you’re right about the admin rights. Syncthing and Radicale shouldn’t have them all the time for security’s sake.

However, I do not yet understand your `rights` file approach. Radicale docs ([here](https://radicale.org/v3.html#rights) and [there](https://radicale.org/v3.html#authorization-and-rights)), to me, sound like this access management only applies to **users of Radicale** (not those handled by the OS running on the same machine) who contact the server in some way. Be it the browser-based web interface or the CALDAV protocol.

In the **Locking section** (see my next post) —\> [1] \<—, the docs mention that “the storage is locked with exclusive access while the `hook` runs”. So Syncthing needs the `hook` state to be active to access the otherwise locked data.  
**Here** —\> [2] \<— they describe how to use that `hook` mechanism to version the Radicale collections data with Git.

… Which leads me to another question. Can we somehow **configure Syncthing to delay scanning / synchronization of specific folders** until we notify it about the temporarily granted access rights?

---

<div class="post-metadata">

### Author: ![dafred](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/d/7ab992/32.png) [@dafred](https://forum.syncthing.net/u/dafred)
#### Post date: [August 19, 2026, 8:55am UTC](https://forum.syncthing.net/t/how-to-sync-contacts-and-calendars-between-desktop-and-android-without-root/21326/24 "2026-08-19T08:55:28Z")

</div>

I wasn’t allowed to post \>2 links / post, so here they are…

[1] [Radicale docs on locking](https://radicale.org/v3.html#locking)  
[2] [Radicale docs on versioning with git](https://radicale.org/v3.html#versioning-collections-with-git)

---

<div class="post-metadata">

### Author: ![tomasz86](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/t/96bed5/32.png) [@tomasz86](https://forum.syncthing.net/u/tomasz86)
#### Post date: [August 19, 2026, 12:30pm UTC](https://forum.syncthing.net/t/how-to-sync-contacts-and-calendars-between-desktop-and-android-without-root/21326/25 "2026-08-19T12:30:54Z")

</div>

I see what you mean, and to be honest, I don’t remember the details, because I added that rights file a long time ago 😳. I do remember that I needed it for some valid reason though. I’d have to do some testing to determine what’s actually required and what is not.

I also use `type=multifilesystem_nolock` (as stated in the original post). This option was required, in my case, on Android.

I must add that, on my systems, there is no problem accessing the Radicale folder using Windows Explorer (without administrative priveledges).

---

<div class="post-metadata">

### Author: ![dafred](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/d/7ab992/32.png) [@dafred](https://forum.syncthing.net/u/dafred)
#### Post date: [August 19, 2026, 6:28pm UTC](https://forum.syncthing.net/t/how-to-sync-contacts-and-calendars-between-desktop-and-android-without-root/21326/26 "2026-08-19T18:28:46Z")

</div>

I misunderstood the Radicale docs on locking, it literally says that the storage is locked **while the hook is run**. So there should be plenty of advantages for Syncthing to access the storage unlocked when there is no hook specified at all.

* * *

`type=multifilesystem_nolock` was neccessary on my android, as well.

* * *

My synchronization between Windows 11 and Android seems to be working now (no continuous admin rights for both programs)!  
I believe that what fixed my issues was a transfer of file ownership using `icacls`, more specifically the `/setowner` and `/t` (recursive) options as discussed [here](https://superuser.com/questions/1769894/recursively-change-ownership-to-another-user-in-windows).

I just hope it’ll keep working from now on…

Thank you once again for your helpful post and answers!  
The Syncthing / Radicale combo is… finicky and error-prone to the uncautious user but at least it relies on very actively developed and well-known projects.

[Previous page](https://forum.syncthing.net/t/how-to-sync-contacts-and-calendars-between-desktop-and-android-without-root/21326.md?page=1)
