๐Ÿ›ก๏ธ Webvolt โ€” User Guide

Webvolt User Guide

Webvolt is a zero-knowledge password manager. Everything is encrypted on your own device before it is ever stored, so the server holding your vault can never read it. This guide shows you how to install it, unlock it, and use every feature.

Zero-knowledge ยท key never leaves your device Argon2id + AES-256-GCM Self-hostable ยท Docker Chrome / Edge ยท Manifest V3

Installation

Webvolt has two parts: a backend you run yourself, and the browser extension. You set the backend up once, then load the extension into your browser.

1. Start the backend

From the project's backend folder, create your environment file and set a strong signing secret. The server refuses to start with a placeholder value.

cd backend
cp .env.example .env

# generate a strong secret and paste it into .env as SECRET_KEY:
python -c "import secrets; print(secrets.token_urlsafe(64))"

Then bring up the database and API together with Docker:

docker compose up --build

The API is now served at http://localhost:8000.

2. Build the extension

cd extension
npm install
npm run build

3. Load it into your browser

  1. Open chrome://extensions (or edge://extensions).
  2. Turn on Developer mode (top-right toggle).
  3. Click Load unpacked and select the extension/dist folder.
  4. Copy the extension's ID from its card.
  5. Put that ID in backend/.env as CORS_ORIGINS=chrome-extension://<your-id>, then restart the backend.
Pick the right folder. Load extension/dist (the built output), not extension itself โ€” the top folder has no manifest.json.
Pin it. Click the puzzle-piece icon in the toolbar and pin Webvolt so the shield is always one click away.

Create your vault

Webvolt registration screen
Creating a new vault

Click the Webvolt shield to open the popup, then choose Create a vault.

  1. Enter your email โ€” it identifies your account and is never used to contact you.
  2. Choose a master password. The strength meter guides you toward a strong one.
  3. Confirm it and click Create vault, then log in.
Your master password cannot be recovered. It never leaves your device, so there is no reset link. If you forget it, the vault cannot be decrypted by anyone โ€” including you. Choose something strong that you will remember, or keep it in a safe place.

Unlocking and locking

Webvolt login and unlock screen
The login / unlock screen

After the first login, Webvolt remembers you are signed in but keeps the encryption key only in memory. When the key is cleared, the vault is locked and you simply re-enter your master password to unlock โ€” no full login needed.

  • Lock now: click the ๐Ÿ”’ icon in the top-right of the popup.
  • Auto-lock: the vault locks itself after a period of inactivity (set it in Settings). It also locks whenever you close the browser.
  • Sign out: Settings โ†’ Sign out fully ends the session and clears everything on this device.
Why this matters. The key lives in memory only, never on disk, so a locked vault reveals nothing even to someone with access to your computer's files.

Adding items

Add-item type picker
Choosing an item type

Click + Add item at the bottom of the vault and pick a type. Webvolt stores four kinds of secret plus folders.

๐Ÿ”‘

Login

Website, username, password, an optional 2FA secret, and notes. This is the type that autofills.

๐Ÿ“

Secure note

Free-text secrets โ€” recovery codes, licence keys, anything you want encrypted.

๐Ÿ’ณ

Card

Cardholder, number, brand, expiry and CVV, kept encrypted like everything else.

๐Ÿชช

Identity

Name, email, phone and address for filling in personal details.

For a login, fill in the Website field (for example github.com) โ€” this is what autofill matches against, and it is what pulls in the site's icon. Use the โ†ป button next to the password to generate a strong one on the spot. Every item can be placed in a folder and marked as a favourite (โ˜…), and favourites are pulled to the top of the list.

Search & folders

The Webvolt vault with folders, favourites and a live 2FA code
The vault: favourites, folders, search and a live 2FA code
  • Search: type in the search box to filter by name or username instantly.
  • Folders: tap a folder chip (for example Work, Personal) to show only that folder. Tap All to clear the filter.
  • Manage folders: tap the โš™ chip in the filter row to rename or delete folders. Deleting a folder keeps its items โ€” they simply move to "no folder".
  • Favourites: open an item's โ‹ฏ menu and choose Favorite to pin it to the top.

Autofill & saving logins

Filling a login

Open the site you want to sign in to, then open Webvolt and use a login item:

  • โšก Fill this page โ€” fills the username and password into the current tab.
  • Launch & fill (in the โ‹ฏ menu) โ€” opens the item's website in a new tab and fills it once the page loads.
  • โง‰ Copy โ€” copies the password to the clipboard, which auto-clears after 30 seconds.
Built-in phishing defence. Autofill checks that the open page's address matches the item's saved website. If they don't match, Webvolt refuses to fill and tells you โ€” so a lookalike phishing page never receives your password.

