Package Trust
Public trust source for Starkscan npm SDK, CLI, and MCP packages.
Public trust source for Starkscan npm SDK, CLI, and MCP packages.
Use this page before installing Starkscan npm packages in agents, CI, or production services.
This page is the public trust source for Starkscan packages. The canonical engineering repository is private, so package README files, homepage metadata, and agent-facing metadata should link here instead of sending users to a private GitHub URL as their human-facing trust entrypoint. Package manifests still carry the canonical private repository URL only for npm Trusted Publishing publisher verification; it is not a public source link or provenance claim.
Machine-readable source for agents:
public-client-surface-matrix.json
LLM-readable source:
/llms.mdx/docs/build/package-trust/index.mdx
There is no single npm badge that should be treated as a security certification. The production-grade trust model is layered:
@starkscan npm organizationrepository.url on the checked-in private repository URL string
used by package manifests and CI only for npm's GitHub publisher verificationFor beta users, use the alpha channel only when you can tolerate package updates.
The current alpha package train is 0.1.0-alpha.2; it is published and
post-publish smoke-tested. Pin the exact version for unattended beta workflows:
npx -y @starkscan/[email protected]
npx -y @starkscan/[email protected] doctor
npm install @starkscan/[email protected]
alpha currently points to 0.1.0-alpha.2.
latest currently points to the stable fail-closed placeholder 0.0.2, not the
alpha prerelease. Use exact versions for unattended jobs. This placeholder keeps
fail-closed behavior while giving the npm default page professional install
guidance, package purpose, trust policy, and public docs links.
If 0.1.0-alpha.2 regresses, roll back by pinning the prior alpha explicitly
and rerunning the same smoke checks before putting it in an unattended agent:
npx -y @starkscan/[email protected] doctor
npx -y @starkscan/[email protected] doctor
npm install @starkscan/[email protected]
Keep MCP and CLI on the same package version. The MCP launcher depends on the
matching CLI package, so mixing @starkscan/[email protected] with a different
CLI version is not a supported rollback shape.
| Package | Public channel | Trust status |
|---|---|---|
@starkscan/sdk | alpha | 0.1.0-alpha.2 is published on alpha and imports under Node ESM from a clean package install. |
@starkscan/cli | alpha | 0.1.0-alpha.2 is published on alpha with bundled native artifacts, manifest/checksum verification, and unauthenticated request IDs using the starkscan-cli- prefix. |
@starkscan/mcp | alpha | 0.1.0-alpha.2 is published on alpha, delegates to the exact matching @starkscan/cli version, and passes packaged launcher smoke. |
The current package trust fields live under packageTrust in
public-client-surface-matrix.json.
Agents should read this section as policy, not marketing copy:
public-client-surface-matrix.json are the public source of truth.@starkscan.X-Request-Id, route class, host, and command.Trusted Publishing is the preferred CI publish path because it removes long-lived npm publish tokens from GitHub Actions. It is not the same control as npm provenance.
Decision: Starkscan accepts carrying the checked-in private repository URL
string in package metadata so npm can verify the GitHub publisher and CI can use
tokenless Trusted Publishing. npm documents that GitHub trusted publishing
requires npm CLI 11.5.1 or newer and that repository.url must match the exact
repository URL string used for publishing. Normalization differences such as
git+https://... versus https://github.com/... can break verification, so the
packages keep the same private repository URL string that package manifests and
CI assert.
npm provenance is stronger but has a public-source constraint. npm documents that provenance generation is not supported for private repositories, even for public packages.
Trusted Publishing is configured on the npm package pages for SDK, CLI, and MCP.
The next release proof is an OIDC publish from public-client-release.yml
without NPM_PUBLISH_TOKEN. Do not switch npm package access to disallow
tokens until that OIDC path has passed once. Npm provenance remains a later
public-source decision.
Current Starkscan state:
0.1.0-alpha.2 is currently published on the alpha dist-taglatest dist-tag points at the stable fail-closed placeholder
0.0.2, not the alpha prerelease0.1.0-alpha.2 and latest resolves to 0.0.2id-token: write for tokenless Trusted Publishingrepository.url to the checked-in private repository
URL string asserted by CI for npm publisher matchingNPM_CONFIG_PROVENANCE=falselatest0.1.0-alpha.0, 0.1.0-alpha.1, and
0.1.0-alpha.2 using npm passkey/2FAstarkscan-cli- request-id prefix and never the legacy prefixstatus smoke passed against https://starkscan.coprint-config / tools and CLI/MCP request-id smoke passed with
STARKSCAN_BASE_URL=https://starkscan.co/api; authenticated doctor remains
a per-client smoke when a beta API key is available0.0.2 gives npm latest complete README metadata while
still failing closedThe release workflow attests SDK and native CLI artifacts before npm packaging. This gives maintainers a build evidence trail for artifacts. Public users should use this page, npm package metadata, and the machine-readable matrix as their public trust entrypoint unless a public source mirror is introduced.
Socket is a package-risk and supply-chain scanner. It is useful as an external signal for dependency risk, maintainer/package metadata, and malware-style patterns, but it is not a formal audit certificate.
Package pages:
If Socket is unavailable behind a browser challenge, npm and GitHub release evidence remain the primary trust sources.
OpenSSF Scorecard and the OpenSSF Best Practices badge are good repository posture signals. They should be added as repository-level launch hardening, not as per-package certification.
For the current private-repository setup, OpenSSF signals belong on the internal maintainer checklist. The public package trust path should stay honest: npm identity, exact package version, checked tarball contents, CLI checksum verification, Socket as a risk signal, and this public docs page.
STARKSCAN_* env vars and keep API keys in the agent secret store.npx @starkscan/*@alpha in an unattended production loop without
a version allowlist.X-Request-Id, and route class when reporting a bug.latest as a convenience tag only after the package is explicitly
promoted out of alpha.Before promoting any package channel beyond alpha:
latest does not point at an alpha prerelease.