Endearist
DE EN Get Endearist

Practice

CardDAV

CardDAV is the open protocol for syncing address books between devices and a server. Defined in RFC 6352, it layers vCard data over WebDAV and HTTP.

CardDAV answers the question vCard leaves open: a .vcf file moves contacts once, but how do two phones and a laptop stay continuously in agreement? The protocol, standardized as RFC 6352 in August 2011, models an address book as a WebDAV collection on a server in which every resource is exactly one vCard with a UID unique within that collection. Clients create, update, and delete contacts with ordinary HTTP verbs, and the server is the source of truth all devices converge on.

It is the address-book sibling of CalDAV (calendars), and the pairing explains its reach: any platform that wanted open calendar sync usually implemented both. iOS and macOS speak CardDAV natively, Android needs a sync adapter such as DAVx⁵, and on the server side it's the contacts protocol of Nextcloud, Radicale, Baïkal, Fastmail, and most groupware.

For anyone leaving big-platform ecosystems, CardDAV is the practical backbone of contact self-hosting: one server, every device subscribed, no vendor able to revoke access to your own address book.

Anatomy of a CardDAV sync round-trip

A client first discovers the user's address books via well-known URLs and PROPFIND requests, then keeps them current with REPORT queries. Change detection rides on standard HTTP machinery: every contact resource carries an ETag that changes when the vCard changes, and the collection exposes a CTag (or a sync-token, per the RFC 6578 extension) that changes when anything inside changed. A periodic sync therefore costs one cheap comparison; only on mismatch does the client fetch the delta. Writes use PUT with If-Match preconditions, so two devices editing the same contact produce a 412 conflict the client must resolve rather than a silent overwrite — primitive compared to CRDT-style merging, but predictable and debuggable with nothing more than an HTTP log.

Clients and servers that speak it (and the Google asterisk)

Client support is asymmetric across platforms. Apple implemented CardDAV deeply: an account added in iOS or macOS settings syncs system-wide. Android ships no native client, so DAVx⁵ (open source) fills the gap by bridging CardDAV into the system contacts provider. On the server side, self-hosters typically choose between full suites (Nextcloud), minimal Python servers (Radicale, Xandikos), or PHP options (Baïkal); hosted providers like Fastmail and mailbox.org include it. Google Contacts technically exposes a CardDAV endpoint, but with quirks and historically incomplete field mapping — most people sync Google contacts through Google's own APIs instead. Interop bugs cluster in vCard dialects, not the protocol: servers store what clients PUT, and two clients disagreeing about photo encoding blame each other via the server in the middle.

Where Endearist sits relative to CardDAV

CardDAV syncs the fields of a contact; a personal CRM cares about the relationship around those fields — interaction notes, reminders, how you met — which the vCard data model was never built to carry. Endearist therefore doesn't replace your CardDAV setup: it imports the vCards any CardDAV server or client can export, and keeps its relationship layer local-first on your device, with an optional end-to-end encrypted sync (EU-hosted cloud) for multi-device use. Plaintext-readable server storage is exactly what classic CardDAV gives its operator; for notes about your closest people, Endearist's E2E model means even the sync server can't read them. The two coexist cleanly: CardDAV for the phone-dialing layer, Endearist for the remembering layer.

Frequently asked questions

What's the difference between CardDAV and CalDAV?
Same architecture, different payload. Both extend WebDAV over HTTP and use ETags and sync tokens for change detection; CalDAV (RFC 4791) carries iCalendar data for events and tasks, while CardDAV (RFC 6352) carries vCard data for contacts. Most servers and most native clients implement the pair together, which is why one Nextcloud or Fastmail account typically syncs your calendar and address book through sibling endpoints.
Does Android support CardDAV out of the box?
No. Stock Android ships sync adapters for Google accounts but no generic CardDAV client. The standard solution is DAVx⁵, an open-source app that registers your CardDAV (and CalDAV) accounts with the system, after which any contacts app on the phone reads and writes them like native data. iOS, by contrast, has supported CardDAV accounts natively in its settings since iOS 4.
Can I self-host a CardDAV server?
Yes, and it's one of the easier self-hosting projects. Radicale runs as a small Python service ideal for a Raspberry Pi or VPS; Baïkal offers a lightweight PHP alternative; Nextcloud bundles CardDAV into a full personal cloud. Point iOS settings or DAVx⁵ at the server URL with your credentials and every device converges on your own hardware. Remember backups — being your own provider means being your own disaster recovery, too.

Last updated: 2026-06-10

Tend relationships, not records.

Endearist is a local-first personal CRM. Free up to 25 contacts.

Start free