Keep private code local.
Securist tells teams what their humans and coding agents may bring into production—and reopens that permission when reality changes. The free Local Operator is a Node CLI—not an Electron desktop app, not a cloud uploader, not public npx.
Available today from the Securist monorepo (Path A)
Human-signed release candidates are proven offline (Gate 1). Available via GitHub pre-release tag operator-v0.1.0-rc.1.
Without a release-signed runtime identity, doctor reports runtime_unavailable and assess is blocked. That is intentional.
Public npx @securist/operator is not available. Team Graph shared memory is not live (R1).
Monorepo commands
Clone the open hub, build the CLI, then run doctor/assess. Unsigned monorepo builds fail closed until a human signs a release identity for that artifact set.
- 01 · Clone the monorepo
git clone https://github.com/wantzjt/securist-hub.git && cd securist-hub
- 02 · Install dependencies
npm ci
- 03 · Build the Operator CLI
npm run operator:build
- 04 · Doctor (trust status)
npm run securist -- doctor
- 05 · Assess the current directory
npm run securist -- assess . --intended-use "Local engineering review"
Package @securist/operator remains private. Public registry install is not available; use Path B signed Release or Path A monorepo.
Signed GitHub Release candidate
Skilled operators can finish Path B in about five minutes. Use signed pre-release tag operator-v0.1.0-rc.1 on the hub. Check SHA256SUMS, unpack the RC tarball, set a private home, run doctor against the Ed25519 trust root (expect Runtime verified), then assess for a first local Decision Brief. No monorepo build. Follow the six steps below for the clean-machine path. Release: https://github.com/wantzjt/securist-hub/releases/tag/operator-v0.1.0-rc.1. Still not a public registry install path.
- 01 · Fetch signed Release assets
curl -fsSL -O https://github.com/wantzjt/securist-hub/releases/download/operator-v0.1.0-rc.1/securist-operator-0.1.0-rc.tgz && curl -fsSL -O https://github.com/wantzjt/securist-hub/releases/download/operator-v0.1.0-rc.1/SHA256SUMS.txt
- 02 · Verify SHA-256 checksums
shasum -a 256 -c SHA256SUMS.txt
- 03 · Unpack the signed RC tarball
tar -xzf securist-operator-0.1.0-rc.tgz && cd securist-operator-0.1.0-rc
- 04 · Set a private SECURIST_HOME
export SECURIST_HOME="$(pwd)/.securist-home" && mkdir -p "$SECURIST_HOME"
- 05 · Doctor — expect Runtime verified
node bin/securist.mjs doctor
- 06 · First local Decision Brief
node bin/securist.mjs assess /path/to/your/repo --intended-use "Local engineering review"
Path B fetches the signed Release tarball; runtime-identity.json is checked against the production Ed25519 trust root. Expect “Runtime verified” only when the signature matches. Not a website asset store. Public registry install remains unavailable. Requires Node.js >= 20. Not Electron.
Doctor verifies an Ed25519 signature over the packaged artifacts using the shipped trust-root.pem. We do not claim ML-KEM (or other PQC) signing for Operator releases.
- Bad or missing signature — doctor reports signature_invalid / Runtime unavailable; do not treat the build as verified; assess stays blocked.
- Wrong runtime / platform — this Release is a portable Node CLI (Node.js 20 or newer), not an OS-native binary. Missing Node or Node < 20 fails with a clear engines message before doctor runs.
- Checksum mismatch — stop and re-fetch Release assets; do not unpack a bad tarball.
Admission packs
Three versioned packs (coding agent, MCP server, model/weights) fill intended use and unknown/gap defaults. Not a compliance certification. Team Graph is not live. No PQC claim.
Coding agent
Admit a coding agent (IDE assistant, CLI agent, or PR bot) to write or review code under a stated use — not a production deploy authority.
securist assess . --pack coding-agent
Sample: https://github.com/Aider-AI/aider
MCP server
Admit an MCP server that exposes tools to a local or IDE client. Prefer stdio and read-only tools. Not a production control plane.
securist assess . --pack mcp-server
Sample: https://github.com/modelcontextprotocol/servers
Model / weights
Admit a model or weight bundle for local or controlled-cloud inference. Weight digest is unknown unless separately evidenced. No PQC claim.
securist assess . --pack model-weights
Sample: https://github.com/meta-llama/llama-models
List packs with --list-packs. --intended-use overrides the pack prompt. Unknown and gap defaults still apply. See docs/ADMISSION-PACKS.md.
After a successful local assess, IDE agents can read a minimized brief over stdio only:
npm run securist -- mcp
From a signed RC directory use node bin/securist.mjs mcp. Tools: get_brief, list_gaps, get_run_metadata. No execute, approve, shell, or external write tools.
- What is this artifact?
- What did Securist actually observe?
- What remains unknown?
- What should happen next—and who owns it? (durable after Team Graph)
Local briefs are local_only and never automatically shareable.
Monorepo package @securist/operator · private · not published. Path B uses the published signed RC; package remains private.
Free path is individual and private. Paid Team Graph is shared memory: owners, policy, evidence, and re-review when artifacts change—not token metering.
Team Graph (coming next)Human-signed release candidates and clean-machine verification live in the monorepo release lane (WO-018–WO-021). Contact securist_info_sec@protonmail.com for design-partner questions—no unsolicited private data.