docbank
Alpha software. Keep your own copies of anything irreplaceable, and
verify a backup before you rely on it.
Agent-native document system of record
Docbank is an open-source document vault for people, applications, and agents. It runs on your own machine. It imports files, email, photos, and recordings, makes their text searchable, and keeps every version you save. When you need to hand records to someone else, it exports the versions you checked.
!The Docbank web application browsing a synthetic vault.
Use it from the command line, a local web app, a terminal browser, or an
authenticated HTTP API, or connect an agent with docbank mcp. They all talk
to the daemon, a local background process that owns the vault. A Go application
can instead embed a vault of its own.
What can I use it for?
| Task | Guide | | --- | --- | | Import and organize records | Importing and tagging | | Find a document | Searching and search by meaning | | Extract a document's text and read it | Document processing | | Read email and follow attachments | Web email reader | | Browse photos and organize albums | Photo assets | | Export documents and search reports | Verified bundles and search reports | | Keep earlier content versions | Editing and versions | | Automate filing and retrieval | Agent integration | | Recover deleted documents | Trash and recovery | | Create and verify backups | Backup and restore | | Keep a permanent record of changes | Audited history | | Add filesystem or S3-compatible storage | Multi-store storage |
Docbank does not synchronize a working folder across devices or create public share links. The capability guide lists what it does today, and the roadmap lists what is planned.
Install
Linux or macOS:
curl -fsSL https://docbank.ai/install.sh | sh
Windows PowerShell:
irm https://docbank.ai/install.ps1 | iex
The installers pick the native Linux, macOS, or Windows archive for amd64 or
arm64. They refuse to install an archive whose digest does not match the
release's SHA256SUMS. You can also download the archives from
GitHub Releases and verify them
yourself.
To build from source, install Go 1.27+, CGO, a C compiler, Node 24+, and npm:
git clone https://github.com/kenn-io/docbank.git
cd docbank
make install
The setup guide lists the build requirements for each platform. For a stock image configured through environment settings and mounted secrets, see Run in a container.
Start a vault
The first data command creates the vault and starts its daemon:
docbank document add ~/Documents --dest /archive
docbank document tree /archive
docbank search "tax return"
docbank web
Retrieve a file, list its versions, replace its content, and rename it. Docbank verifies a file before handing it back. Replacing content adds a version and leaves the earlier ones in place, and a rename keeps the document's ID:
docbank document get /archive/Documents/receipt.pdf ./receipt.pdf
docbank document versions list /archive/Documents/receipt.pdf
docbank document put revised-receipt.pdf /archive/Documents/receipt.pdf
docbank document move /archive/Documents/receipt.pdf /archive/Documents/receipt-2026.pdf
docbank vault verify
Create a backup, verify it, and restore it into a separate directory to check:
docbank backup init --repo ~/Backups/docbank
docbank backup create --repo ~/Backups/docbank --tag first-import
docbank backup verify --repo ~/Backups/docbank
docbank backup restore --repo ~/Backups/docbank --target ~/Restores/docbank-test
The ten-minute quickstart covers versions, tags, search, trash, maintenance, and restore.
Who owns the vault and its storage?
- Standalone. One daemon owns the vault. The CLI, browser, TUI, scripts,
- Embedded. A Go application owns each vault in its own process. Every
- Secondary storage. Docbank verifies content in configured filesystem and
- Backup. Copying the local database and primary blob directory while the
docbank backup create
also includes content held only in secondary stores. See the
backup guide for the full rules.
Telemetry
Docbank sends anonymous usage events by default:
daemon_activeat startup and once per later UTC day while running.app_openedwhen the web app opens, about once per UTC day per browser and
screen_viewedwith a fixed screen name, once per vault per UTC day for each interface, browser and terminal, across daemon restarts.session_endedonce when a tab closes or stays hidden for 30 minutes, or the
document_added,search_run, anddocument_openedafter completed document actions, withsurfaceofweb,tui, orcli. Searches also carrysearch_typeoftext,semantic, orhybrid. PostHog counts these events per day. CLI reports require a terminal on stdin, stdout, or stderr and omit--agentruns; CLI and TUI actions omit runs underCLAUDECODEorCODEX_THREAD_ID.search_emptywhen a submitted search has no results, withsurfaceandsearch_typeas above. It accompaniessearch_run, including when the search scope is empty.error_shownwhen a search, add, or open you ran fails, withsurfaceofweb,tui, orcliandkindofsearch,add, oropen. Rejected input counts as a failed search or add like any other failure. A failed search or open counts once, and an upload or photo import run with failed items counts once. Sign-in prompts, cancels, passive loads, refreshes, other drawers and dialogs, notices, and CLI usage errors before connecting stay silent. A Photos open whose detail load fails counts as a failedopen. The terminal browser sendsdocument_openedon Enter and sends noerror_shownwithkindofopenfor a failed detail load. Other previews or detail loads after opening a document are secondary loads and stay silent. Failed Add re-plans, closed CLI output pipes foradd,cat, andsearch, and an existing destination forgetalso stay silent. A missing download destination directory, or one that is not a directory, also stays silent.
push, send no core actions.
Each event carries a random per-vault install ID, the version and commit, the
operating system and architecture, and the distribution channel, such as
homebrew. Events never include document content,
names, paths, or queries. Set DOCBANK_TELEMETRY_ENABLED=0 or
DO_NOT_TRACK=1 to turn telemetry off. See
anonymous usage telemetry.
Documentation
- Documentation homepage and visual tour
- Setup and quickstart
- Capabilities and vault lifecycle
- Web application and terminal browser
- Multi-store storage and backup & restore
- Docbank for agents and integration guide
- Embed in Go and document processing packages
- CLI reference and architecture overview
Contributing
Start with the development guide for the repository layout, package ownership, generated clients, and checks. Follow AGENTS.md and the documentation guide when updating code or documentation.
License
Copyright 2026 Kenn Software LLC.
Docbank is licensed under the Apache License, Version 2.0. See NOTICE for attribution information.