Granit is a knowledge management system you run on your own machine, against your own files.
Vault-first. A vault is a directory of plain .md files. No proprietary database, no opaque storage. Open the same vault in Obsidian, Logseq, vim, VS Code — Granit only adds a .granit/ sidecar folder for state that doesn't belong inside the markdown.
Single-tenant. Granit assumes one person per running instance. There is no shared multi-tenant cloud, no team invites, no per-seat pricing. Run it on your laptop, on a NAS, on a VPS behind your own auth.
Self-hosted. Ships as a single Go binary with the SvelteKit web app embedded via go:embed. granit web -v <vault> boots an HTTP + WebSocket server, sets a password on first launch, and serves the SPA from the same port.
Web + TUI. A browser frontend for daily use on desktop and mobile, and a Bubble Tea TUI for terminal workflows. Both read and write the same files.
No telemetry or analytics. Network requests occur only when a user invokes or configures a network-backed feature, such as an AI provider, web research, a git remote, or an external content import.
Open source under MIT. Read it, fork it, audit it, ship it. No CLA.
If you want a productivity stack that survives the next pricing change, the next acquihire, or the next SaaS shutdown, your data lives in plain text in a folder you own and the software that reads it can be built and audited from this repository.