https://github.com/bitwarden/credential-exchange
Rust implementation of Credential Exchange specification.
https://github.com/bitwarden/credential-exchange
Last synced: 7 months ago
JSON representation
Rust implementation of Credential Exchange specification.
- Host: GitHub
- URL: https://github.com/bitwarden/credential-exchange
- Owner: bitwarden
- License: mit
- Created: 2024-10-10T08:32:44.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-17T15:53:59.000Z (7 months ago)
- Last Synced: 2025-06-17T16:50:45.987Z (7 months ago)
- Language: Rust
- Homepage:
- Size: 159 KB
- Stars: 0
- Watchers: 16
- Forks: 6
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# Credential Exchange
Credential Exchange is a collection of Rust libraries for working with the
[Credential Exchange Specifications](https://fidoalliance.org/specifications-credential-exchange-specifications/).
For more information about the credential exchange protocol, please read the
[Bitwarden blog post](https://bitwarden.com/blog/security-vendors-join-forces-to-make-passkeys-more-portable-for-everyone/)
or the
[Fido Alliance announcement](https://fidoalliance.org/fido-alliance-publishes-new-specifications-to-promote-user-choice-and-enhanced-ux-for-passkeys/).
## Disclaimer
> [!CAUTION]
> This library does not automatically clear sensitive values from memory. It is heavily encouraged
> to use it alongside a zeroizing global allocator like
> [`zeroizing-alloc`](https://crates.io/crates/zeroizing-alloc). We may be open to pull requests
> that adds native `zeroize` support depending on the developer ergonomics.
> [!NOTE]
> This library is still in early development and as the specification evolves so will this library.
## Structure
It's currently comprised of the following crates:
- `credential-exchange-format`: Credential Exchange Format.
- `credential-exchange-protocol`: Credential Exchange Protocol.
- `credential-exchange`: Reserved crate for higher level abstractions.