inkandswitch/keyhive

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

Rust

248

196 commits

updated Sep 22, 2026

See the code

README

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:

  • keyhive_core: The core signing, encryption, and delegation system
  • keyhive_crypto: Shared cryptographic primitives (digests, signatures, key exchange)
  • beekem: BeeKEM, a concurrent TreeKEM variant for continuous group key agreement
  • keyhive_wasm: Wasm wrapper around keyhive_core, plus TypeScript bindings

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).

authorization
capabilities
crdt
e2ee
end-to-end-encryption
local-first
synchronization

Contributors

expede

70 commits

jtfmumm

67 commits

alexjg

55 commits

zicklag

1 commits

inkandswitch/keyhive

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

Rust

248

196 commits

updated Sep 22, 2026

See the code

README

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:

  • keyhive_core: The core signing, encryption, and delegation system
  • keyhive_crypto: Shared cryptographic primitives (digests, signatures, key exchange)
  • beekem: BeeKEM, a concurrent TreeKEM variant for continuous group key agreement
  • keyhive_wasm: Wasm wrapper around keyhive_core, plus TypeScript bindings

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).

authorization
capabilities
crdt
e2ee
end-to-end-encryption
local-first
synchronization

Contributors

expede

70 commits

jtfmumm

67 commits

alexjg

55 commits

zicklag

1 commits

Languages

Rust

96.0%

Nix

1.9%

TypeScript

1.6%