Skip to content

MDSync

Sync your vault end-to-end encrypted through your own S3, WebDAV or Google Drive storage, with conflict resolution, file history, shared folders and live editing. - This plugin has not been manually reviewed by Obsidian staff.

The above warnings are based on limited information and might not always be accurate.

Data

IDmdsync
Authork1tbyte
Minimum Obsidian Version1.13.0
Official Release Date2026-10-03
Last update2026-10-18

Last Refresh

Obsidian Stats last refreshed the data behind this page on Oct 27, 2026.

Community plugin snapshotOct 26, 2026
Repository clonelast successful checkout Oct 27, 2026
Release acquisitionrelease metadata checked Oct 27, 2026; latest main.js acquired

Quick Links

Changes

DateChanged PropertyOld ValueNew Value
2026-10-03Plugin Added

Repository Data

LicenseNot Found in package.json
MIT in LICENSE file
Package Managerpnpm
Uses TypescriptYes
Installed BundlersNone found
Installed Testing FrameworksNone found
Has Test FilesYes
Latest Release main.js Size844 KB
Detected ES VersionES2020
Probably MinifiedYes
main.js API Findings20 disclosures
Uses BRAT beta releasesNo
DependenciesNone
Dev Dependencies@biomejs/biome, @mdsync/protocol, husky, jiti, playwright-core, tslib, typescript

main.js API Findings

These findings come directly from Glass Lint's JavaScript and Obsidian rule catalogs applied to the latest release main.js. The confidence column is Glass Lint's definite/possible match certainty.

DisclosureRule Descriptions
Browser Environment AccessReads browser environment data
Browser Storage AccessUses persistent browser storage
Clipboard AccessWrites clipboard data
Codemirror IntegrationUses CodeMirror extension primitives
Cryptographic OperationsUses cryptographic operations
Full Vault AccessEnumerates vault files
Markdown ProcessingRenders markdown
Network AccessConstructs or references URLs, References authorization or user-agent headers, References private-network addresses, References service or SDK endpoints, Uses Obsidian request APIs, Uses browser network request APIs
Node Filesystem AccessUses Node filesystem and path APIs
Obsidian Config AccessReferences .obsidian configuration paths
Platform BranchingChecks Obsidian platform flags
Plugin Storage AccessReads or writes app-scoped storage and secrets, Reads plugin data, Writes plugin data
Private Network AccessReferences private-network addresses
Process Or Shell AccessReads Node process environment or platform metadata
Third Party ServicesReferences service or SDK endpoints
User Interface AccessRegisters plugin settings UI, Uses Obsidian menus, Uses Obsidian modal UI, Uses Obsidian notices
Vault AccessAccesses Obsidian vault APIs, Accesses attachment resource paths, Registers vault events
Vault ReadReads vault files
Workspace AccessAccesses the active file, Registers Obsidian workspace events
Workspace LayoutManages workspace leaves
FindingTypeConfidenceEvidence
Reads or writes app-scoped storage and secretsWarningDefinitemember_call of "app.loadLocalStorage", member_call of "app.saveLocalStorage"
Writes clipboard dataInfoDefinitemember_call of "navigator.clipboard.writeText" (5)
Reads browser environment dataInfoDefinitemember_read of "navigator.platform", member_read of "navigator.onLine" (3)
Uses persistent browser storageInfoDefinitemember_call of "localStorage.setItem", member_call of "localStorage.getItem" (2), member_call of "localStorage.removeItem"
Uses browser network request APIsInfoDefiniteconstructor of "WebSocket"
References authorization or user-agent headersInfoDefinitestring_contains of "COOKIE", string_contains of "Cookie", string_contains of "authorization" (2), string_contains of "Authorization"
References private-network addressesInfoDefinitestring_contains of "private network address" (4)
References service or SDK endpointsInfoDefinitestring_contains of "amazonaws.com"
Constructs or references URLsInfoDefinitestring_contains of "http://" (3), constructor of "URL" (13), string_contains of "https://" (20), constructor of "URLSearchParams" (2), member_call of "URL.canParse"
Uses cryptographic operationsInfoDefinitemember_call of "crypto.subtle.importKey" (7), member_call of "crypto.subtle.sign" (3), member_call of "crypto.subtle.deriveKey" (4), member_call of "crypto.subtle.deriveBits" (2), member_call of "crypto.subtle.encrypt" (3), member_call of "globalThis.crypto.subtle.encrypt" (3), member_call of "crypto.subtle.decrypt" (2), member_call of "globalThis.crypto.subtle.decrypt" (2), member_call of "crypto.subtle.digest", member_call of "globalThis.crypto.subtle.digest"
Uses Node filesystem and path APIsInfoDefiniteimport of "node:fs"
Reads Node process environment or platform metadataInfoDefinitemember_read of "process.platform", member_read of "process.release" (2), member_read of "process.argv", member_read of "process.env" (2)
Uses CodeMirror extension primitivesInfoDefiniteimport of "@codemirror/state" (19), import of "@codemirror/view" (24), import of "@codemirror/commands" (2), import of "@codemirror/language", import of "@lezer/highlight"
Renders markdownInfoDefinitemember_call of "obsidian"
Uses Obsidian request APIsInfoDefinitemember_call of "obsidian" (8)
Checks Obsidian platform flagsInfoDefinitemember_read of "obsidian" (26)
Reads plugin dataInfoDefinitemember_call of "obsidian.Plugin"
Writes plugin dataInfoDefinitemember_call of "obsidian.Plugin"
Uses Obsidian menusInfoDefinitemember_call of "obsidian.Menu" (19)
Uses Obsidian modal UIInfoDefiniteconstructor of "obsidian.Modal" (8), class of "obsidian.Modal" (12)
Uses Obsidian noticesInfoDefiniteconstructor of "obsidian.Notice" (5)
Registers plugin settings UIInfoDefiniteclass of "obsidian.PluginSettingTab"
Accesses Obsidian vault APIsInfoDefinitemember_read of "app.vault" (22)
References .obsidian configuration pathsInfoDefinitemember_read of "app.vault.configDir"
Enumerates vault filesInfoDefinitemember_call of "app.vault.getFileByPath" (2), member_call of "app.vault.getAbstractFileByPath" (2), member_call of "app.vault.getAllLoadedFiles"
Registers vault eventsInfoPossiblemember_call of "app.vault.on" (15)
Reads vault filesInfoDefinitemember_call of "app.vault.read"
Accesses attachment resource pathsInfoDefinitestring_contains of "obsidian://" (5)
Accesses the active fileInfoDefinitemember_call of "app.workspace.getActiveFile" (5)
Registers Obsidian workspace eventsInfoPossiblemember_call of "app.workspace.on" (3)
Manages workspace leavesInfoDefinitemember_call of "app.workspace.getLeavesOfType" (2)

The above data may not be accurate and contain errors. For more information refer to the page about data collection.

Lines of Code

The plugin has a total of 93191 lines of code. The following chart shows the lines of code split by programming language.

Downloads

The following chart shows the total number of downloads of the plugin over time. The second chart shows the delta of downloads per week, which is the number of new downloads per week. New version releases are marked with vertical lines.

Version History

VersionRelease DateNote
1.0.02026-10-04None
1.1.02026-10-10None
1.2.02026-10-13None
1.3.02026-10-20None