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.

VariableDefaultPurpose
PORT9000HTTP port for the API and dashboard
DASHBOARD_TOKENauto-provisionedDashboard 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_MODELby RAM: qwen3.5:9b (16 GB+) or qwen3.5:4bAnswering model; the server picks the tier from detected RAM, and SOURCEVAULT_ASK_MODEL overrides it
CODE_VECTOR_BACKENDunsetForces the code-vector store (sqlite or chroma) and disables the dashboard control
CODE_HISTORY_BACKENDunsetForces the history store (sqlite, chroma or qdrant) and disables the dashboard control
CODE_QDRANT_URLunsetUse an external Qdrant instead of the managed one
CODE_HISTORY_MAX_COMMITS500History depth when full git history is off
CODE_SEARCH_HMAC_SECRETgeneratedSigning secret for the machine API (search, read, history)
SOURCEVAULT_STATE_DIR~/.sourcevaultWhere indexes, vectors, keys, and the audit log live
SOURCEVAULT_LITEunsetLite mode: lexical search only, no embeddings
SOURCEVAULT_TLS_CERT, SOURCEVAULT_TLS_KEY, SOURCEVAULT_TLS_CAunsetServe HTTPS with your own certificate; sourcevault tls-setup fills these in
SOURCEVAULT_TLS_ALIAS_PORT, SOURCEVAULT_HTTP_REDIRECT_PORTunsetExtra HTTPS listener (for example 443) and an HTTP-to-HTTPS redirect port