ARGONVAULTv0.4.0
DRAWING A-01 · REV 04 · CLASSIFICATION ZERO-KNOWLEDGE

Files you store.
Keys you keep.
Server that's blind.

ArgonVault is a zero-knowledge file vault. Your password derives a key in your browser, encrypts every file with AES-256-GCM, and uploads the ciphertext directly to S3. The server stores opaque blobs and cannot read your files, folder names, or password.

KDF: Argon2id-64M/3/1AEAD: AES-256-GCMSTORAGE: S3-compatible
argonvault — bash
02 — data flow

Three boxes, two wires.

Crypto sits between your keyboard and the storage layer. The API in the middle never sees plaintext or ciphertext — it brokers keys and mints presigned URLs.

FIG 01 — DATA FLOW
Browser
aes-gcm · argon2id
FastAPI
key broker
S3 / MinIO
ciphertext blobs
presigned PUT / GET — bytes never traverse the API
03 — live

Encryption, right now.

Type into the input. Watch AES-256-GCM ciphertext recompute on every keystroke, in your browser, with a fresh nonce per encryption.

LIVE — AES-256-GCM
aes-256-gcm
nonce (12B)
data key (32B)

Same primitive ArgonVault uses on every file. In the real app, the data key itself is wrapped under a key derived from your password — so even this ciphertext travels with its key already protected.

04 — spec

What it actually does.

Every claim has a parameter. Every parameter is in the README.

S-01
Zero-knowledge metadata
Filenames and folder names are encrypted with your vault key. The server sees opaque base64 blobs at random UUIDs.
S-02
Memory-hard KDF
Argon2id with 64 MiB cost makes brute-forcing a stolen password hash expensive even on GPUs.
S-03
Envelope encryption
Per-file data key wrapped by the vault key, which is wrapped by the password-derived key. Same pattern as AWS KMS.
S-04
Anti-enumeration login
Unknown emails receive a deterministic HMAC-derived dummy salt. Attackers can't probe for accounts.
S-05
Direct browser → S3
Presigned URLs mean file bytes never traverse the API. Upload size is bounded by the browser, not the API host.
S-06
Rate-limited auth
Per-IP sliding-window limits on login/prelogin/register. Threat model and self-pen-test in SECURITY.md.

Ready to encrypt.

Pick a password you'll remember. There is no reset — that's the point.