Sync Provider for Proton · Guide

Proton Contacts on Android

Your Proton contacts don’t appear in your phone’s contacts app, and calls from people you know arrive as bare numbers. Here’s why that happens, how to fix it, and what to check when it still doesn’t work.


If you keep your address book in Proton Contacts, your Android phone probably behaves as though it were empty. The contacts app shows nothing from Proton, the dialer announces friends by number instead of name, and apps that offer to use your contacts have none to offer. Everything below explains the one cause behind all of those symptoms, and what actually resolves it.

Why don’t my Proton contacts show up on my phone?

Android keeps one central contacts database, called the Contacts Provider. Google describes it as “the device’s central repository of data about people” and “the source of data you see in the device’s contacts application.” Your contacts app, your dialer, your messaging apps and your watch all read from that one place.

Proton’s own Android apps keep your contacts inside the app rather than writing them into that database. And Proton offers no CardDAV endpoint, so a standard sync client has nothing to connect to either. The result is that nothing has ever told Android your Proton contacts exist.

So they are not missing, corrupted, or failing to sync. They live somewhere your phone never looks.

Why doesn’t my phone show a name when a Proton contact calls?

This is the same cause wearing a different hat, and it’s usually the symptom that sends people looking for an answer.

Caller ID on Android is a lookup. A call comes in, the dialer takes the number, and it searches the contacts stored on the device for a match. There is no cloud lookup and no query to Proton. If your Proton contacts were never written into the device’s contacts database, there is simply nothing to match the number against, so you get a bare number, no name and no photo.

Worth knowing: no dialer setting fixes this, and neither does granting the dialer more permissions. People often work through every option in the phone app looking for the switch. There isn’t one. The contacts have to reach Android’s own contacts database first. Once they do, the dialer treats them exactly like any other contact.

The same applies to the rest of the system: your lock screen, your call log, your messaging app and your watch are all reading that one database.

How do I sync Proton Contacts to Android?

You need something that speaks to Proton on one side and writes into Android’s contacts database on the other. On most providers that would be a CalDAV/CardDAV app such as DAVx5, but Proton exposes no such endpoint, so that route is closed (there’s a fuller explanation of why here).

Sync Provider for Proton takes the other route: it talks to Proton’s own API and writes the results straight into Android. In practice:

  1. Install the app, from Google Play, or from Obtainium, GitHub, Uptodown or the Galaxy Store if you’d rather not use Play.
  2. Add your Proton account. You sign in with your normal Proton credentials and your two-factor code if you use one. Your password is never transmitted; it is used on your device to compute a proof (SRP).
  3. Grant the contacts permission when asked. This is what lets the app write into Android’s contacts database.
  4. Let the first sync run. Your Proton contacts are decrypted with your own keys and written into Android. A large address book takes a little longer the first time.

From then on it behaves like any other account on the phone. It appears under Android’s Settings, Accounts as a real system account called Proton Contacts, it syncs on an interval you choose (from every 15 minutes up to once a day, or manual only), and the sync is two-way, so a contact you edit on the phone goes back to Proton.

It needs Android 10 or newer, and it uses Android’s built-in sync framework rather than Google Play Services, so it works on de-Googled phones and GrapheneOS with no Google account.

How do I see Proton contacts in Google Contacts or Samsung Contacts?

You don’t have to do anything. This is the part people expect to be difficult and it isn’t.

Because the contacts are written into the shared database rather than held in a private app, every app that reads contacts picks them up on its own. There is no import step, no vCard file to shuttle around, and no copy to keep in step. Google Contacts and Samsung Contacts both show them alongside everything else, grouped under an account called Proton Contacts.

The same is true of your dialer and caller ID, your messaging app, most third-party contacts and calendar apps, and a paired watch.

One thing to be aware of: many contacts apps have a filter deciding which accounts they display, and a newly added account is not always ticked. If Proton contacts don’t appear straight away, that filter is the first place to look.

What actually syncs

Not just names and numbers. The sync covers the full contact record in both directions:

Everything is decrypted and re-encrypted with your own Proton keys (OpenPGP). Nothing is routed through any third-party server.

My Proton contacts synced but still don’t appear. What should I check?

In rough order of likelihood:

  1. The contacts app’s display filter. Most contacts apps only show the accounts you have ticked. The setting is usually reached from the app’s menu and is called something like “Contacts to display” or “Customize view”. The exact wording and location move around between phone makers and Android versions, so look for whichever of those the app offers, and make sure Proton Contacts is ticked.
  2. Contacts sync is switched off for the account. In Android’s Settings, under Accounts, you’ll see two entries per Proton account: Proton Contacts and Proton Calendar. Open Proton Contacts and confirm its sync toggle is on.
  3. The contacts permission was declined. Without it the app cannot write anything. Check the app’s permissions in Android’s settings and grant Contacts.
  4. Contacts appear but then go stale. That is almost always battery optimisation. Android will pause background work to save power, which delays or stops scheduled syncs. Setting the app’s battery usage to “Unrestricted” resolves it, and the app has a button that takes you to the right settings screen.
  5. Still unclear? The app has a built-in log viewer that shows exactly what each sync did, and the log can be copied or exported to send on.

Which apps can see your Proton contacts, and which can’t

Nearly everything reads them without complaint. There are two rough edges worth knowing about in advance, and both come from other apps’ own code rather than from the sync itself, which means they affect other third-party contacts accounts too, not just this one.

Neither of these stops contacts syncing, and neither affects caller ID.

The trade-off worth understanding

For your dialer to show a name, the contact has to be readable by the dialer. That means the data is decrypted and handed to Android’s contacts database, where it lives like any other contact. This is true of every sync adapter on Android, Google’s and Samsung’s included, and it is the mechanism that makes system-wide integration work at all.

Sync Provider encrypts your credentials and tokens at rest and only ever talks to Proton’s API, but the synced contacts themselves sit in Android’s providers by design. If you would rather nothing touched them, Proton’s own apps keep everything in-app, at the cost of the integration described on this page. The Data & Encryption section on the main page sets out exactly what is stored where.

Keeping your own copy

Separately from syncing, the app can save your Proton contacts to a folder you choose as standard .vcf vCard files, either on demand or automatically on a schedule. The data is read from Proton rather than scraped off the device, so it is a genuine independent copy, and it can be encrypted with a password into a single .gpg file that opens with ordinary GnuPG.

In short

See Sync Provider for Proton →

Sources