Permission systemASSESS · LOCAL OPERATOR · TEAM GRAPH (NEXT)
Dispatch
Product · Local Operator
LocalNot public npmSigned RC from GitHub Release

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.

Monorepo

Available today from the Securist monorepo (Path A)

Signed RC

Human-signed release candidates are proven offline (Gate 1). Available via GitHub pre-release tag operator-v0.1.0-rc.1.

Trust gate

Without a release-signed runtime identity, doctor reports runtime_unavailable and assess is blocked. That is intentional.

Not available

Public npx @securist/operator is not available. Team Graph shared memory is not live (R1).

Path A · available to everyone today

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.

  1. 01 · Clone the monorepo
    git clone https://github.com/wantzjt/securist-hub.git && cd securist-hub
  2. 02 · Install dependencies
    npm ci
  3. 03 · Build the Operator CLI
    npm run operator:build
  4. 04 · Doctor (trust status)
    npm run securist -- doctor
  5. 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.

Path B · about five minutes from signed GitHub Release

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.

  1. 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
  2. 02 · Verify SHA-256 checksums
    shasum -a 256 -c SHA256SUMS.txt
  3. 03 · Unpack the signed RC tarball
    tar -xzf securist-operator-0.1.0-rc.tgz && cd securist-operator-0.1.0-rc
  4. 04 · Set a private SECURIST_HOME
    export SECURIST_HOME="$(pwd)/.securist-home" && mkdir -p "$SECURIST_HOME"
  5. 05 · Doctor — expect Runtime verified
    node bin/securist.mjs doctor
  6. 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.

Trust root honesty

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.

Human-readable failures
  • 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.
WO-031 · scaffolds

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@1.0.0

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@1.0.0

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@1.0.0

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.

MCP (stdio · local)

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 a Decision Brief answers
  1. What is this artifact?
  2. What did Securist actually observe?
  3. What remains unknown?
  4. What should happen next—and who owns it? (durable after Team Graph)

Local briefs are local_only and never automatically shareable.

Source

Monorepo package @securist/operator · private · not published. Path B uses the published signed RC; package remains private.

Why teams pay later

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)
Release honesty

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.