Bitwarden Client Applications

repository·main·Indexed 12 days ago

https://github.com/bitwarden/clients

Documentation for Bitwarden's client-side ecosystem, including the web vault, browser extensions, desktop clients, and the Bitwarden CLI. Covers development for the Angular-based browser extension, native macOS passkey provider, Windows Chromium importer with Application Bound Encryption (ABE) bypass, the secure_memory crate for AES-256-GCM secret protection, and the Bitwarden SSH Agent.

Tokens
248.7K
Snippets
716
Records
1.6K
Agent score
95%

What's inside Bitwarden

  1. Overview of Bitwarden SSH Agent

    main

    The Bitwarden SSH Agent is a Desktop client feature that serves as a drop-in replacement for native SSH Agents. It uses the Bitwarden Vault for secure, encrypted storage of SSH keys, allowing users to manage keys via the UI and optionally approve signing requests through the interface.

    Supported Functionalities

    • Listing keys: Use ssh-add -L to display public keys and their names.
    • Request signing: Used for signing files, git commits, or authenticating with remote hosts.
    • Agent forwarding: Supports ssh -A to allow remote hosts to use your keys.

    Supported Key Types

    • Ed25519
    • RSA (SHA-256 and SHA-512)
    • ECDSA
  2. Overview of the Autofill Provider library

    main
    The autofill_provider is a library designed to allow native autofill providers (operating system frameworks or APIs, such as the macOS autofill framework) to interact with a host Bitwarden desktop application. It enables Bitwarden to provide user credentials for tasks like autofill and passkey operations directly through the operating system's native credential management systems.
  3. Overview of Bitwarden Send packages

    main

    Bitwarden Send functionality is split into two primary packages used to create and modify Sends:

    1. @bitwarden/send-core: The logic layer. It contains all types, models, and services required for Bitwarden Send. This package is a core dependency for the Bitwarden Web Vault, CLI, desktop application, and browser extension.
    2. @bitwarden/send-ui: The presentation layer. It contains the UI components used to render and interact with Bitwarden Send features.
  4. Overview of the @bitwarden/state framework

    main
    The @bitwarden/state package provides a State Provider Framework designed to allow state to be owned by specific domains while enforcing best practices. It reduces boilerplate associated with account switching and provides a trustworthy, observable stream of state throughout the application.
  5. Overview of the Bitwarden Component Library

    main

    The Bitwarden Component Library (CL) is a collection of reusable low-level Angular components designed to ensure consistent design, accessibility, and DOM hierarchy across different Bitwarden clients.

    Key characteristics:

    • Technology Stack: Built using Angular and powered by Tailwind CSS.
    • Usage: Primarily used in the web, browser, and desktop clients.
    • Standardization: Unlike CSS classes, these components standardize usage patterns and accessibility requirements.
    • Deprecation Note: Bootstrap is deprecated. Do not introduce any new Bootstrap code to any client applications.
  6. Overview of the UI Foundation libraries

    main
    The UI Foundation provides core UI libraries maintained by the UI Foundation team. The primary library available is _ui-common_, which provides low-level utilities specifically designed for Angular applications within the Bitwarden ecosystem.
  7. Overview of @bitwarden/vault-export-core

    main
    The @bitwarden/vault-export-core package provides the foundational types, models, and services required to export a user's or an organization's vault. It serves as the shared logic layer used across multiple Bitwarden client applications, including the Web Vault, CLI, desktop application, and browser extension.