A native editor, live sync, granular permissions, a three-tier identity stack, and MCP access for agents — all on plain markdown files. Download free. No account needed.
macOS, Windows, Linux. Free and open source. Agents: /skill.md
Our system uses a microservices architecture with Go backends and React frontends.
Go + React microservices: auth on 8080, gateway on 443, Kafka for data pipeline.
Rich markdown editing with wikilinks, backlinks, graph view, and transclusion. Works offline.
Remote changes stream in over SSE. Local edits queue persistently — a closed laptop can't lose work.
Concurrent edits auto-merge when possible. When they can't, you get conflict markers and a one-click resolve banner.
Org, team, and individual context files load into every agent briefing. Shared frame, no re-teaching.
Inline completions, summarize, key concepts, questions. Bring your own API key or use VaultBase AI.
Folder, file, and tag-level RBAC. Groups. Per-user folders via {user}. Deny always wins.
Every judgment call is captured with inputs, policies, and reasoning. Searchable precedent across your org.
27 tools: vault reads, trace ops, admin, briefings, identity writes. Scoped to the agent's role.
Standard markdown on disk. No proprietary format. Use VaultBase, Obsidian, VS Code, or vim.
Visual graph of connections between notes. Tag filtering. Orphan detection. Backlinks everywhere.
Every access is logged. Document revisions tracked — decisions citing outdated versions are flagged.
Self-host the server free. The editor is free to download and use, always.
Three layers of context, loaded before any decision. Org values constrain team conventions constrain individual preferences.
What the company does, what it values, what decisions need extra care. Edited by admins. Every session starts here.
Shared conventions across team members. Current focus, coding standards, things the team already knows so agents don't re-teach them.
Your role, current focus, personal preferences. Only you (and agents acting as you) read it. Always self-writable.
# Every vault_briefing starts with the identity stack:
L0 — Identity
Org: Acme is a B2B healthcare compliance platform. Correctness > speed.
Team: Engineering — test-first, 80% coverage bar, no Friday deploys.
You: Shane — principal engineer, owns auth + billing, prefers minimal deps.
L1 — Recent decisions, pending outcomes, stale alerts, knowledge gaps... Live updates when you're online. Durable queue when you're not. Never silently drops an edit.
A server-sent events stream pushes file changes the moment they're accepted. Your editor refreshes open tabs, the file tree updates live, remote edits appear in seconds — permission-filtered, so you only see events for files your role can read.
event: file_updated
data: { path:"/policies/pricing.md",
hash:"a1b2...", actor:"alice@acme.com" } Edits land in a disk-backed queue with the base version they diverged from. Close the laptop, board a plane, keep writing. On reconnect, edits drain in order — and if the server diverged while you were gone, a 3-way merge runs against your captured base.
~/.config/vaultbase-editor/
sync-state.json
— baselines (path → {hash, content})
— pending (queued local edits)
When a push conflicts, the server returns its current version and
the client runs a line-level 3-way merge. Clean merges push back
automatically. Dirty merges surface in the editor with standard
conflict markers and a banner offering Keep
mine, Use server, or
Open server version. The original
server version is always saved as a .conflict-<ISO>.md
sidecar so nothing is lost.
A titlebar badge shows the count of unresolved files. A dot appears next to each conflicted file in the sidebar. Clearing the markers automatically clears the conflict state on your next save.
Every decision becomes searchable precedent. The reasoning connecting data to action is captured as data itself.
→ trace_find_precedent(type="pricing", context="annual discount") Found 2 precedents: dt-2026-03-15: 8% discount approved → successful dt-2026-02-20: 15% discount escalated → successful (negotiated to 12%)
Agent checks how similar situations were handled. Sees what worked and what didn't.
→ trace_create(
type="pricing",
decision="approved",
summary="8% discount for Acme renewal",
inputs=["/sales/acme.md", "/policies/pricing-v3.md"],
policies=["§4.2: up to 10% for annual"]
)
✓ Decision trace created: dt-2026-04-05-777.md Decision recorded with inputs, policies, reasoning. Next agent finds it as precedent.
Find similar past decisions with outcomes before making new ones.
Warnings when a new decision contradicts an established precedent.
Track policy versions. Flag decisions made against outdated documents.
See what agents searched for but couldn't find. Know what docs to write.
The editor works standalone. Add cloud sync when your team needs it. Or self-host everything.
Download and use as a local markdown editor. AI features, graph view, backlinks, search. No account, no server, no limits.
DownloadAdd sync, RBAC, teams, and AI agent access. We run the server. Your files stay encrypted. Invite teammates, set permissions, connect agents.
See plansRun VaultBase server yourself. Single Go binary. Full feature set, unlimited users, unlimited storage. Use the editor, Obsidian, or just the CLI.
Self-host guideQC team sees QC docs. Engineering sees engineering. AI agents get scoped read access. Deny always wins.
# QC team gets their own role vaultbase group create company qc-team vaultbase group assign-role company qc-team qc-editor # Per-user folders vaultbase permission add company employee \ folder "/users/{user}/**" "read,write" # Block HR from agents vaultbase permission add company agent \ folder "/hr/**" "read" --effect=deny
Connect via MCP. The agent sees only what its role allows. Reads succeed or fail based on RBAC.
// MCP config { "vaultbase": { "url": "http://localhost:8990/mcp", "headers": { "Authorization": "Bearer vk_..." } } }
vault_search("deploy process") ✓ scoped results vault_read("/engineering/deploy.md") ✓ permitted vault_read("/hr/salaries.md") ✗ denied | VaultBase | Obsidian + Sync | Notion | Confluence | |
|---|---|---|---|---|
| Native editor (free) | Yes | Yes | Yes | Yes |
| Plain markdown files | Yes | Yes | — | — |
| Team RBAC | Yes | — | Per-page | Yes |
| AI agent access (MCP) | Yes | — | $20/user | — |
| Permission-scoped AI | Yes | — | — | — |
| Auto-sync | Yes | Yes | Yes | Yes |
| Built-in AI features | Yes | Plugin | Yes | Yes |
| Self-hostable | Yes | — | — | — |
| Use any editor | Yes | — | — | — |
| Open source | Yes | — | — | — |
Point your agent at getvaultbase.com/skill.md and it has everything: install, signup, MCP wiring, the identity stack, the full tool reference, and the behavioural rules for recording decisions and searching precedent.
curl -s https://getvaultbase.com/skill.md \ > ~/.claude/CLAUDE.md
Free. Works offline. No account needed.
Want team sync and permissions? Sign up for cloud from $4/mo.