Repository navigation
Security
VINH BUI edited this page Nov 1, 2026
·
1 revision
Scholion is built for one machine or a trusted network. Read this before exposing anything.
-
Auth token. Set
AV_TOKENto requireAuthorization: Bearer <token>on every route but/healthzand/ui(/uiis a static page with no data in it; it asks for the token once per browser tab). The token is compared in constant time. TheavCLI and its hooks send$AV_TOKEN. Agent config files written byav init --for …name the variable, never the token itself. -
Without a token the daemon is open. That is why the compose file publishes the daemon, Postgres and Qdrant on
127.0.0.1only. Do not expose these ports either way. -
Agent names are self-asserted (
--agent,AV_AGENT,X-Av-Agent). "The reviewer is not the owner", "only the owner hands off" and claim fencing prevent accidents between cooperating agents, not impersonation. -
The daemon never runs repository commands. Validations are attestations reported by clients.
av runnerruns the post-merge check on your machine and refuses to start without--trust, because the command comes from the daemon's database. -
Inputs. Repository names are restricted to a single path component,
av repo addonly accepts an existing local directory, and backup remotes that look like git options are refused. -
Keys. The daemon holds no keys for the agents' own models. Its only secrets are an optional embedding API key and
AV_TOKEN. - The Postgres credentials in the compose file are for development only.
Please report security problems privately, through a GitHub security advisory, rather than in a public issue.
Scholion is MIT-licensed. The README in the repository is the reference; where this wiki and the code disagree, the code wins.