Skip to content
inkandswitchPublic

About

πŸ—οΈπŸβœ¨ Rust workspace for Keyhive and related crates

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

263 stars

Watchers

14 watching

Forks

Latest commit

Β 

History

246 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Keyhive πŸ— 🐝

Note

For background on this project, you can read the Ink & Switch Keyhive Dev Notebook.

πŸ¦€ This repo contains the Rust workspace for Keyhive and related crates

We're excited to announce that we're opening the pre-alpha code for the following libraries:

  • beekem: BeeKEM, a concurrent TreeKEM variant for continuous group key agreement
  • keyhive_codec: The canonical binary encoding traits shared by the other crates
  • keyhive_core: The core signing, encryption, and delegation system
  • keyhive_crypto: Shared cryptographic primitives (digests, signatures, key exchange)
  • keyhive_wasm: Wasm wrapper around keyhive_core, plus TypeScript bindings
  • keyline: The authority graph: delegation and revocation certificates, and the Keyline store interface
  • keyline_memory: The in-memory reference Keyline store

Auth-enabled sync over end-to-end encrypted data lives in a separate repository: Subduction (the successor to Beelay).

Warning

DO NOT use this release in production applications

This is an early preview for those curious about the project. Expect bugs, inconsistencies, and unstable APIs. The code has not had a security audit, and the nonce / key-commitment construction in design/ciphersuite.md has not been independently reviewed. See the threat model for what Keyhive does and does not defend against, and SECURITY.md for reporting issues.

Development

The repository ships a Nix flake with the complete toolchain:

nix develop            # dev shell; prints a `menu` of commands
nix run .#ci           # fast checks: fmt, clippy, tests, docs, wasm, deny, msrv, no_std
nix run .#ci-e2e       # Playwright tests against the Wasm build

Without Nix, rust-toolchain.toml pins the compiler and cargo test --workspace --exclude keyhive_wasm --features test_utils runs the host suite. Design documents are in design/. See CONTRIBUTING.md.

If you have any questions, thoughts, or feedback, please contact the team by filing a GitHub Issue, or in the keyhive channel in the Automerge Discord (if you're not part of the Automerge Discord you can join here).

About

πŸ—οΈπŸβœ¨ Rust workspace for Keyhive and related crates

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

263 stars

Watchers

14 watching

Forks

Releases

Packages

Used by

Contributors

Languages