// what's next · v0.2.4
§ 00 Roadmap npm → Go → beyond

From a Node.js scanner to install-time interception across ecosystems.

phi started as an npm-only behavioral scanner. It's becoming a supply-chain firewall that doesn't care which registry produced the bytes. This page is the overview; per-version release notes live in CHANGELOG.md.

Status legend

shipped released, on GitHub Releases, runnable today
in progress actively being worked on
next up committed direction, queued behind the in-progress item
horizon direction we're going, not committed to dates
out of scope explicit boundary — phi will not become this

Shipped

v0.2.4 — robustness + better Windows experience 2026-05-09

Mid-install interruption can no longer corrupt your package.json. Bad packages can no longer crash a scan run. Friendlier first-run experience on Windows.

v0.2.3 — auto-fix + uniform progress UI 2026-05-08

phi audit fix [--apply | --force] — proposes safe fixes for typosquats, vulnerable versions, and deprecated packages. Preview by default; you opt in to applying. Scan progress now renders consistently across every shell we ship to.

v0.2.2 — supply-chain detectors 2026-05-08

Two new behavioral detectors targeting recent threat patterns (credential exfiltration flow + Linux system tampering), plus deprecation guidance for packages with safer successors.

v0.2.1 — self-update 2026-05-08

phi self-update brings phi current with one command. Verifies the new binary against published checksums before swapping.

v0.2.0 — scaffolding + force 2026-05-08

phi create bootstraps React, Next, Express, Fastify, or Nest projects — with the scaffolder itself audited first. --force escape hatch for packages you know you trust despite a flagged verdict.

v0.1.0 – 0.1.2 — foundation 2026-05-07

The install-time interception pipeline: 13 detectors, OSV vulnerability layer, lifecycle scripts off by default, lockfile + audit report, cross-platform binaries.

In progress

Code signing for Windows release artifacts

Cleans up the install experience on first run. Same binary, signed.

Next up

Multi-ecosystem support — starting with Go modules

Same install-time interception pipeline, applied to go.mod instead of package.json. Existing Go tooling flags vulnerabilities once a CVE has been filed; phi will catch the patterns themselves.

On the horizon

Directional, not committed to dates. Order is rough priority.

Python (PyPI) ecosystem support

Rust (crates.io) ecosystem support

IDE integration

Live scan as you edit your manifest.

CI integrations

First-class GitHub Action, GitLab CI templates, drop-in for the major platforms.

Hosting-provider native integration

Railway, Render, Vercel, Fly.io, and similar build pipelines recognizing phi.lock as a first-class lockfile — so deploys use phi's verified install path the same way they use package-lock.json today. (Partnership conversation, not a phi-side feature.)

Sandboxed dynamic analysis

Opt-in per package; results feed the same risk score.

Custom detector plugins

Strict trust model — signed plugins only.

Out of scope

phi will not become these things. Listing them here so the boundary is explicit.

Runtime sandbox

phi is install-time only. Once code is in node_modules/ and your app runs it, that's the application's concern — use container limits, gVisor, or an EDR for that.

Forced migration

phi.lock is a complete, integrity-verified lockfile — phi can be your only package manager, in CI, in Docker, in production. But if you'd rather keep package-lock.json / yarn.lock / pnpm-lock.yaml alongside for tooling that expects them, phi leaves them alone. Drop-in, not rip-out.

Telemetry / centralized policy

No daemon. No phone-home. Ever. Decisions happen on your machine, with your data, full stop.

Paid SaaS tier on the install path

phi stays free and open-source. Commercial offerings would be separate products built on top — never behind a paywall on the install path itself.

Influence the roadmap