Skip to main content

Module vault

Module vault 

Source
Expand description

The Vaultwarden connector: the Bitwarden client API this family talks to.

The module owns the wire shapes (models), the encryption primitives (crypto) and the HTTP client (client). It holds no session state: the workspace’s VaultSession owns the tokens and the unlocked account, and hands this module a token per call. An Unlocked value - the derived keys and the decrypt/encrypt operations over them - crosses into the workspace that holds it. Everything here is testable offline against a local server.

Re-exports§

pub use client::VaultClient;
pub use crypto::Unlocked;
pub use models::AttachmentMeta;
pub use models::Folder;
pub use models::Organization;
pub use models::Prelogin;
pub use models::Profile;
pub use models::SyncData;
pub use models::TokenResponse;
pub use models::TwoFactorCode;
use thiserror::Error; 🔒

Modules§

client
The Vaultwarden HTTP client. Stateless about auth: every authed call takes the access token the workspace’s VaultSession holds, so the session is the one owner of the tokens and the client can be shared across seats.
crypto
The unlock pipeline and the encryption primitives, on bitwarden-crypto.
models
The Vaultwarden wire shapes the connector reads and writes.

Enums§

VaultError
Everything the connector can fail with, named so the facade can branch on it without parsing strings. A 401 is the refresh trigger; a 404 names a missing item; a 429 carries the server’s retry hint.

Functions§

http_class 🔒