Settings and features
Every setting lives in the dashboard: open it with the gear icon in the sidebar footer. Changes apply immediately; nothing needs a restart unless noted.
Features
Full git history
Free, off by default. Enabled, SourceVault indexes every commit in a repository instead of the latest 500, so history questions ("when did this change, and why?") draw on the complete record. The first index of a large repository takes a while and shows progress in the dashboard; after that, each index run only adds commits that are new since the last one. Turning it off returns to the capped behavior on the next index.
Multi-repo Ask
A licensed feature (Pro and up). Ask one question across every indexed repository at once, with each citation tagged by repo. Locked toggles show a tag; enter your license key under Plan & licence to unlock.
Sentinel
Sentinel is part of the SourceVault Gateway bundle, in every tier and the free trial. It enforces policy between the index and everything that reads it: an access policy over which files AI may read at all, secret redaction on every answer before delivery, and a tamper-evident decision log.
AI-change provenance
Also part of the Gateway bundle: SourceVault classifies commits for AI authorship and security relevance and records the result, so "what did the AI change in auth this month?" has a grounded answer.
Audit log
Licensed installs and the free trial (both run the SourceVault Gateway) additionally see the audit log toggle: a hash-chained record of enforcement decisions with a signed monthly head anchor, suitable for compliance reporting.
Appearance and notifications
Desktop notifications
Off by default, and delivered entirely by your browser: a watch flags drift, an index run of a minute or longer finishes or fails, or health turns unhealthy. Nothing routes through a push service, so nothing leaves your machine; notifications fire while the dashboard is open (a tab or the installed app), and the app icon carries a badge counting watches that drifted since you last looked. Enabling the toggle asks the browser for permission; if the browser has notifications blocked for the site, the toggle explains how to re-allow them.
Advanced
Vector store
Where code-chunk vectors live. SQLite (the sqlite-vec extension in a file under the state directory) is the default for fresh installs: no database service, and a fraction of the memory on 16 GB machines, at measured retrieval parity with ChromaDB. An install that indexed on ChromaDB keeps it until you switch; npm run migrate-vectors -- --to sqlite copies existing indexes across without re-embedding. Switching is health-checked before it is saved, and each repository rebuilds on the new store at its next index run unless it was migrated.
Installs configured through the CODE_VECTOR_BACKEND environment variable show this control disabled with a note.
History backend
Which store serves git-history search. SQLite is the default for fresh installs — a slice of the same local file as the code vectors, so nothing in the install talks to ChromaDB — with ChromaDB kept by installs that indexed history on it. Qdrant keeps history queries fast when full-history indexing takes a repository to tens of thousands of commits; in our benchmarks on an 82,000-commit history, filtered queries ran roughly seventy times faster.
Choosing Qdrant verifies the backend before the change is saved: SourceVault downloads a version-pinned, checksum-verified engine (about 30 MB, one time), starts it locally with storage inside the SourceVault state directory, and only then commits the setting. A problem shows up in the settings dialog, not during a later index run. After a switch, each repository rebuilds its history index on its next reindex; search keeps working on the old backend until then.
Installs configured through the CODE_HISTORY_BACKEND environment variable show this control disabled with a note: the environment outranks the dashboard, so a click can never overrule an operator.
Plan limits
Pricing counts sources: a git repository or a local folder each use one slot, and all loose individual files share a single pooled slot. The Sources row shows usage against your plan's cap, and the dashboard asks you to remove a source or upgrade rather than failing silently at the limit.
For operators: environment variables
Server deployments (Docker, systemd) configure by environment. Where an environment variable and a dashboard setting overlap, the environment wins and the dashboard says so.
| Variable | Default | Purpose |
|---|---|---|
PORT | 9000 | HTTP port for the API and dashboard |
DASHBOARD_TOKEN | auto-provisioned | Dashboard access token; one is generated at first boot if unset |
REPO_ROOT | ~/.sourcevault/repos (Linux/WSL2), $(brew --prefix)/var/sourcevault/repos (Homebrew), /data/repos (Docker) | Where indexed repositories live; the installer sets it |
OLLAMA_CHAT_MODEL | by RAM: qwen3.5:9b (16 GB+) or qwen3.5:4b | Answering model; the server picks the tier from detected RAM, and SOURCEVAULT_ASK_MODEL overrides it |
CODE_VECTOR_BACKEND | unset | Forces the code-vector store (sqlite or chroma) and disables the dashboard control |
CODE_HISTORY_BACKEND | unset | Forces the history store (sqlite, chroma or qdrant) and disables the dashboard control |
CODE_QDRANT_URL | unset | Use an external Qdrant instead of the managed one |
CODE_HISTORY_MAX_COMMITS | 500 | History depth when full git history is off |
CODE_SEARCH_HMAC_SECRET | generated | Signing secret for the machine API (search, read, history) |
SOURCEVAULT_STATE_DIR | ~/.sourcevault | Where indexes, vectors, keys, and the audit log live |
SOURCEVAULT_LITE | unset | Lite mode: lexical search only, no embeddings |
SOURCEVAULT_TLS_CERT, SOURCEVAULT_TLS_KEY, SOURCEVAULT_TLS_CA | unset | Serve HTTPS with your own certificate; sourcevault tls-setup fills these in |
SOURCEVAULT_TLS_ALIAS_PORT, SOURCEVAULT_HTTP_REDIRECT_PORT | unset | Extra HTTPS listener (for example 443) and an HTTP-to-HTTPS redirect port |