Sync Setup

Last updated: 2026-09-30

Plainva optionally syncs each vault with a storage of your choice — straight from the app, with no Plainva-run service in between: your data travels exclusively between your computer and your own account/server. This page walks through the setup per provider.

Which services work in general (also via WebDAV or the provider’s desktop client) is covered in Sync Compatibility.

Compare preserved revisions

When a text conflict cannot be merged automatically, one local working copy stays open per original. Further edits are saved to that same copy, including after reopening the note or restarting the app. The banner explains: You are editing your conflict copy. It will sync after you merge it.

In the comparison, Compare preserved revisions shows the saved starting version when available. If the working copy changes outside this editing session, that other version is also preserved and can be compared there. Adopting, keeping both and discarding check the current files again; reload a comparison that is out of date. Resolve the conflict before moving or deleting the affected file or its folder. Older conflict copies remain listed separately.

The diagnostics export also includes recent conflict events: storage type, writer, hash comparison and differences in line endings, BOM or final newline. These conflict records contain no note content or file names. The export is always in English, whatever the app language, so you can paste it into an issue on GitHub as it is.

Basics

WebDAV / Nextcloud

The simplest route for self-hosted servers and most cloud storages:

  1. In Cloud accounts → Connect account… pick the Nextcloud tile (or WebDAV / CalDAV).
  2. Enter the Server address, Username and Password or App Token — use an app password instead of your main password whenever possible (in Nextcloud: Settings → Security → App passwords).
  3. Connect validates the credentials; afterwards pick the Cloud folder via Choose folder…. A new folder can be created here too — as everywhere Plainva picks a cloud folder, on the phone under Change cloud folder as well.

Nextcloud special: ONE form covers files and calendar — Plainva derives the WebDAV and CalDAV endpoints from the server address itself (the derived addresses are shown in the assistant; Advanced: set endpoints individually allows separate URLs). Tick both services and a single pass connects both.

Typical server addresses (Nextcloud, Koofr, MagentaCLOUD, Storage Box and many more) are listed in Sync Compatibility.

The address points at the vault folder itself. Everything below it belongs to the vault, so an address one level too high pulls the neighbouring folders in as well. With WebDAV the folder is part of the server address — to move the vault later, connect the account again.

Password changes are checked with every affected password-protected service first. If saving is interrupted, confirmed changes are retained. Open the account again and choose Continue saving. The protected operation remains available after a restart. If the account binding or credentials have changed, choose Verify password again to check the current password for the services now assigned to the account. Missing credentials are not skipped. A fresh calendar sign-in is also used when a previously closed vault is next opened.

A new calendar connection remains bound to the vault where you started it. If you close or switch that vault during verification, start the connection there again. If existing credentials cannot be read, account merging stops and preserves the existing accounts.

Google Drive

Google Drive currently runs with your own credentials (“Bring Your Own”): you create a free Google Cloud project once, owned by you alone. The step-by-step guide: Google Drive (BYO).

Short version: in Cloud accounts → Connect account… pick the Google tile, tick the Files service, enter the Client ID and Client Secret from your Google project, then Sign in with Google… — the sign-in opens in your browser. Once connected, pick the Cloud folder via Choose folder… straight from your Drive (subfolders included, default “Plainva”). Note: while your Google project sits in testing mode, the sign-in expires after 7 days — for good, because Google lets the refresh token expire too in that mode, so Plainva cannot renew it in the background. Sync then tells you the sign-in has expired, and Sign in again in the account details restores it — one round trip for all services of that account. In production removes the fixed expiry of testing mode. It does not guarantee a permanent sign-in: Google can still expire or revoke access. Publishing and verification requirements depend on the use and requested permissions. Google: refresh token expiration.

If you tick Files and Calendar together while connecting, Google asks for your consent only once — requesting exactly the permissions of the services you picked. Adding another service later brings a second, incremental consent.

OneDrive

Plainva ships its own app registration — you no longer need your own ID:

  1. In Cloud accounts → Connect account… pick the Microsoft tile and tick the Files service (OneDrive) — on request together with Calendar & tasks and Email (one Microsoft account can carry all three services).
  2. Sign in with Microsoft… and confirm the sign-in in the browser. Done — Plainva creates the folder (default “Plainva”) and syncs its entire content, including externally added files.
  3. Optional: once connected, pick the Cloud folder via Choose folder… straight from your OneDrive (subfolders included).

Optional: via Use your own app ID you can instead supply a self-registered client ID (e.g. for corporate restrictions). Detailed guide: OneDrive & Dropbox (BYO).

