Your files never leave. Encrypted in memory and wiped instantly. We can't read it, even if we wanted to.
1. Key[32] = Argon2id(Password, Salt[16])
2. IV[12] = random_bytes(12) — separate, not from Key
3. Ciphertext + Tag[16] = AES-256-GCM(Plaintext, Key, IV)
4. Output = Base64(Salt[16] || IV[12] || Tag[16] || Ciphertext)