mrkeyoor.com_
Tue 01 Sept 17:44 UTC
Self-Hostedevaluationupdated 26 Aug 2026

aegis-vault review

Aegis Vault is a local password and secret manager packaged around a single HTML application. It stores logins, API keys, SSH keys, and database credentials in browser storage encrypted under a master password, with no account, server, telemetry, or automatic sync.

-2stars / 7d
Verdict

Our Aegis Vault run installed 35 packages and built in 9 seconds, but it had no test target and its owner documents a Sentinel path that can expose the master password to anyone reading browser storage. Do not use this young project as the only home for valuable credentials. It is small enough to study and may improve, but KeePassXC is the safer offline choice until Aegis has independent review, automated security tests, and a redesigned convenience unlock.

We ran it

Lab card: what happened when we ran aegis-vaultScreenshot of aegis-vault (github.com/voyb/aegis-vault#install)
Install✓ · 19s35 packages · 37 MB
Build✓ · 9s
Testsn/ano test script
Known vulns0(pip-audit)
Repo16 files~177 lines of source · 1.5 MB · 1 CI workflows

Answers from our run

Does aegis-vault build from source?

Dependencies installed in 19 seconds (35 packages), and the build succeeded in 9 seconds. We cloned commit 9367b24 into a clean Debian container with 3 CPUs and no project-specific setup.

Does aegis-vault have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does aegis-vault have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use aegis-vault?

Anyone choosing a primary vault for valuable credentials: the README says Aegis has no formal third-party security audit, and our run found no test target.

What are the alternatives to aegis-vault?

KeePassXC, Bitwarden, gopass. Our Aegis Vault run installed 35 packages and built in 9 seconds, but it had no test target and its owner documents a Sentinel path that can expose the master password to anyone reading browser storage.

Setup4/519-second install and 9-second build; release script is simple
Docs4/5Threat limits are unusually explicit, including Sentinel's bypass
Community1/588 stars and one owner-authored issue in a one-day-old project
Maturity1/5No test target, no formal audit, and an open master-password issue

Who it’s for

Developers who want to inspect a small local vault before using it with low-consequence test credentials.
Users who accept manual encrypted backups and understand browser storage, local-device threats, and key derivation.
Contributors interested in reviewing or hardening a new single-file password manager.

Who it’s NOT for

Anyone choosing a primary vault for valuable credentials: the README says Aegis has no formal third-party security audit, and our run found no test target.
Users considering the optional Sentinel TOTP unlock: open issue 1, written by the owner, says browser-storage access can bypass the 6-digit check and recover the master password.
People who need automatic multi-device sync, shared collections, browser autofill, or account recovery: the README documents manual file copying and no recovery path.
Buyers who want an established security project: the repository was created on August 15, 2026, one day before its last push and open security issue.
Users unwilling to inspect remote installer code: the one-line scripts download the latest release without verifying a published checksum or signature.

Setup reality

Our sandbox install succeeded in 19 seconds, adding 35 packages and using 37 MB. The build succeeded in 9 seconds. There was no tests script or target, so tests were skipped. Pip-audit found 0 known vulnerabilities.

The packaged launcher needs a Chromium-family browser for its app window and falls back to the system browser. First use requires a master password, with no recovery if it is lost. There is no server or account, and moving between devices requires an exported .vlt file or copying the Aegis folder.

Argon2id needs WebAssembly; the code falls back to PBKDF2-SHA256 when that check fails. Sentinel deliberately stores enough material in localStorage to recover the master password without its TOTP prompt, so leave it disabled. The installer fetches a current release asset but performs no checksum or signature verification.

A single 1,694-line page holds the whole vault

Aegis puts its interface, encryption, generator, backups, and duress features in a 1,694-line index.html. A Python launcher opens it in Edge, Chrome, Brave, or Chromium, with the system browser as fallback. The documented design has no application server, account, cloud database, or telemetry endpoint.

Credentials live in localStorage as AES-256-GCM ciphertext. Argon2id uses 64 MiB and 3 iterations; without WebAssembly, new vaults fall back to PBKDF2-SHA256 at 600,000 iterations. Losing the master password means losing access. Readable source cannot replace cryptographic review, adversarial tests, or field use.

Sentinel lets browser-storage access recover the master password

The optional Sentinel feature uses a 6-digit TOTP code for convenient unlocks. Its implementation stores the TOTP secret, a salt, and an encrypted master password together in localStorage. The wrapper key is derived from that stored TOTP secret, while the entered code only passes a software check. Anyone who can read the Sentinel record can derive the wrapper key, decrypt the master password, and open the main vault without supplying the code.

This is not our inference from a vague report. Open issue 1 was written by repository owner voyb on August 16, 2026, and describes that exact path. The README and interface call Sentinel a convenience lock rather than a second security wall. Clear disclosure is better than hiding the tradeoff, though the feature still weakens the normal promise that the master password is never stored. Users should leave Sentinel disabled, especially on a machine with browser extensions or other local code.

What happened when we ran it

Our sandbox installed Aegis Vault in 19 seconds, adding 35 packages and occupying 37 MB. The build completed in 9 seconds. Pip-audit reported 0 known vulnerabilities in the installed Python packages. We used commit 9367b24 inside a fresh Debian container with 3 CPUs, 8 GB of RAM, no secrets, and no privileged access. The repository itself measured 16 files, about 177 detected source lines, and 1.5 MB checked out.

There was no test script or test target, so our harness skipped tests. The repository also had no tests directory and only 1 CI workflow file. A successful PyInstaller build shows that packaging completed; it does not exercise vault creation, incorrect passwords, backup imports, corruption, WebAssembly fallback, duress separation, clipboard clearing, or Sentinel attacks. For a password manager, those are core behaviors rather than optional polish.

Zero automated tests leaves encryption workflows unverified

The code uses established browser primitives instead of inventing a cipher. AES-GCM provides authenticated encryption, crypto.getRandomValues supplies random bytes, and Argon2id is vendored through hash-wasm. Those choices avoid obvious design mistakes. The README also states that no third party has formally audited the cryptography. Standard primitives can still be assembled incorrectly, and application bugs around state, backup, fallback, or unlock flows can expose secrets without breaking AES itself.

Our run supplied 0 test results because there was no target. Tests should cover altered ciphertext, damaged metadata, derivation changes, wrong imports, lock cleanup, and decoy separation. Sentinel needs redesign. The pip-audit result only says the 35 installed Python packages had no known advisory in that scan.

Manual backups are the only recovery path

Aegis has no automatic sync. Moving a vault means exporting .vlt or copying its folder. The README offers no forgotten-password recovery, and the newest manual backup is all that survives a lost device. One hardware failure can therefore become permanent credential loss.

The app includes a duress password that opens a separately encrypted decoy vault. That feature does not alter the main ciphertext, according to the code and README. It also creates more state to test and preserve. With no tests and a repository created on August 15, 2026, users would be betting on a very new implementation for backup compatibility and separation. A mature KeePass database has a far larger ecosystem around the same offline requirement.

One-line installers trade inspection for speed

The macOS and Linux command pipes install.sh from GitHub into a shell. That script downloads the latest platform archive into a temporary directory, extracts it under ~/Aegis, and launches it. The Windows script follows the same broad pattern. Neither script verifies a published checksum or signature before execution. GitHub Actions builds release binaries from tags, which gives a public build log but does not authenticate the downloaded asset on the user's machine.

Building locally is short: install PyInstaller and Pillow, then run the supplied spec. Our version needed 35 packages and 37 MB. Source builders can also run aegis_launcher.py directly. For a vault, local building is worth the extra step, followed by inspection of index.html and the vendored JavaScript. Anyone unwilling to do that should choose a manager with signed packages, security documentation backed by outside audits, and established distribution channels.

A one-day history is too short for primary secrets

The repository was created on August 15, 2026, published v0.4.1 that day, and recorded its last push on August 16. GitHub showed 88 stars and 1 open issue, the owner-authored Sentinel disclosure. Rapid early interest does not establish how the vault handles years of browser changes, damaged storage, migrations, or hostile review. The MIT license and compact source invite that work, but it has barely started.

Aegis documents its local storage and threat limits clearly. Evidence remains thin: our build passed in 9 seconds, while 0 automated tests and 0 formal audits stood behind the security paths. Evaluate it with disposable credentials. Keep important passwords in a manager with deeper review history.

Alternatives

ProjectWhat it isPick it when
KeePassXCA mature cross-platform desktop manager for local KeePass databases.pick this instead when you want an offline vault with a long security history, browser integration, and a larger reviewer base.
BitwardenOpen-source password-manager clients with sync, autofill, and multiple platform apps.pick this instead when automatic sync, account recovery options, sharing, and browser autofill matter.
gopassA command-line password manager built around encrypted files and Git-friendly workflows.pick this instead when terminal use, team workflows, and auditable file-based storage suit the job.

What people are saying

  1. [velocity-scout] voyb/aegis-vault

Sources

  1. Aegis Vault README
  2. Aegis Vault source application
  3. Sentinel bypass and cryptographic fallback issue
  4. Aegis Vault v0.4.1 release
  5. Aegis Vault installer

More self-hosted reviews

v2 · OpenShell · wigolo · Mindwtr · club-3090 · reclip · the whole board →