When you connect several services of one account together — say Files and Calendar — the provider asks for your consent only once, and Plainva keeps a single sign-in for the whole account. This holds for Microsoft (files, calendar, mail) as well as Google (files and calendar; a Gmail mailbox stays out of it, because it runs over IMAP with an app password and needs no consent).

The wizard carries the provider you picked through every step: steps 2 and 3 open the matching form right away (the Google calendar form instead of a provider chooser, Gmail instead of a generic IMAP form) and never ask again who you wanted to connect. What one step collected is already there in the next — for Nextcloud, Plainva derives the CalDAV address from the server address of step 1, and a suite password is typed once instead of three times. Those details live in memory for the length of the run only; they are stored nowhere and are gone once the run ends — including when you end it with Leave wizard.

Accounts that still sign in per service are marked Old sign-in in the account list and offer One login for all services — in the list and in the account details, on the desktop as well as in the mobile app. One round trip, and afterwards every service shares the same sign-in. That is more than convenience: separate sign-ins could drift apart, leaving one service running while another one of the same account had quietly expired. For such accounts Sign in again now renews the whole account instead of a single service. The offer also stays when a shared sign-in already exists but does not cover every service of the account — because you left a tick off on the consent screen, say; Google cannot widen a consent it has already granted.

Signing in to Google again preserves your Gmail mailbox’s app password. The browser sign-in renews only the account’s OAuth services; your IMAP mailbox does not need a new password for this. Outlook keeps stored sign-ins and running connections separate for each vault, even when the same account profile exists in several vaults. This applies on desktop and mobile.

Files, calendar and Outlook mail each need their own permissions. Working file sync therefore does not mean that the calendar or mailbox is also authorized. Plainva checks the permissions for each service; if a permission is missing, sign in again and grant the required access. Equivalent Google permission names are recognized.

Dropbox

Plainva ships its own Dropbox app — no own app needed:

  1. In Cloud accounts → Connect account… pick the Dropbox tile (it carries only the Files service).
  2. Sign in with Dropbox… and confirm in the browser. Done (default folder /Plainva).
  3. Optional: once connected, pick the Cloud folder via Choose folder… straight from your Dropbox (subfolders included).

Optional: via Use your own app ID you can instead supply a self-registered app key. Detailed guide: OneDrive & Dropbox (BYO).

S3-compatible storage

For AWS S3, Cloudflare R2, Backblaze B2, MinIO, Wasabi, Hetzner and others — key-based, no browser sign-in at all. In Cloud accounts → Connect account… pick the Object storage (S3) tile and fill in the fields:

FieldMeaning
EndpointBase URL of the S3 API, e.g. https://s3.eu-central-1.amazonaws.com, https://<account>.r2.cloudflarestorage.com or http://127.0.0.1:9000 for local MinIO
BucketBucket name
RegionSigV4 region; us-east-1 works for most non-AWS stores, Cloudflare R2 uses auto
Access Key ID / Secret Access KeyAn API key pair from the provider
Key Prefix (optional)Subfolder inside the bucket for the vault; empty = bucket root
Path-style URLsRecommended (MinIO, R2 and most compatibles); disable only for virtual-hosted AWS buckets

You can pick the Key Prefix (the cloud folder) via Choose folder… straight from the bucket once connected.

After Connect, sync starts right away.

See also

Sync encryption (passphrase)

Replaced in P3: The controls described below are no longer used for vault content. Use Security & Sharing for the current encrypted-workspace setup. The passphrase controls that remain on this page protect only the optional settings/secrets sideband.

Plainva can encrypt what leaves your device for the sync server, while your local vault always stays plain Markdown that Obsidian can read.

Open Settings → Synchronisation → Sync passphrase & encryption:

  1. Set a passphrase. This creates an encryption key for the vault and shows a one-time recovery code — store it safely; it is the only way back in if you forget the passphrase. From then on the vault’s synced settings travel encrypted.
  2. Encrypt vault content (optional). The Encrypt button re-uploads every note to the sync server as ciphertext. Your local files stay plain Markdown, so a local vault is never at risk — try it on a throwaway vault first. When the upload has finished, use Finish migration to accept only ciphertext from then on.
  3. On another device, open the same synced vault. Plainva detects that the vault is encrypted and prompts for the passphrase (or the recovery code). After you unlock, the notes are decrypted and appear locally.

The unlocked key is cached on each device. Turn on Require passphrase at every start to re-enter it after each restart instead, and use Lock to remove the cached key from this device.

