Password
The user's password is used to create the key-encryption key. It is never stored or sent to the backend.
Technical architecture
MOTI encrypts secrets in the browser and is designed so the backend does not need to know your values or decryption keys.
01 / Encryption hierarchy
Each layer has a specific responsibility. The password does not encrypt secrets directly, and the API never receives a decrypted vault key.
The user's password is used to create the key-encryption key. It is never stored or sent to the backend.
Argon2id derives a wrapping key from the password and its derivation parameters.
The key-encryption key protects each vault's decryption-key key before encrypted material is stored.
Each vault has an independent data key that encrypts its values.
AES-256-GCM encrypts each value with a unique IV and produces an authentication tag.
02 / Trust boundary
The server stores the material needed to synchronize and operate the account, but it does not receive plaintext secrets.
03 / Sensitive operations
The client unlocks the hierarchy locally, creates a new key-encryption key, and protects the vault key again. The backend receives updated encrypted material.
The recovery file restores the hierarchy without asking the server to decrypt the vault. Losing both password and recovery can mean irreversible loss of access.
This document describes the implemented model and does not replace an independent security audit.