
ALTWEB Context Loader
software.altwebPublished by altweb.softwarev1.1.2Updated Oct 24, 2026
Loads signed ALTWEB context capsules — refuses unsigned, tampered, or untrusted by default.
Overview
Loads signed ALTWEB context capsules into an agent, refusing unsigned, tampered, or untrusted content by default.
- What you can do
- The altweb-context MCP server exposes load_capsule, verify_capsule, and list_trusted_keys. It loads a compiled .altweb.html capsule into the agent only when the ECDSA P-256 signature is valid and the signer's public key is present in the local trust file. Unsigned, tampered, or untrusted capsules are refused at load time with an explicit reason, and an empty trust file rejects everything.
- When to use it
- Use it when an agent's instructions, personas, skills, or memory files come from outside your own machine and you want a chain of custody before they are injected. It suits teams that compile Markdown into signed capsules and want the loader to enforce which signers are accepted.
- Requirements
- Runs locally over stdio as the npm package altweb-context, so Node.js 20 or newer is needed. A trust file of allowed signer public keys is required, by default at ~/.altweb/trusted-keys.json, and can be overridden with the ALTWEB_TRUST_FILE environment variable. No account or API key is declared.
Installation
In SourceWeft
- Open ALTWEB Context Loader in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
ALTWEB — signed context capsules
Signed context capsules for AI agents — Markdown compiled into self-contained, verifiable, optionally encrypted artifacts + an MCP loader that refuses unsigned or untrusted context. Verify before you inject.
AI agents run on plain-text context: instructions, personas, skills, memory files. None of it has provenance — anything that can write those files can poison them. ALTWEB gives context a chain of custody, and makes the loader refuse anything that lacks one:
- Capsule — markdown compiled into a single
.altweb.htmlfile (or URL): content compressed (deflate), optionally encrypted (AES-256-GCM), optionally signed (ECDSA P-256). Self-contained — opens in any browser, verifies offline, needs no server: you hand someone a file, not a database. - Verified context loading — the
altweb-contextMCP server loads a capsule into your agent only when the signature is valid and the signer's public key is in your trust file. Unsigned, tampered, or untrusted capsules are refused at load time, with an explicit reason. Refusal is the default: an empty trust file rejects everything, signed or not.
Packages
Quickstart
Both tools are on npm — nothing to clone. Run these commands outside a source checkout (inside this repository, npm resolves the local workspace package):
Wire the loader into an MCP client (Claude Code example):
(From source: npm install && npm run build, then use the bundles under
packages/*/dist/.)
Running from source
Node.js 20 or newer is required. From the repository root:
The editor prints its local URL (normally http://localhost:5173). The CLI can
be invoked as node packages/cli/dist/altweb.mjs <command>. Do not use npx altweb inside the checkout: npm may select the local workspace package, whose
executable does not exist until it has been built.
The documentation site is intentionally a separate npm project rather than a workspace. To run it locally:
Trust a signer by adding its full public key to ~/.altweb/trusted-keys.json
(the UNTRUSTED_KEY refusal message hands you the ready-made entry; the short
fingerprint is a human label, not the trust anchor):
What a signature proves — and what it does not
A valid signature proves who authored the capsule and that the bytes are intact. It does not make the content safe or true. The trust file is your policy; keep it short.
Pick a long passphrase. Identities derive deterministically from your passphrase via Argon2id with a fixed protocol salt (that is what makes them portable with nothing stored). Memory-hardness makes mass dictionary attacks economically hostile, but the passphrase's entropy is still the identity's foundation. Use a 16+ character diceware-style phrase; the tooling enforces a minimum strength.
Security
Content is sanitized with DOMPurify on decode; artifacts carry a CSP; the
codec validates structure with zod. See site/ docs → Security model for the
full write-up, including the encrypted-capsule caveat (the signature covers
the decrypted payload, so verification completes after decryption).
Roadmap
Near-term, in rough order:
@altweb/coreon npm — the engine as an installable library, for programmatic use (the CLI and loader already ship it bundled).- Hardware-backed identity (FIDO2 / passkeys) — an optional identity type alongside the passphrase one: the private key lives in a security key or secure enclave, never extractable, signing requires physical presence. The passphrase identity stays the default — "a passphrase is a keypair" — hardware keys add something you have for those who want it.
Credits
Built on excellent open source: Novel (Apache-2.0) and Tiptap (MIT) for the editor; DOMPurify, marked, pako, zod, @noble/curves in the engine. See NOTICE.
License
ALTWEB is dual-licensed:
- Open source: AGPL-3.0-or-later. Free to use, study, modify,
and share — with one core obligation: if you modify ALTWEB and distribute it
or run it as a network service (e.g. hosting
altweb-contextfor others), you must release your modified source under the AGPL. - Commercial: by agreement. To use ALTWEB in a closed-source product, or as a hosted service without publishing your changes, you need a separate commercial license. See COMMERCIAL.md.
Copyright © 2026 Daniel C. ȘOIMU. Bundled third-party components keep their own (permissive) licenses — see NOTICE.
Source: README.md at commit 8ac2260
Tools
0Version history
2- v1.1.2LatestOct 13, 2026
- v1.1.0Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts