Masson1710 downloadsHosted sync for your vault with end-to-end encryption and no lost edits: automatic merges, conflict copies, deleted file recovery and file history. Requires a Selfsync Cloud account.
Obsidian plugin for Selfsync Cloud, a hosted version of selfsync. It syncs your vault with no lost edits: automatic merges, conflict copies, deleted file recovery and file history. End-to-end encryption is always on.
Status: early release. The plugin is published on GitHub Releases and is not in the Obsidian community directory yet. All accounts are on the free plan.
If you would rather run the server yourself, use the open selfsync plugin instead; it needs no account.
main.js, manifest.json and styles.css from the latest release.<your vault>/.obsidian/plugins/selfsync-cloud/.Works on desktop and mobile, Obsidian 1.13 or newer. Do not enable it together with the open selfsync plugin in the same vault.
First device. Open Settings → Selfsync Cloud, press Start syncing and pick a region (CIS or Europe): that is where the encrypted data lives. No email or password is needed: the account is created at once, the vault is encrypted and uploaded. A 24-word recovery phrase appears in the settings; write it down soon, it is the only way back into the account if your devices are lost. Until you mark it as written down, the plugin reminds you in the status bar.
More devices. On a connected device press Connect a device and scan the QR code with the new device’s camera: Obsidian opens, signs in and joins the same vault. Without a camera, type the code shown under the QR under Already have an account → Enter a code, then the recovery phrase (or the password, if you added one). Codes work once and expire after 10 minutes. The phrase alone also signs in, with no other device around.
Email and password are optional, in the account settings: with them you can sign in by typing on any device and confirm deletion with the password. One password for the account and the encryption; it never leaves the device.
Day to day. Sync runs by itself. Conflicting edits are merged or kept as conflict copies; deleted files and older versions are in the file history and the trash, as in selfsync. The settings show your storage use, the account’s sign-ins and devices (any of them can be revoked) and the plans. You can sign out or delete the account with all its data there too.
fs module, only inside your vault folder and the plugin's own folder: to replace files atomically (so a crash never leaves a half-written note) and to read large files in parts. On mobile it uses the Obsidian vault API only.This repository adds only the cloud screens: account creation and sign-in, the recovery phrase, plans and device connection. The sync engine is the open selfsync project at a released tag, kept in core/: its plugin sources and styles, its MIT license and the engine compiled to WebAssembly. core/SOURCE names the tag and commit. CI rebuilds core/ from that tag with scripts/core.sh check and fails unless the result is byte-identical, so core/ cannot drift from the published selfsync.
Building the plugin needs only Node:
git clone https://github.com/Darkildo/selfsync-cloud
cd selfsync-cloud
npm ci && npm run build # main.js, styles.css
npm test
To check core/ yourself (needs Rust, wasm-bindgen-cli and wasm-opt of the versions the script names):
scripts/core.sh check
Release files are built in GitHub Actions and carry a provenance attestation: gh attestation verify main.js -R Darkildo/selfsync-cloud.
The end-to-end test runs against the Selfsync Cloud server when SELFSYNC_CLOUD_BIN points to its binary; without it, the test is skipped. It checks that no request body ever carries a note or a file name in clear text.
PolyForm Shield 1.0.0: you may read, run, change and share this code for any purpose except building a product that competes with Selfsync Cloud. core/ is selfsync under the MIT license.