Skip to main content

navig-vault

A free, standalone, encrypted developer secrets manager (Doppler / 1Password-CLI / Infisical class). Installs without navig; shares one vault.

Works on its own — its own CLI, no navig required · v0.13.0 · PyPI

navig-vault demo

On its own (no navig needed)

pip install navig-vault
nv --help   # no navig needed

With navig

pip install navig-vault
Commands
Command What it does
navig vault activate Set a credential as the active (preferred) one for its provider.
navig vault add Add a new credential to the vault.
navig vault audit Show audit log for credentials.
navig vault backup Write an encrypted backup only the offline recovery key can open.
navig vault breach check Scan emails against leak dumps now and store the findings.
navig vault breach list Show stored breach findings (passwords masked unless --reveal).
navig vault breach status Show connector config, monitor state and the last scan cycle.
navig vault check-all Validate every stored credential and print a status table.
navig vault classify Organise the vault: name, category, issuer, website and tags for every item.
navig vault clone Clone a credential to a different profile.
navig vault delete Delete a vault credential by provider name or credential ID.
navig vault devices enroll Mint a one-time code (10 min) the new machine redeems with navig vault join.
navig vault devices list Every enrolled machine, its state and its grants.
navig vault devices revoke Revoke a machine now: its next request is refused and its key is destroyed.
navig vault disable Disable a credential.
navig vault edit Edit an existing credential — its value, or its name / organisation only.
navig vault enable Enable a credential.
navig vault export Seal secrets into an SVG image — a portable backup, or a password to hand to someone.
navig vault get Get a credential value from the vault (masked unless --reveal / --raw).
navig vault grant Let one device read the secrets matching PATTERN (default: denied everything).
navig vault import Add the secrets from a vault SVG to this vault — never overwrites one you already have.
navig vault info Show a full information panel for a credential.
navig vault join Enroll THIS machine with a vault authority using a one-time code.
navig vault leave Forget this machine's authority credentials and wipe its offline cache.
navig vault list List credentials in the vault (organise them with navig vault classify).
navig vault login add Store a website login for AI auto-login. The password is never echoed.
navig vault login capture Sign in ONCE in a visible browser (Google/GitHub buttons OK) — session saved to the vault.
navig vault login get Show a stored login. The password is masked unless --reveal/--json is given.
navig vault login list List stored website logins (no passwords are shown).
navig vault login remove Delete a stored website login.
navig vault open Show what a vault SVG holds — writes nothing to your vault.
navig vault opener Write the offline page that opens a vault SVG in any browser (for people without navig).
navig vault profile list List all credential profiles.
navig vault profile use Set the active profile.
navig vault providers List supported providers with built-in validation.
navig vault recovery init Create the offline recovery key (shown once). Migrates a legacy vault first.
navig vault recovery verify Prove a recovery key opens this vault (reads it from a hidden prompt or stdin).
navig vault remove Delete a credential by provider path (provider or provider/data_key).
navig vault restore Restore a backup into an empty directory (reads the recovery key from a prompt/stdin).
navig vault revoke Remove grants from a device (the device stays enrolled; see devices revoke).
navig vault rotate Replace the vault master key (all items + keyslots re-wrapped atomically).
navig vault run Run a command with secrets injected — never on its command line.
navig vault set Set (add or update) a credential in the vault.
navig vault show Show details of a credential (legacy — prefer vault info for the rich view).
navig vault status Key custody at a glance: keyslots, recovery, item count, federation role.
navig vault sync Refresh the offline cache: drop expired and no-longer-granted values.
navig vault test Test a credential against the provider API.
navig vault validate Validate a credential against the provider's API.

A free, standalone, encrypted developer secrets manager — Doppler / 1Password-CLI / Infisical / Bitwarden class — that installs without navig and shares one vault.

Status: complete and standalone.

pip install navig-vault gives you a working nv with no navig required:

pip install navig-vault

export OPENAI_KEY=sk-...
nv add openai --from-env OPENAI_KEY     # never on the command line -- see below
nv get openai                            # the secret, on stdout, and nothing else
nv list                                  # never prints secrets
nv test openai                           # check it against the provider (needs [validators])
nv path                                  # which vault is in use

