contextbox · codegraph · vault
Tools for building enterprise‑grade applications, AI‑native.
Agents write code fast. What slows a serious team down is everything
around them: context that disappears between sessions, code nobody
can trace back to the decision behind it, and secrets that end up in
prompts and .env files. Heivol makes one tool for each.
They work with any model and any agent, and they are built to fit
together.
Contextbox live and free · Codegraph in development · Vault in early private alpha
Three things that slow an AI‑native team down
The model is rarely the bottleneck. These are, and each one gets worse as agents write more of the code.
-
“Where did we decide that?”
Context that disappears
Every session starts from zero. Specs, decisions and half-done tasks live in chat histories and in one person's head, so agents redo work and people explain it again.
Contextbox → -
“Which code implements control A.7?”
Code nobody can trace
Agents produce more code than anyone reads. When an auditor or a new hire asks which code backs a requirement, or what changed since the evidence was filed, someone goes digging by hand.
Codegraph → -
“Why is there a key in the prompt?”
Secrets in the wrong places
Agents need API keys and database passwords to do real work. With no proper place to fetch them from, they end up in
Vault →.envfiles, container images and chat context.
One tool for each
Use any one of them on its own. None of them cares which model or which agent you run, and each says plainly how far along it is.
Contextbox
shared memory
One memory for every agent and every person on the project.
A knowledge base in plain Markdown that agents read and write over MCP or HTTP. A whole project fits in it: specs, decisions, task lists, correspondence. Share a knowledge base and the other person, or the other agent, gets the full context instead of a forwarded file. We run Heivol on it; ours holds about 1,500 documents, including 177 task files across some 25 projects.
What makes it different
- Any client, one store MCP, HTTP and a CLI skill all reach the same knowledge base. The first non-Claude client to connect was a Perplexity connector.
- Search that lands on the right paragraph Semantic and keyword search fused into one ranking, with deep links to the exact chunk.
- No embedding vendor Embeddings are computed in-process with a pinned open model, so no third party reads your documents to index them.
- History you can audit Every write is a git commit by the user who made it. Roles per knowledge base: owner, editor, reader.
Fits your setup
- Claude Code
- Claude Desktop
- Perplexity
- any MCP client
- HTTP API
- git over HTTPS
- provisioning API
> search "retention period for audit logs" 1 decisions/0012-log-retention.md #chunk-3 2 compliance/iso27001-a8.md #chunk-0 3 tasks/platform-logging.md #chunk-7 > read decisions/0012-log-retention.md ## Decision Keep audit logs 13 months, then archive. Owner: platform team · 2026-03-02
Codegraph
code ↔ evidence
Show which code backs a claim, and what moved since.
Codegraph builds a structural graph of your code and links it to the decision records and compliance evidence that govern it. Ask what implements a control, what a change touches, or which shared packages have drifted apart across your repos.
What makes it different
- Facts are labelled as facts Every edge records how it was found: from the type checker, from a parsed literal, or by heuristic. A guess never passes as a certainty.
- Tested on a real estate first On an 18-repo TypeScript estate it matched 1,294 of 1,295 code-to-table sites, and found 5 of 8 shared packages running more than one version.
- Your source can stay with you Designed so your own pipeline builds the index and sends only that. The upload path for it is already merged.
- Access decided by the database Postgres row-level security controls who sees which graph.
Fits your setup
- TypeScript
- local checkout
- index upload
- next: REST and MCP
- next: GitHub App
A.7 access control ├─ src/auth/session.ts requireRole() derived ├─ src/api/admin/router.ts adminGuard derived └─ tables users, role_grants parsed changed since evidence was filed src/auth/session.ts +14 −3
Vault
secrets for machines and agents
Secrets fetched when they're needed, kept out of prompts and images.
A secrets store for services and agents, built on OpenBao. They ask for
what they need when they run, so keys stop living in .env
files, container images and chat context. It is an early private alpha
that we operate ourselves. Today it holds static secrets for our own
operators; dynamic database credentials, per-tenant namespaces and
sign-in with your Heivol account are next.
What makes it different
- OpenBao underneath The open-source fork of HashiCorp Vault, so the API and tooling may already be familiar to your team.
- No single person can open it Sealed with Shamir key shares: unsealing takes three of five key holders.
Fits your setup
- KV v2
- AppRole
- userpass
- next: dynamic Postgres credentials
- next: PKI
- next: OIDC sign-in
$ bao kv get -mount=secret ci/deploy ====== Data ====== Key Value --- ----- token •••••••••••• # read at run time, never written to the image
Designed to work as one
Each tool earns its place alone. Connected, an agent can go from a requirement to the code that implements it to the credentials it needs, without a person in the middle copying things across. Here is what is connected today and what is designed.
-
One sign-in Live
Contextbox signs you in with your Heivol account. Codegraph is registered for the same sign-in and switches it on at launch, so there is one identity and one set of roles behind every tool.
-
Code linked to the decisions behind it In development
Codegraph is designed to read decision records and evidence straight from your Contextbox, so a trace ends at the written reason for the code, and an agent can cite it.
-
Agents fetch secrets instead of carrying them Planned
Tokens for Contextbox and Codegraph, and deploy keys for your pipeline, are designed to come from Vault at run time.
Fits the setup you already have
No new editor to adopt, no required model, no framework to build around.
- Models
- Any. The tools serve text, graphs and secrets and never call a model for you, so Claude, GPT, DeepSeek or one you host yourself all work the same.
- Agents and clients
- Anything that speaks MCP or HTTP. Claude Code, Claude Desktop, Perplexity, your own scripts and CI jobs.
- Your way of working
- Your repos and your folder layout. Contextbox takes whatever Markdown structure you already use, and Codegraph indexes from a checkout or from an index you upload.
- Where it runs
- Hosted in Denmark today, and locally in each country we enter. Running it on your own servers isn't packaged yet. If you need that, say so when you get in touch.
Help getting started
We look at how your team builds with AI today, set up the parts that are ready, build the first agent workflows with you, and leave you able to run it without us. Scoped engagements against a brief, no open-ended retainer.
Why your data stays yours
Heivol is built so the promise isn't a marketing line we can quietly walk back. It's how the company is structured.
-
Local in every country we enter
Wherever Heivol operates, it runs locally, under that country's own laws. Your data never sits where a foreign power can reach for it. Nobody should have to fear that.
-
You own the stack
Plain Markdown you can export, the model you pick, your own keys. Swap the model and your context stays where it is.
-
Anti-enshittification
Products stay genuinely useful to the people who use them. Growth never comes at the cost of product integrity.
-
Sustainable, not extractive
Every decision is measured against long-term usefulness, not short-term extraction. Surplus flows back to customers or into products that deserve to exist.
Start with the memory.
Contextbox is live and free up to 5 GB per account. Point an agent at it today, and get on the early-access list for Codegraph and Vault.
Any model · any MCP client · hosted in your own country