Accounts on all your devices is three steps. 1 · Settings and accounts: puts vault settings and your accounts (calendars, mailboxes, calendar selection) into a small file in the vault — as long as no passphrase is set up this needs none; once there is one, every device has to enter it before settings travel from there. This step is on by default — settings and accounts are not secrets; you can switch it off per vault at any time. 2 · Sync passphrase (optional): only needed if sign-ins should travel too; it additionally encrypts the settings from step 1. 3 · Carry sign-ins: additionally carries static IMAP and CalDAV passwords, encrypted, and can only be switched on once step 1 runs and the passphrase is unlocked — a password can only travel to an account the device already knows. Not carried: device-specific paths and OAuth sign-ins (Microsoft, Google); their tokens are device-bound, so the account appears on the new device and needs Sign in there once.

On the phone you find the same chain on the vault page — the same three steps and the same lock. Accounts arriving from another device are created there; you no longer enter them by hand. Take over from another device now fetches them at once instead of waiting for the next round.

If Plainva warns that an older version is still publishing retired account data, update Plainva on every device that uses this vault. The current device ignores old Google client credentials and keeps its own working sign-in. Do not confirm removal of the old remote data until every participating device has been updated. Plainva offers the button for that in the notice under Settings → Vault → Synchronisation → Diagnostics: Remove retired entries — the question it asks is exactly that confirmation.

Where that sign-in happens depends on the service: a mailbox shows a Sign in on this device button on its own row in the Email area, a calendar or files account does so in Cloud accounts. A Microsoft mailbox always leads to Cloud accounts, because its sign-in runs in the browser.

When you set the encryption up fresh, step 3 is on from the start — otherwise every further device would sit there without sign-ins for good. For a vault you already use, nothing changes quietly: Plainva asks once and remembers your answer.

If one account shows up as two cards, Plainva could not fetch the identity from the provider — and it must not guess. Open either card under Cloud accounts and use Merge to say it is the same account; Plainva shows what will be carried over before it does anything.

If Calendar lists two rows for the same calendar, Plainva reports it and does not fold them on its own: folding costs the calendar selection and the link to mirrored tasks. Check which row carries your selection and remove the other one.

An account you remove stays removed: the deletion travels through the settings sync to your other devices instead of coming back from there on the next round.

What travels, and what stays here

If Review duplicate accounts appears under Cloud accounts, Plainva deliberately does not guess from the name. Choose Keep this account on the correct card. The confirmation names the target, sources and affected services, and creates a backup on this device first. Cancel changes nothing. Merging removes only orphaned local accounts, caches and credentials — nothing is deleted at the provider.

Travels with the vaultStays on this device
Accounts — calendars, mailboxes, cloud accounts, bookmarksAbsolute paths — vault location, backup destination
Folders and templates — daily notes, template, inbox and attachments folders, task databaseSign-in tokens for Microsoft and Google
Calendar settings — meetings folder, default calendarWhich mailbox and folder you last had open
Mail settings — capture folder, remote imagesThis device’s starting arrangement for new vaults
Backup rules — snapshot interval, retention, archivesStatic passwords — unless step 3 is on
Sync interval
Bar arrangement (desktop)

The phone carries slightly less: the arrangement of the four desktop bars stays on the computer — its own navigation bar does travel, and so does the meeting folder. Its own chain on the vault page shows what it carries, and below it both devices state what the sync actually did last — naming the settings that travelled, and on a receive the ones that changed. The message “Settings adopted from another device” appears at most once per session and only when something really changed — after that it stands in these lines. New in this revision, the phone also adopts the daily-note file format, the OKF type of new notes and your bookmarks — before, a vault with a different date format got a second daily note for the same day as soon as the phone touched it.

Diagnostics now separate last checked (local profile fields), last downloaded, last applied and last actually sent. “Sent” changes only after a successful cloud write; unchanged rounds therefore update the check and download, but not the sent time. Secret results appear separately as counts for imported, unchanged, rejected, stale, failed or waiting for an account. They contain only stable reason codes — no account id, password, token or raw error. A legacy-client notice means Plainva should be updated on every participating device; this device ignores the retired Google client data.

Deletions travel. A deletion you confirmed stays in a journal (.plainva/sync/deletions.json) for 90 days and is mirrored on every other device without a question — after a restart too, and even when many files are missing there at once. When many files are missing in the cloud without the journal explaining them, Plainva pauses the mirroring and asks: apply the deletions or keep them locally (then it uploads the files again as new). The same goes for task lists: a deletion carried out at the provider also removes the task note on the other device, as long as it is unchanged there. Before it asks — and before it removes a single file here — Plainva checks with the cloud directly: it asks for a sample of the missing files one by one. If even one of them is there, the cloud’s list was incomplete: nothing is deleted, nobody is asked, and the sync status shows The cloud answered incompletely — nothing was deleted with Check again. A journal entry is written only after a file was found gone and removed here, and an entry whose file turns up in the cloud again is taken back; Check deletion log under About & diagnostics does that on request. If the cloud folder of a vault that has synced before cannot be found, Plainva no longer creates an empty replacement but reports it — you then choose the existing folder.

