takezoh1k downloadsSync your vault with cloud storage (Google Drive, OneDrive, Dropbox).
Your Obsidian notes, always up to date on every device — without ever thinking about sync. Edit on your laptop, pick up your phone, and it's caught up before you start typing.
Works on desktop and mobile, powered by your own cloud storage:
That's it — Air Sync syncs into that folder from then on.
The first sync scans your remote folder, so it may take a little while. After that, syncing is fast.
| Strategy | Behavior |
|---|---|
| Auto merge (recommended) | Attempts 3-way merge for text files using the last-synced content as the base. If merge is not possible (binary file, no base content, or merge failure), falls back to keep newer (by mtime). If mtime is equal or unknown, creates a duplicate. |
| Duplicate | Always saves the remote version as a .conflict file and keeps the local version at the original path. |
| Command | Description |
|---|---|
Air Sync: Sync now |
Run a sync manually |
The built-in Google Drive connection uses the drive.file scope, which only allows access to files the plugin itself created. With custom OAuth, you can use your own Google Cloud OAuth client and manage authorization independently.
The authorization code exchange is protected by PKCE — the code cannot be used without the verifier held only by the plugin.
Note: Tokens are stored in Obsidian's secret storage, which is accessible to other plugins. The built-in OAuth limits exposure with the
drive.filescope. Custom OAuth may increase risk depending on the scope you configure.
OneDrive and Dropbox also offer a custom app backend, where you register your own app and enter its client id (Dropbox app key / Entra application ID). The id is a public PKCE identifier — there is no secret to manage. Register obsidian://air-sync-auth as a redirect URI in your app.
For OneDrive, the custom app additionally lets you choose the account type:
| Account type | Who can sign in |
|---|---|
| Personal accounts only | Personal Microsoft accounts (same as the built-in) |
| Work/school + personal | Both work/school (Azure AD) and personal accounts |
| Work/school only | Work/school (Azure AD) accounts |
| Specific tenant | A single Azure AD directory (enter its tenant ID) |
This is what lets a custom OneDrive app reach work/school accounts the built-in (personal-only) connection cannot. Your selection must match the supported account types configured in your app registration, and work/school sign-in may still require your organization's admin consent.
Note: The custom app still uses the same App Folder scope, so access stays confined to the plugin's own folder.
Air Sync connects only to the cloud storage you choose, to sync your files:
googleapis.com for sync; sign-in happens on accounts.google.com, and a small auth server (auth-airsync.takezo.dev) performs the sign-in token exchange.graph.microsoft.com for sync; sign-in happens on login.microsoftonline.com and returns directly to Obsidian (no relay or picker page — the folder is chosen in-app).api.dropboxapi.com / content.dropboxapi.com for sync; sign-in happens on dropbox.com and returns directly to Obsidian (no relay or picker page — the folder is chosen in-app).Your vault data is sent only to your chosen storage provider — never to the auth, redirect, or picker pages.
Air Sync only ever sees the folders it created — never the rest of your Google Drive, OneDrive, or Dropbox. (On OneDrive it uses the App Folder, so it can only access its own folder.)
This plugin is provided "as is", without warranty of any kind. The authors are not responsible for any loss or corruption of data, or any other damages arising from the use of this plugin. Use at your own risk. It is strongly recommended that you back up your vault before using this plugin.