The dependency firewall that never breaks your build.
Upwarden sits between your package managers and the public registry, stripping malicious versions before they ever reach your code — and quietly resolving to the last safe one, so CI stays green. Run it managed in minutes, or self-host with zero telemetry.
Works with npm, PyPI, crates.io, Go, Maven, NuGet & RubyGems — bun, yarn, pnpm, poetry & uv included. One config line each.
Seven ecosystems, one firewall — no new CLI to install
Supply-chain attacks are no longer rare
Trusted packages get compromised every few weeks. The attack reaches you the moment a package manager resolves a poisoned version — long before any human reviews it.
Malicious new versions
A maintainer is compromised and ships a poisoned release of a package you already trust and depend on.
Compromised maintainers
Phishing and account takeovers turn legitimate accounts into delivery vehicles for malware at install time.
Known-vulnerable releases
Published CVEs keep flowing into builds because nothing stands between the resolver and the registry.
A firewall in front of every install
Point your package manager at Upwarden once. It becomes your registry — analyzing every version and serving only the safe ones.
Point your registry
One config line per ecosystem. npm, bun, yarn, pnpm, pip, uv and cargo just work — and so do Go, Maven, NuGet and RubyGems, each via its standard registry setting. No per-developer CLI, no per-command prefix.
Upwarden analyzes
Every version is checked against advisory feeds and a vector-similarity scanner that catches novel malware by structure — at any dependency depth, including transitive.
You get only safe versions
Bad versions are stripped from the manifest and the range silently resolves to the last safe one. Your build succeeds. No broken pipelines.
Built different, on purpose
Upwarden replaces the registry instead of wrapping a command. That single choice is where its advantages come from.
Build-safe by design
Silent rollback resolves floating ranges to the last safe version. Security that blocks malware without ever breaking your CI.
Sovereign
Self-host it entirely inside your perimeter. No telemetry, no phone-home, and every block decision is explainable.
Extensible
Bring your own scanner through a signed callback API and shape enforcement with per-org, per-team and per-project policy controls. Not a closed box.
Because Upwarden is the registry, cached artifacts can't sneak past it.
Full bun support — not an afterthought, and not something wrappers cover.
Advisory feeds + structural similarity scanner + your own scanners, fused.
Catches novel malware, not just known CVEs
Receipts for every package your CI pulled
A block you can't see isn't reassurance — it's a claim. Because every install crosses Upwarden, it can hand back the record: for a single CI run, each package that was requested, which unit of your monorepo asked for it, and the verdict — blocked, rewritten or served — with every block traced to the CVE or advisory that stopped it.
- Per package, not per repo. A monorepo pulls for many services at once; the record is resolved down to the unit that requested each version — not a single blur for the whole tree.
- Blocked-first, and traced. The blocks lead. Each one carries the CVE or advisory that stopped it, so a verdict is a citation you can follow — never an opaque "denied".
- Scoped to one CI run. Read a specific pipeline execution in isolation — what it asked for, what it got — instead of scrolling an undifferentiated org-wide log.
- Keyless attribution. Runs authenticate with short-lived OIDC — no long-lived key to plant or leak — so the record ties each pull to the workflow that made it. Attribution, recorded honestly: where CI identity isn't presented, the field stays blank rather than guessing.
| Unit | Pulled | Verdict |
|---|---|---|
| services/checkout | lodash@4.17.11 | blockedCVE-2021-23337 |
| packages/api | ws@7.4.5 | blockedCVE-2024-37890 |
| apps/web | react@18.3.1 | served |
| services/checkout | lodash@4.17.21 | servedrolled forward |
Registry firewall vs. command wrapper
Wrapper-based tools intercept a command and check a cloud. Upwarden replaces the registry — closing gaps the wrapper model structurally can't.
| Upwarden | Wrapper-based firewall | |
|---|---|---|
| Architecture | Registry replacement | Command wrapper |
| Cached artifacts | Always inspected | Bypass the check |
| On a blocked version | Silent rollback, build passes | Blocks & errors |
| bun support | Yes | No |
| Deployment | Self-hosted, no telemetry | Cloud-only, phones home |
| Extensible detection | Bring your own scanner | Closed platform |
Comparison reflects the registry-replacement model versus wrapper-style free-tier tooling. See the full, sourced breakdown.
Supply-chain control, inside your walls
Upwarden gives security and platform teams governance over every dependency that enters the org — without sending a single package name to a third party.
Book a demo- Self-hosted inside your perimeter. Runs entirely within your network, no external egress. Fully air-gapped operation is on the roadmap.
- Audit trail & SIEM export. Every block, quarantine and rewrite on the record, tied to client identity and tenant — with optional OIDC/CI actor attribution — exportable as CSV/JSON for your SIEM.
- Governance, today. SSO (SAML/OIDC), IP allowlist, SBOM (CycloneDX/SPDX), role-based access with step-up auth, CI actor attribution via OIDC, bring-your-own-scanner, signed Sigstore provenance attestations, and OCSF audit export.
- On the roadmap: programmable roles & policy-as-code, a self-serve SIEM-streaming config UI (with CEF/OCSF stream formats), and air-gapped operation.
Two ways to run Upwarden
Start managed on Upwarden Cloud in minutes, or self-host inside your own perimeter. Same firewall, same silent rollback — you just choose who runs it. Either way it's one config line per ecosystem.
$ npm config set registry https://npm.pkg.upwarden.io/
Managed endpoints <eco>.pkg.upwarden.io · or point at your own self-hosted instance
Start free. Scale when you need to.
Open at the bottom, governed at the top. Pick the tier that matches how much control you need.
Per seat · EUR and USD equivalent, GBP indicative · annual saves 20%.
Free
Developers & OSS. Managed or self-hosted.
- All ecosystems incl. bun
- Feeds + similarity scanner
- Silent rollback, no telemetry
Team
Small teams (5–50 devs). First paid tier.
- Full policy editor & allow-listing
- 30-day audit log & dashboard
- Webhooks & upstream registries
Org
A whole organisation at scale.
- Unlimited scans
- Bring your own scanner (BYOS)
- 1-year audit log + export
Enterprise
Large organisations & government.
- SSO (SAML/OIDC), IP allowlist
- Dedicated / isolated deployment
- SLA-backed support
Four tiers — Free, Team, Org and Enterprise (Enterprise covers large orgs & government). Packaging is being finalised and some capabilities are on the roadmap. See full pricing & comparison →
Keep your builds green and your malware out
Start free on the managed cloud, self-host inside your perimeter, or talk to us about an enterprise rollout.