Errors and automatic retries

The sync error dialog preserves the exact failed attempt even when an automatic retry has already changed the live status. It shows when a retry is running or has recovered successfully. Reconnecting is recommended only for authentication errors; network, timeout, and provider failures retain their concrete cause and are retried automatically. The settings sync waits out temporary failures too: a timeout first appears as a quiet note with a counter and only turns into a red message after the third failure in a row — an expired sign-in, by contrast, straight away.

Names that differ only in spelling

Google Drive matches names case-insensitively when it searches, and Windows and macOS store Note.md and note.md in the same file. The same character can also be stored two ways: ü as one character, or as u with a trailing diaeresis. For that spelling Plainva now means the same file and keeps syncing normally, as long as there is only one match.

When two names differ in capitalization, however, they are two files. Plainva then changes and deletes nothing and shows the card Two spellings, one file with both names — on mobile on the vault page, on the desktop in the sync settings. Every other file keeps syncing. Rename one of the two notes and the card disappears by itself.

The new sign-in does not cover every service. Your existing sign-ins were kept. Sign in again and allow every listed service. The account binding changed. Open the current account settings and sign in again.

Google Drive: incomplete downloads

When Google Drive temporarily limits requests, Plainva retries the download with a delay. A failed download is not treated as a missing file or a completed change. Existing local content and the confirmed sync state are kept; the next cycle retries the outstanding change. Other files that downloaded successfully remain available. Missing permissions or other permanent refusals appear as errors with the file path and cause. This applies on desktop and mobile.

Interrupted file transfers

Timeouts also cover receiving file contents from WebDAV, Dropbox, OneDrive, S3 and Google Drive. When a streamed response stops delivering data, Plainva ends that attempt and retries reads a limited number of times with a new request. Progress keeps a streamed download active even when the whole file takes longer than the base timeout. Native mobile requests also have their own time limits. An incomplete download never replaces the existing local file or confirms its sync progress. Large uploads retain their size-based time budget; an unclear upload result is left to the normal sync recovery rather than blindly sent again.

Extend existing accounts

Add files, calendar or email directly to the appropriate account. Plainva checks the selected sign-in and requests any missing permissions.

Open Cloud accounts, choose the existing account and select Add for the missing service. Existing services remain connected. Gmail continues to use its own mail login or app password. Cancelling the assistant does not disconnect completed services. A mobile file transfer keeps the source vault; it considers an existing matching destination vault or prepares a separate container. Colliding files are reviewed individually and both contents are kept. Encrypted destinations are opened through the existing pairing flow.

When adding files on mobile, Plainva shows the source, destination and collisions before transfer. Existing contents and services are preserved; an interrupted transfer can be retried.

Certificates for self-hosted servers

Android also trusts certificate authorities you install in the system settings. This applies to all Plainva connections that use Android’s platform configuration, not just one WebDAV server. Desktop HTTP connections include system certificate authorities alongside public roots; iOS uses its system trust settings. Certificate validity and the server hostname are still checked. An expired, not-yet-valid or wrong-host certificate must be corrected on the server or in the configured address. Plainva never offers an option to accept every certificate. If the operating system does not identify the exact trust failure, Plainva reports that verification failed without guessing its cause. Native mobile HTTP failures appear in the diagnostic export as a method and error code, without credentials, certificate subjects or private server paths.

Automatic retries and missing sync history

The connection is temporarily unavailable. Plainva will try again automatically; pending changes stay on this device.

Sign in to the sync account again. Pending changes stay on this device until access is restored.

Plainva cannot verify the encrypted workspace. Synchronization is paused; local data and pending changes are preserved. Open Security & Sharing, restore a verified copy if available, then check again.

On a device that still holds the complete verified history, choose Sync now. Plainva can restore missing signed operations from that copy. Then check again on Plainva. If no valid copy exists, keep or export the local data; verification is never reset to bypass the gap.

Unencrypted remark files from other devices remain on the server. Only their originating device can finish the conversion. Plainva does not delete another device’s files.

Existing sign-ins are adopted only after verifying identity, the permissions actually granted, and secure storage. An account can retain separate grants; adding a service keeps the working sign-ins of other services. Microsoft mail can reuse a suitable files or calendar sign-in. Another device needs its own sign-in.

In Sync settings, the Google Drive picker shows the current destination and a preview of the selected folder. Open folders with the same name and compare their files and modification dates. “Use this destination” stores the unique folder ID. If that folder later becomes unavailable, Plainva reports the error and creates no replacement. Other folders are not moved or deleted.