Live demo

Home Features Deployment

Two deployments, and an update path for each

The hosted editor needs no installation and holds nothing. The self-hosted server is a single container image you run. Both open the same documents from the same contract.

Hosted editor — nothing to install

A static page served from a versioned path, running entirely in your browser against your own filesystem through the File System Access API. No server, no session, no stored credential, and no data at rest beyond your own repository.

Its only network traffic is fetching its own build. Your specification never leaves your machine.

Try it on sample data at specpad.com/v01/?demo — every document editable, edits held in the browser and lost on reload.

Self-hosted — one container

The server is distributable as a single container image serving both the editor build and the API. It takes its repository, branch, credential, authentication provider, role map and commit policy from one configuration file given on the command line, and exits with a non-zero status when that file is invalid rather than starting in a half-configured state.

State on disk is a bare clone and per-user worktrees, all regenerable from git. An update never migrates data and a rollback loses nothing.

The launcher

docs/specpad/index.html is generated in your repository and redirects to whichever editor you use — the public one, or your own server. A team running its own server sets the base URL in the project index, and everyone on the repository lands there instead. Where one server hosts several repositories, the launcher names which project this one is.

Updates, and what an operator controls

DeploymentUpdate pathAutomatic?
Hosted editorNew build published to the version path; the next page load has itYes
Self-hosted serverNew image; the operating company redeploysNo
The skillDistributed with Claude CodeWith the CLI

The version path is derived from the contract version, and old paths stay live indefinitely — so an update never breaks a document authored against an earlier contract.

SpecPad cannot push an update to a self-hosted instance. An operator who does nothing stays on the version they installed. That is a deliberate property of self-hosting rather than a gap: a documentation tool that could silently replace its own code inside your network would be a worse security position, not a better one.

Everything is in your git

Documents, snapshots, job caches and release baselines are all committed files under docs/specpad/. There is no database and nothing to back up separately. If SpecPad disappeared tomorrow your specification would still be there, still readable, still diffable.