Start free, upgrade when you need more. No credit card required for the free tier.
Track a full repo, free forever: a frontend and a backend lockfile, agent included.
Every project you work on: unlimited lockfiles and sources, all notification frequencies.
Includes 5 seats · extra seats €14.90/month
The org audit workspace: the whole team sees the same sources, lockfiles, and security issues, and every seat's agent gets the same verified answers.
On the roadmap
Not built yet. Tap the ones you want. We prioritize the roadmap by what gets the most taps.
All prices include VAT. The price you see is the price you pay: no tax is added at checkout, whichever country you buy from.
Your subscription remains active until the end of your current billing period. After that, you'll be downgraded to the Hobbyist tier. Your data is preserved, but you'll be subject to free tier limits.
Yes. Under the EU 14-day right of withdrawal, you can cancel your initial subscription within 14 days of purchase and receive a pro-rata refund for the unused part of your billing period: refund = payment × (1 − days elapsed ÷ days in period). Withdraw on day 0 and you get 100 % back. You can see the exact amount in Settings → Subscription → Request Refund before confirming. Renewals are non-refundable, and we offer a free Hobbyist tier so you can evaluate the service first.
The Team plan includes 5 seats for €79/month (or €790/year billed annually). Need more seats? Add seats anytime at €14.90/month or €149/year per seat. Extra seats follow your plan's billing cadence as part of one subscription price. Added seats take effect immediately with a prorated charge; removed seats stay usable until the end of your current billing period. Every one of those figures includes VAT, so a seat count times a seat price is what you actually pay.
Everything the Team card lists with a checkmark is live today: everything in Professional, 5 shared seats, team member management, Customer Success, and the shared workspace itself, where the whole team sees the same sources, lockfiles, and security issues and every seat's agent reads the same verified MCP data. A few team features are still ahead of us, shown in the "On the roadmap" box on the card: collaborative source watching (a shared watch workflow on top of the team-wide sources you already get), shared audit reports, CI/CD integration, and a team review dashboard. They aren't built yet, so we don't bill for them; tap "I want this" on any of them to register your interest and help us prioritize what we build next. Your Team price reflects what's live today, and roadmap features arrive as part of the plan at no extra cost when they land.
No metering, no credits, no wallets: a plan is a flat price for the features it lists. Tiers differ by the things you can count: lockfiles, tracked sources, and seats; every tier (including free) gets the MCP server, agent skills, and the security audit (on each lockfile's dashboard page and to your agents over MCP). AI-powered analysis (release summaries, diff analysis, digests) is included, subject to a fair-use policy that only matters at genuinely unusual volumes. If you ever approach it, processing is briefly queued rather than billed.
Yes! You can upgrade or downgrade at any time. When upgrading, you'll be charged the prorated amount. When downgrading, the change takes effect at the end of your billing period.
We use PayPro Global as our payment processor, which supports all major credit cards, PayPal, and various local payment methods depending on your region.
Yes. Every price we show is the total price with VAT included, and it is what you are charged: nothing is added at the payment step, whichever country you buy from. So the number on this page is the number on your statement. PayPro Global acts as our Merchant of Record, which makes it the seller on your invoice and the party that remits the tax.
Yes. Professional is €99 a year instead of €9.90 a month (about 17% off, roughly two months free), and Team is €790 a year instead of €79 a month (about 17% off). Annual plans are billed upfront for the full year, so the annual figure is the charge; the per-month number beside it (€8.25 for Professional, €65.83 for Team) is what that total works out to, not a separate monthly payment.
Partly, yes, and we lean into it: our agent skills are free downloads, and even the free tier includes the full MCP server. In one session an agent can re-derive a one-off audit from the registries and the OSV database. What a one-shot run can't be is continuous (we recompute every monitored pin against new advisories daily and alert you between sessions), cheap at scale (we compute release intelligence once per release and share it across every user, instead of re-paying full token cost per run), diff-grounded (undocumented breaking changes come from reading the actual code diff of every release, a batch job, not a chat turn), or bigger than one context window. That last one is the underrated part: on a real project of ours, 319 of 417 available upgrades were blocked by a parent constraint, and every one of them traced back to just two direct dev-tool dependencies. Our MCP server computes that collapse in the query layer and puts the two names near the top of the answer, above the per-package list. An agent can only reach the same answer by holding all 319 rows at once and grouping them, which is context it needs for the work you actually asked it to do. The docs have the full honest version of this argument under "Can't my agent just do this?".
The slow part of an upload is matching each package to the GitHub repo that publishes it, and that only happens once per package for the whole platform: which repo publishes left-pad isn't specific to you, so the first lockfile anywhere that resolves it resolves it for everyone. A lockfile of mostly popular packages is therefore matched largely out of our own catalog and finishes quickly even at a few thousand entries; a lockfile full of packages nobody has uploaded before does the real registry work up front, and re-uploading it (or a teammate uploading the same file) is near-instant afterwards. There is no per-package charge either way, and no limit on lockfile size beyond the 2 MB / 10,000-entry guardrail against uploading the wrong file. A lockfile that size stays navigable too: the package checklist you pick from during upload and the package table on the lockfile's page both have a search box, so reaching one specific dependency among a few thousand is a search rather than a scroll.
Your digest, on the cadence you pick (weekly on the free plan; daily, monthly, or real-time on a paid one; or off), plus one kind of unscheduled alert: a newly-disclosed advisory against a version you actually pin, carrying the OSV/GHSA id so you can verify it before you act and naming the repository the affected lockfile lives in, so you know which project it concerns without opening the dashboard. That's it. You set how severe an advisory has to be before it interrupts you, defaulting to high and above, and each lockfile can carry its own bar, so a client-facing service and a scratch project don't have to share one answer. Crucially, that alert is never gated on your digest cadence or your plan: choosing a monthly digest does not delay a critical advisory by a month, and neither does being on the free tier. It reaches you the day we find it either way, and only Disabled silences it. A paid plan buys control over when you're reached, never whether you're told. Longer cadences are also trimmed rather than stretched: a monthly digest gives full cards to what needs a decision and rolls the routine dependency bumps into a single count with a dashboard link, so the email gets shorter as the window gets longer, not the other way round. Available upgrades never email you, including the ones we rate high-risk. "High risk" on an upgrade means risky to adopt (a major jump, or breaking changes documented somewhere in the range), which is a reason to read the release notes before you move, not a reason to interrupt your afternoon. Those wait for you on the lockfile page and in the MCP tools, where you pick them up when you're actually doing dependency work. The alert only fires on first detection, so routine re-scans of something you've already been told about don't re-send. If a send fails we retry it a few times rather than dropping it, which means in rare cases (an accepted send we lose track of mid-deploy) you might see one twice. A duplicate beats a security alert that never arrives. The point of keeping the channel this narrow is that an unscheduled email from us always means the same thing: something you depend on is vulnerable.
No. The Pulse dashboard opens with a rollup across every lockfile you own: how many advisories are exposed with no upgrade path, how many have a fix blocked by a parent constraint, how many have a fix available, and the same split for upgrades (high-risk, parent-blocked, total available). Pick any of those numbers and it lists the lockfiles it comes from, biggest contributor first, each a direct link into that lockfile's security-issues or upgrades section. Every one of those is labelled with the repository it belongs to, with the lockfile's own name underneath, so when the projects in your portfolio don't all carry the same weight you can tell which is which before you act: a connected lockfile is named after its path in the repo, so half a portfolio ends up called package-lock.json otherwise. The totals are computed over your whole set rather than the visible page, so they don't quietly under-report once you pass a few dozen lockfiles, and if any of your lockfiles are in an ecosystem we don't advisory-scan yet, the panel says how many instead of showing a zero that looks like an all-clear. The same data is what the MCP server hands your agent, so it's either your reading list or your agent's work queue. Below the rollup, each feed section collapses to a one-line summary (and long ones start collapsed), so a large account stays readable instead of thousands of pixels tall.
No, and we don't try to: it's a complement, by design. Every security issue we raise carries the OSV/GHSA advisory id and fix version, checked against your exact pinned version, so npm audit confirms each one id-for-id rather than contradicting us. Where the two differ, npm audit finds more, not different: it walks every nested copy in your install tree, so it catches advisories against a second copy of a package pinned at a version we don't track (we match one resolved version per package name). We name that gap for you, as a "shadowed duplicate versions" count in the audit rollup, and point you at the registry audit to close it. That one-version-per-name matching is also why we only name a parent constraint as the thing blocking your fix when that constraint actually admits the version you have pinned: a range that excludes your pin belongs to another copy in the tree and is never printed as your blocker. What is not a gap: dependencies you haven't selected for release tracking. An advisory match needs only the ecosystem, name, and version, so the audit covers every pinned dependency in the lockfile whether or not we discovered a source for it. Selecting a package adds release notes, risk scoring, and upgrades on top. So run npm audit too, for the full-tree sweep; DevUpdate tells you where it stops.
Have more questions?