A secret is never taken as an argument. There is no --value flag and there will not be one: command-line arguments are visible in shell history and to every other process via ps. Values come from --from-env, --from-file, --stdin, or a non-echoing prompt.

Export to SVG — back up the vault, or hand someone a password

nv export --svg github                  # vault-<random>.svg + a generated passphrase (shown once)
nv export --svg --all --yes             # the whole vault in one file
nv export --svg --all --yes --each      # one file per secret, each with its own passphrase
nv open vault-1a2b3c4d.svg [--reveal]   # what it holds (writes nothing)
nv import vault-1a2b3c4d.svg            # add to this vault — never overwrites an existing secret
nv opener                               # open-vault-svg.html: opens an export in any browser, offline

The export is an ordinary SVG picture with the secrets sealed inside it:

Cipher AES-256-GCM. The info block is bound in as associated data, so editing it breaks the file.
Key PBKDF2-HMAC-SHA256, 600,000 rounds, random 16-byte salt. Every browser's WebCrypto has it.
Visible without the passphrase That a sealed payload exists. No labels, names, counts or sizes; file names are random.
The real lock The passphrase. Anyone holding the file can guess offline, so generated ones are ~125 bits and chosen ones need 14+ characters.
Opening it nv open/import, navig vault open/import, or https://navig.run/open / open-vault-svg.html in any browser (local WebCrypto, no network).

The passphrase comes from a prompt or NAVIG_VAULT_SVG_PASSPHRASE, never from argv. Send it by a different channel than the file, and send the SVG as a file, not a photo: chat apps re-encode images and destroy the payload. Old plain files from the original SVG Vault app still open (nv open old.svg --save <folder>). Format spec: the docstring of navig_vault/svg.py.

One vault, shared. A standalone install resolves the same ~/.navig/vault navig uses (honouring NAVIG_CONFIG_DIR / NAVIG_VAULT_DIR), so adding a credential with nv makes it readable by navig, and vice versa. That is the _compat seam: it delegates to navig's own helpers when navig is installed and falls back to behaviour-matched implementations when it is not.

As a library:

from navig_vault import SecretStr, Credential, CredentialType, totp_now, vault_dir
from navig_vault.core import get_vault

secret = get_vault().get_api_key("openai")

The package is fully annotated and ships py.typed. navig.vault.<module> inside navig is a thin shim that aliases to the module here, so there is exactly one implementation and the two cannot drift.

What it will be

  • Install-without-navig: pip install navig-vault → navig-vault (alias nv) works on its own. Add navig later and they share the same encrypted vault automatically.
  • Runtime injection: navig-vault run -- <cmd> injects real secret values from the encrypted vault into a process's environment at runtime (no plaintext .env on disk).
  • Secret types: API keys, logins, cards, passport, TOTP.
  • Frictionless unlock: OS keychain (macOS Keychain, Windows Credential Manager, Linux Secret Service) with a passphrase fallback.
  • Apache-2.0, own subdomain vault.navig.run.

Layout

navig-vault/
  pyproject.toml        # name "navig-vault", scripts: navig-vault + nv
  LICENSE               # Apache-2.0
  README.md
  navig_vault/
    __init__.py         # package metadata
    cli.py              # `navig-vault` / `nv` entrypoint  (stub)
    __main__.py         # `python -m navig_vault`
  tests/
    test_smoke.py

Develop

cd navig-vault
python -m pip install -e ".[dev]"
navig-vault --help      # or:  nv --help   or:  python -m navig_vault
pytest -q

Relationship to navig

Inside navig it remains navig vault. navig-vault owns the code; navig-core re-exports it, so the two never fork. See the implementation plan (extract-from-navig-core, share-don't-fork) in the project's Claude plans (i-ant-to-make-staged-prism).

Metadata

Release files for navig-vault 0.13.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for navig-vault 0.13.0
File Size Uploaded Provenance
navig_vault-0.13.0.tar.gz 181.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for navig-vault 0.13.0
File Interpreter ABI Platform
navig_vault-0.13.0-py3-none-any.whl Python 3 none any Details

Total release size: 355.4 kB

Security for navig-vault 0.13.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page