VeritasGraph: A GraphRAG Framework That Wires Knowledge Graphs Into Governed Agents
VeritasGraph — open-source Knowledge Graph & GraphRAG framework on GitHub. Build multi-hop reasoning, ontology-aware retrieval, and verifiable attribution over your own data. Nodes, edges, RDF, linked-data — runs locally or in the cloud.
At a glance
- What is it?
- VeritasGraph is a Python framework for building knowledge graphs from your own documents and connecting them to locally run agents with guardrails, memory and citation-backed retrieval. Its Studio workspace and three run modes make it easy to try, but the documentation leaves several operational questions open.
- Who is it for?
- VeritasGraph suits teams that need on-premises knowledge graph construction and agent orchestration with visible pipeline traces, citation attribution and PII guardrails, and who are comfortable reading source code when the README runs out. Teams that only need vector similarity search over a few documents, or that require a stable tagged release before production deployment, should look elsewhere.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The Problem VeritasGraph Targets: Retrieval Without Structure or Accountability
Standard retrieval-augmented generation splits documents into chunks, embeds them, and returns whatever is closest in vector space. The README frames the contrast directly: traditional RAG guesses based on similarity, while VeritasGraph reasons based on structure. That is a positioning statement, but it points at a real limitation. Chunk similarity does not preserve the relationships between entities across documents, so questions that require connecting facts from separate sources tend to fail. VeritasGraph's answer is to extract entities and relationships into a graph, then answer queries by traversing that graph rather than by ranking isolated passages. The target user is an engineer building question-answering or agent systems over private document collections where the source of every claim must be traceable. The README's emphasis on governed agents, PII redaction and data logging suggests the project is aimed at enterprise or regulated environments where data cannot leave the premises. The topics list includes data-privacy and enterprise-ai, which reinforces that reading.
How the Pipeline Works: Guardrails, Memory, Graph, Budget, Tools, Log
The README describes a per-turn orchestration flow: Guardrails, then Memory, then Knowledge Graph, then Headroom budget, then Tools, then Data log. Each stage is visible in what the project calls a pipeline trace, which the Studio playground displays during a conversation. The knowledge graph stage performs multi-hop reasoning over nodes and edges extracted from ingested documents, and answers carry source attribution in the form of [doc#chunk] references. The README also mentions RDF and linked-data among the supported representations, though it does not show the serialisation format in the excerpt. Graph construction happens locally: the Studio feature list states that entity and relationship extraction runs against Ollama, so the extraction model is a local chat model rather than a cloud API. The Headroom stage appears to be a context budgeting mechanism that decides how much retrieved material fits into the model's context window. The tools stage can call real HTTP endpoints with configurable method, auth header and custom headers, and there is an MCP bridge for local proxy connectors such as Chrome DevTools MCP and Unity MCP with health-aware probing. Memory is per-agent and short-term, and the data log persists interaction records.
Getting It Running: Three Modes and a Studio Server
The fastest path is two commands: pip install veritasgraph followed by veritasgraph demo --mode=lite. Lite mode uses cloud APIs and needs an OpenAI or Anthropic key, set through the OPENAI_API_KEY environment variable. Local mode replaces cloud calls with Ollama and the README states it needs 8GB of RAM; the example command is veritasgraph demo --mode=local --model=llama3.2. Full mode is described as requiring Docker and Neo4j and is started with veritasgraph start --mode=full. For the Studio workspace, the README gives a different setup: install from requirements.txt, run ollama serve and ollama pull qwen3:latest, then launch uvicorn studio_api.main:app with the STUDIO_DATA_DIR environment variable pointing at a data directory, binding to 127.0.0.1 on port 8200. The UI is served at /studio and the API docs at /docs. A one-command end-to-end demo exists at demos/agent-studio/sample_pipeline.py, run with a --model flag, which the README says builds a graph and drives an agent through graph reasoning, memory recall, PII redaction and a guardrail block. The README does not document the Studio API endpoints themselves in the excerpt, so anyone extending it will be reading source code.
Where VeritasGraph Is the Wrong Choice
Graph extraction is an extra pass over every document, and the extraction quality depends on the local model. If the model misses an entity or invents a relationship, the graph carries that error into every downstream traversal, and the citation trail will point at a chunk that does not actually support the edge. That is a different failure mode from vector search, where a bad match is isolated to one retrieved chunk. For a small corpus of a few hundred pages, the overhead of building and maintaining a graph is unlikely to pay for itself, and a plain embedding index will answer most questions. The README also does not state how incremental ingestion works: whether adding one document triggers a full rebuild or a partial update is not described. Teams with a frequently changing corpus should treat that as an open question rather than assume incremental updates exist. The three modes add another constraint. Lite mode sends data to OpenAI or Anthropic, which contradicts the privacy positioning if used with sensitive material. Local mode keeps data on the machine but requires Ollama and 8GB of RAM. Full mode introduces Docker and Neo4j as dependencies, so the operational surface grows with the feature set. Finally, the repository has no retrieved releases, so installation is from the package index or the default branch rather than a tagged version.
How It Differs From GraphRAG and From Plain Vector RAG
Microsoft's GraphRAG is the closest well-known comparison. It also extracts entities and relationships and builds community summaries, but its published workflow centres on batch indexing and global summarisation over a static corpus. VeritasGraph's README instead presents the graph as one stage in a live agent turn, sitting between guardrails and a context budget, with tools and a data log around it. That is a different product shape: GraphRAG is an indexing and query pipeline, while VeritasGraph is an agent runtime that happens to use a graph for retrieval. The second comparison is with plain vector RAG, and the README's own framing is the clearest statement of the difference: similarity versus structure. In practice the trade-off is cost and failure mode. Vector RAG is cheap to build and degrades by returning loosely related passages. VeritasGraph costs an extraction pass and degrades by propagating a wrong edge through multi-hop traversal. Neither is strictly better; the choice depends on whether your questions need connections across documents or just the most relevant passage.
Maintenance, Licence and Upgrade Questions the README Leaves Open
The README carries an MIT licence badge, but the repository metadata supplied here lists the licence as unknown, and the README excerpt does not include a licence file. Anyone planning to ship VeritasGraph inside a product should confirm the licence text in the repository before relying on the badge. The MIT badge, if accurate, is permissive and would allow commercial use with attribution, but that is a statement about the badge, not legal advice. On maintenance, the repository shows a CI workflow badge and a last push date, but no retrieved releases, so there is no version history to inspect for breaking changes. The default branch is named restored-main rather than main, which is unusual and worth noting for anyone scripting a clone. The Studio depends on a local Ollama instance and a specific model tag in the README example, so model availability and Ollama version drift are part of the upgrade surface. Full mode adds Neo4j and Docker, meaning a Neo4j major version change is a potential breaking event for the graph layer. None of these are disqualifying, but they are the things to check before committing a team to the framework.
Who Should Adopt VeritasGraph
Adopt it if you are building question-answering or agent systems over private documents, you need per-answer citations down to the chunk, and you want the retrieval and orchestration stages visible in a trace rather than hidden inside a library. The Studio workspace is the strongest part of the offer: a local FastAPI server with a single-page UI where you can build a graph, define agents, toggle tools, run evaluations and watch the pipeline execute. The guardrail and PII redaction controls, combined with the data log, address a real compliance need that most RAG libraries ignore. Do not adopt it if you need a tagged release with a changelog before you can deploy, if your corpus is small enough that vector search is sufficient, or if you cannot run Ollama locally and are unwilling to send data to a cloud API. Before committing, verify three things: the licence file in the repository, the exact Neo4j version required by full mode, and whether the incremental ingestion path exists. The README excerpt does not answer the last one.
Editorial conclusion
VeritasGraph suits teams that need on-premises knowledge graph construction and agent orchestration with visible pipeline traces, citation attribution and PII guardrails, and who are comfortable reading source code when the README runs out. Teams that only need vector similarity search over a few documents, or that require a stable tagged release before production deployment, should look elsewhere. Before adopting, verify the licence file in the repository, confirm which graph database the full mode depends on, and check whether the Studio API is documented beyond the README excerpt.
Community notes