Saving a new login

When you sign in on a site whose login isn't stored yet, Webvolt shows a small "Save login?" banner. Click Save and it is captured into your vault (encrypted, like everything else). The banner only appears for logins that aren't already saved.

Password generator

Password generator with options and strength meter
The password generator

Open the Generator tab to create strong, random secrets.

  • Switch between Password and Username.
  • Adjust the length and toggle uppercase, lowercase, numbers and symbols.
  • The strength meter grades the result; โ†ป Regenerate makes a new one.
  • Copy puts it on the clipboard (which auto-clears after 30 seconds).

Every value comes from the browser's cryptographically secure random source, and each enabled character type is guaranteed to appear at least once.

Two-factor (2FA) codes

Webvolt can generate time-based one-time passwords (TOTP), the six-digit codes many sites use for two-factor authentication.

  1. When a site shows you a 2FA setup screen, choose the "enter a setup key / can't scan" option to reveal the base32 secret.
  2. Edit the matching login in Webvolt and paste that secret into the 2FA secret field.
  3. Save. The login now shows a live six-digit code with a countdown; it refreshes automatically.

Tap the code to copy it. Codes are computed on your device using the standard TOTP algorithm.

Vault health

Vault health report flagging weak and reused passwords
The vault health report

The Health tab checks your logins entirely on your device โ€” nothing is sent anywhere โ€” and gives you a health score out of 100.

  • Weak passwords โ€” logins whose passwords are short or low-complexity.
  • Reused passwords โ€” any password used on more than one login, the habit that turns a single breach into many.

Tap any flagged item to open it, then use the generator to replace the weak or reused password with a unique strong one.

Change master password

In Settings โ†’ Change master password, enter your current password and a new one. Webvolt re-derives your encryption key and re-encrypts the entire vault under it in one step, then rotates your authentication. Nothing is ever left protected by the old key.

Remember: the new master password is just as unrecoverable as the old one โ€” there is no reset.

Backup & restore

Under Settings โ†’ Backup:

  • Export vault saves a copy of your vault as a JSON file.
  • Import vault from file loads a previously exported file back in.
Exports are decrypted plain text. The backup file contains your passwords in readable form. Store it somewhere safe (an encrypted drive), and delete it when you no longer need it.

Settings summary

Webvolt settings panel
The settings panel
SettingWhat it does
AccountShows the email your vault is registered to.
Auto-lockHow long of inactivity before the vault locks itself: 1, 5, 15, 30 minutes, or never.
Change master passwordRotate your master password and re-encrypt the vault.
Export / ImportBack up the vault to a file, or restore from one.
Sign outEnd the session and clear all data on this device.

How the security works

You don't need to understand this to use Webvolt, but here is what happens under the hood.

  1. Your master password and a per-account salt go through Argon2id, a deliberately slow, memory-hard function, producing 64 bytes.
  2. Those bytes are split: the first half becomes your AES-256 encryption key (which never leaves your device); the second half becomes a login hash used only to prove who you are to the server.
  3. Your whole vault is encrypted with AES-256-GCM before it is synced. The server only ever receives and stores that opaque encrypted blob.
  4. Because the encryption key is never sent anywhere, the server cannot read your vault โ€” even if it is completely breached, an attacker gets only unreadable ciphertext.

The encryption key is held in memory only and wiped when you lock or close the browser. Autofill verifies the page's address before filling, and the backend authenticates you without ever holding anything that could decrypt your data.

Webvolt zero-knowledge architecture
The two trust zones: all cryptography happens in the trusted client; the server stores only ciphertext.
Data encryption and storage flow
How your master password becomes a stored, encrypted vault.

Troubleshooting

The popup can't reach the server / login fails

Make sure the backend is running (docker compose up in backend) and that CORS_ORIGINS in backend/.env contains your extension's ID as chrome-extension://<id>. Restart the backend after changing it.

"Manifest file is missing or unreadable" when loading

You selected the wrong folder. Load extension/dist, not extension. Run npm run build first if dist doesn't exist.

Autofill says the page doesn't match

This is the phishing defence working. Check that the login's Website field matches the site you're on (for example github.com). Update the field if it's blank or wrong.

Site icons don't appear

Icons come from the browser's own cache via the login's Website field. If it's empty, Webvolt shows a ๐Ÿ”‘ placeholder instead. Add the website to get the icon.

I forgot my master password

It cannot be recovered โ€” that's the point of zero-knowledge. If you have an exported backup you can read your data from that file; otherwise the vault cannot be decrypted.

Nothing happens after I close and reopen the browser

That's expected: the vault locks on browser close. Open the popup and enter your master password to unlock.