Skip to main content

vulkro login, logout, account, license-status

The account commands. No account is needed to scan: Free is permanent and never asks you to sign in. An account holds Pro, and the first verified device login starts a 14-day term of the full product. For the concepts (Free and Pro, the lease, offline grace, seats, the air-gap path) see Accounts, Free and Pro. This page is the command reference.

vulkro login

Log in and pair this device with your Vulkro account, then install the returned subscription lease. Three ways in, tried in this order:

vulkro login # browser login (default): shows a code, opens your browser
vulkro login --code ABCD-1234 # paste a pairing code from app.vulkro.com/connect
VULKRO_ACCOUNT_TOKEN=... vulkro login # CI / headless: exchange a stored device token
FlagDescription
--code <CODE>Pairing code from app.vulkro.com/connect (for example ABCD-1234). Omit it for the browser login, or set VULKRO_ACCOUNT_TOKEN for CI.

The lease refreshes automatically on the daily entitlement ping while online and stays valid fully offline through its signed expiry (about 14 days). The ping carries only anonymous usage counters plus this device's token: never your code, findings, or machine fingerprint.

Exit codes: 0 logged in and lease installed; 2 error (offline set, account-server failure, an invalid lease, or a denied / expired / timed-out browser login).

vulkro logout

Log out this device: delete the local device token and cached lease, then make a best-effort revoke call to the account server. Local logout always succeeds; a failed or offline revoke is a warning, not an error. A perpetual offline .lic (if you installed one with vulkro activate) is left untouched and keeps working.

vulkro logout

Exit codes: 0 logged out (or nothing to do); 2 local database error.

vulkro account

Show your Vulkro account: email, tier (Free / Pro / Team / Enterprise), seat (for example "seat 2 of 5"), expiry, offline-grace remaining, and last sync. 100% local: makes no network call and works air-gapped.

vulkro account

Exit codes: 0 report printed; 2 local database read error.

vulkro license-status

Show the current licence state: sign-in status, expiry, machine ID, and the Pro checklist generated from the registry compiled into the scanner. --format markdown and --format json emit the whole Free / Pro matrix. Needs no account. See vulkro license-status.

vulkro license-status
vulkro license-status --format json

Exit codes: 0 report printed; 2 local database error.

Environment variables

VariableEffect
VULKRO_ACCOUNT_URLOverride the account / API base. Defaults to https://api.vulkro.com.
VULKRO_ACCOUNT_TOKENSupply a device token non-interactively for headless / CI login.
VULKRO_OFFLINE=1Hard-disable login and logout (and every outbound call). account still works.

Command reference

Generated from vulkro help login on vulkro 0.26.0. This block is the authoritative flag, usage, and exit-code reference for this command; the prose above is the friendly explanation. Do not edit this block by hand; run npm run docs:cli after a release.

Sign in and connect this machine to your Vulkro account.

Log in and pair this device with your Vulkro account, then install the returned subscription lease. Signing in unlocks the Pro capabilities: scanning, findings with their proof, and the fix all work on the Free tier with no account. Your FIRST login on a device starts a 14-day term of the full product; after it lapses the machine returns to Free (it keeps scanning) and further licenses are issued directly by our team (license@vulkro.com). Three ways in, tried in this order:

1. `vulkro login` - browser login (default). Prints a short code, opens your browser, and waits while you approve the code in a logged-in portal tab. No copy-paste needed. 2. VULKRO_ACCOUNT_TOKEN set - CI / headless: create a device token in your account (app.vulkro.com), export it as VULKRO_ACCOUNT_TOKEN, then run `vulkro login`. No browser, no pasted code. 3. `vulkro login --code <CODE>` - exchange a pairing code for a lease (no browser). Use this only if you were handed a pairing code.

The subscription lease is the same signed format `vulkro activate` uses. It refreshes automatically on the daily entitlement ping while online and stays valid fully offline through its signed expiry (about 14 days), so short offline stretches never interrupt work. The ping carries this device's token plus anonymous usage metadata (an install id, the version, the OS, a timestamp, a scan count, and the language slugs of the last scan): never your code, file paths, findings, or machine_id. Suppressed by VULKRO_OFFLINE=1 (use `vulkro activate <file.lic>` for air-gapped machines). Runs even when a prior license has lapsed.

Environment variables: VULKRO_ACCOUNT_URL - override the account/API base (default https://app.vulkro.com/api) VULKRO_ACCOUNT_TOKEN - supply a device token non-interactively (CI) VULKRO_OFFLINE=1 - hard-disables login (and every outbound call)

Exit codes: `0` logged in and lease installed; `2` error (offline set, account-server failure, an invalid lease, or the browser login was denied / expired / timed out waiting for approval).

Usage: vulkro login [OPTIONS]

Options:
--code <CODE>
Pairing code to exchange for a lease (e.g. ABCD-1234), for a headless pairing you were handed. Omit it for the browser login (or set VULKRO_ACCOUNT_TOKEN for CI)

--offline
Hard-disable every outbound network call for this run (sets VULKRO_OFFLINE=1). Blocks the CVE feed, the license heartbeat, the update check, webhooks, and any cloud AI endpoint; a loopback model (http://127.0.0.1, http://localhost) is still allowed. Equivalent to exporting VULKRO_OFFLINE=1, and the flag wins when both are set

-h, --help
Print help (see a summary with '-h')