Peter Sedmak504 downloadsPermission-aware encrypted cloud sync for teams. Client-side encryption with KMS-backed server-managed keys, per-file permissions, and full audit logging through AWS. Desktop + mobile.
This is the flat release mirror of the plugin for Obsidian's community directory. Canonical source (plugin + server, for self-hosters and auditors): https://github.com/peter70700/vaultguard-obsidian/tree/main/packages/plugin
VaultGuard Sync is the Obsidian plugin for permission-aware encrypted sync, part of the VaultGuard product family. This public plugin repository contains only the Obsidian client.
Fresh installs start with one shield and the protection/sync core. AI Chat and Permissions Graph are enabled by default, while external Agent Access and Secure Discovery start off. Each module remains independently configurable, and recognized legacy installs preserve their previous P1 availability during migration; Secure Discovery never migrates on.
list and search the files you can see, read decrypted content,
apply_patch edits, and create new notes. Every call is permission-checked
and audit-logged, and the tools refuse hidden/excluded paths (.obsidian,
.trash, .git, …).mcp__vaultguard__list / search / read /
apply_patch / create and connect with short-lived, scoped lease tokens you
mint, rotate, and revoke from Settings → VaultGuard → Agent bridge
connections. Agents never get raw filesystem access or your keys — only
decrypted content they're allowed to read. Desktop-only.The optional AI chat, permissions graph, built-in tools, and MCP server are plugin features and work on every edition (Community, Pro, Enterprise) — the security primitives are never paywalled. See the security plane table below for the full per-edition breakdown.
VaultGuard Community Edition is the open-source, self-hosted stack (your AWS,
edition=community codebase, Pro-only features gated off). Pro and Enterprise
are the managed VaultGuard Cloud running the Pro Edition codebase — they add
the operational layer most teams want once they scale past a few users,
without paywalling any of the security primitives.
| Community Edition | Pro | Enterprise | |
|---|---|---|---|
| Where it runs | Your own AWS | Our AWS (managed) | Dedicated infra |
| Price | Free, self-hosted | €12 / user / month | Custom |
| Edition (code) | community |
pro |
pro |
| License | Sustainable Use License | Cloud ToS | Commercial contract |
| User cap | Up to 100 | Up to 100 | By agreement |
| Storage | Your AWS configuration | 100 GB included | 1 TB |
| Trial | Clone + deploy | 14 days; payment method required | Sales call |
Identical in every tier — security primitives are never paywalled.
| Capability | CE | Pro | Enterprise |
|---|---|---|---|
| Client-side content encryption (AES-256-GCM + managed KMS keys) | ✓ | ✓ | ✓ |
| Per-file permissions with role inheritance | ✓ | ✓ | ✓ |
| Session, permission, and renewable-lease revocation | ✓ | ✓ | ✓ |
| Time-bound key leases (1h default, configurable) | ✓ | ✓ | ✓ |
| Multi-vault support per organization | ✓ | ✓ | ✓ |
| Plugin allowlist enforcement | ✓ | ✓ | ✓ |
| Cognito auth (password + BYO IdP via Cognito) | ✓ | ✓ | ✓ |
| Local at-rest encryption via OS keychain | ✓ | ✓ | ✓ |
| TLS 1.2+ in transit (TLS 1.3 when negotiated) | ✓ | ✓ | ✓ |
Where Pro starts to earn its keep.
| Capability | CE | Pro | Enterprise |
|---|---|---|---|
| In-Obsidian admin (users / permissions / settings / recovery) | ✓ | ✓ | ✓ |
| Hosted web admin panel (admin.vaultguard.cloud) | ✗ | ✓ | ✓ |
| Share links + share-bridge for internal teammates | ✗ | ✓ | ✓ |
Basic audit log (GET /vaults/{vaultId}/audit/logs) |
✓ | ✓ | ✓ |
| Advanced audit — dashboards, alerts, CSV export, per-user / per-file reports | ✗ | ✓ | ✓ |
| Audit retention | 30 days (configurable) | 1 year | Custom |
| Stripe-backed billing | ✗ | ✓ | ✓ |
| Transactional email (invites, password reset) | Your SES | Managed | Managed |
| Org signup | Single-tenant lockdown | Multi-tenant | Custom |
| Managed AWS infrastructure | ✗ | ✓ | ✓ |
| Managed security update process | ✗ | ✓ | ✓ |
| Managed backup operations | ✗ | ✓ | ✓ |
| Uptime target | None | 99.9% target | Custom by agreement |
| Support target | Community (GitHub) | Email, 1-business-day target | Priority by agreement |
| Capability | CE | Pro | Enterprise |
|---|---|---|---|
| SAML / OIDC SSO integration | ✗ | ✗ | ✓ |
| Dedicated infrastructure | ✗ | ✗ | ✓ |
| Custom data residency | ✗ | ✗ | ✓ |
| Custom key rotation & retention policies | ✗ | ✗ | ✓ |
What you do vs. what we do.
| Responsibility | CE | Pro | Enterprise |
|---|---|---|---|
| Deploy the backend | You (terraform apply) |
Us | Us (or you, with license) |
| Patch Lambda runtimes / dependencies | You | Us | Us |
| Rotate KMS keys | You | Us | Us / custom |
| Run backups | You | Us | Us |
| Monitor uptime / page on-call | You | Us | Us |
| Pay AWS bill | You | — | Custom |
Community Edition is the trust signal and the escape hatch. Pro is what you pay for once the team grows past two non-technical admins, needs to share with outsiders, or has a compliance team asking for audit evidence. Enterprise adds SSO, dedicated infrastructure, and custom data residency on top of Pro.
Want managed hosting? Start a 14-day Pro trial — a payment method is required at trial start. Or contact Enterprise sales for SSO and dedicated infrastructure.
VaultGuard Community Edition is a monorepo: this packages/plugin/ is the
Obsidian client, and packages/server/ is the AWS backend (Cognito, API
Gateway, Lambda, DynamoDB, S3, KMS, SES) deployable with Terraform on your own
AWS account. Single-tenant by default; Pro-only features (web admin, share
links, Stripe billing, landing page) are excluded.
The end-to-end deploy walkthrough lives at docs/SELF-HOSTING.md.
Hosted organizations use the same plugin. Click Continue with VaultGuard Cloud or redeem an invite link from your administrator; the plugin includes the public VaultGuard Cloud API and Cognito identifiers and refreshes organization-specific settings after sign-in. Entering an organization slug is still available for admins who want to pre-resolve a specific org.
Open the latest release and download these three files:
main.js
manifest.json
styles.css
Place them into your vault at:
<Vault>/.obsidian/plugins/vaultguard-sync/
Restart Obsidian.
Enable VaultGuard Sync under Settings > Community plugins.
npm install
npm run -w vaultguard build
The build produces packages/plugin/main.js alongside the existing
packages/plugin/manifest.json and packages/plugin/styles.css. To install
the built plugin directly into a local vault:
npm run -w vaultguard install:plugin -- "/absolute/path/to/YourVault"
Open Settings > VaultGuard Sync > Connection, enable manual configuration, then
paste your server config URL, for example
https://your-server.com/.well-known/vaultguard.json. The config response fills:
You can still edit those fields manually after applying the config URL.
See docs/SELF-HOSTING.md for the end-to-end
Community Edition deploy walkthrough, and
packages/plugin/docs/openapi.yaml for
the OpenAPI 3.1 schema describing the backend HTTP contract a self-hosted
server must implement.
VaultGuard Sync connects to the effective API endpoint shown in plugin settings
and to the configured AWS Cognito User Pool endpoint for authentication. Fresh
installs default to https://api.vaultguard.cloud, but the plugin does not make
Cloud requests on load: Cloud/sync network calls begin only when you sign in,
redeem an invite, connect an organization, or restore an existing session. Manual
configuration bypasses the bundled Cloud fallback.
Two user-triggered network paths are independent of Cloud sign-in and are listed here for full disclosure:
api.github.com / github.com). Plugin load
does not start an update timer or GitHub request. The manual check sends no
vault data or account information — only a standard version request.api.anthropic.com
or api.openai.com. No AI calls are made until you enable chat and provide a
key, and vault content reaches the provider only through VaultGuard's
permission-gated tools, never as raw file paths.The plugin uses Obsidian's requestUrl API for all HTTP calls; the desktop-only
AI chat streaming transport uses Node's https.request to api.anthropic.com
only.
VaultGuard Sync requires an account on the configured backend. In hosted mode, that account is provided by the hosted VaultGuard organization. In self-hosted mode, the account is provided by your own compatible backend and Cognito User Pool.
The plugin sends vault-relative file paths, file metadata, encrypted file contents, permission checks, audit events, and authentication tokens to the configured backend as part of sync and access control. It does not include client-side telemetry, ads, or analytics. Billing and subscription management are handled outside the public plugin.
Sync runs while Obsidian is active: local changes are observed and remote changes are checked on a configurable interval. It is not live collaborative editing or a background service after the app is suspended. File support is bounded by the backend's configured size limit and device resources.
VaultGuard Sync stores plugin settings, vault binding data, and auth session data in Obsidian's plugin data store and browser storage so it can restore your session. The local at-rest encryption key is wrapped on device; the recovery code is shown only to you and is never sent to the backend.
npm run -w vaultguard dev # esbuild watch
npm run -w vaultguard test # vitest
Sustainable Use License — see LICENSE