Expand description
Collaboration layer for void
This module provides:
- Identity management (Ed25519 signing, X25519 encryption)
- ECIES encryption for key wrapping
- Contributor manifest for multi-user repositories
- PIN-based identity key encryption
- BIP-39 seed derivation for identity recovery
See docs/COLLABORATION.md for the collaboration design.
Re-exports§
pub use invite::is_invite_blob;pub use invite::parse_invite;pub use invite::Invite;pub use invite::INVITE_TYPE_V1;pub use manifest::Contributor;pub use manifest::Delegation;pub use manifest::KeyRotationRecord;pub use manifest::Manifest;pub use manifest::OwnerDelegation;pub use manifest::OwnershipRecord;pub use manifest::ReadKeyConfig;pub use manifest::delete_manifest;pub use manifest::detect_repo_mode;pub use manifest::load_manifest;pub use manifest::manifest_exists;pub use manifest::save_manifest;pub use manifest::RepoMode;pub use manifest::check_contributor_namespace_access;pub use manifest::check_write_access;pub use manifest::default_contributor_namespace;pub use manifest::AuthResult;pub use manifest::extract_signer;pub use manifest::verify_commit;pub use manifest::verify_commits;pub use manifest::verify_signature_only;pub use manifest::VerifyResult;
Modules§
- ecies
- ECIES operations — re-exported from void-crypto.
- identity
- Identity management — re-exported from void-crypto.
- invite
- Invite format for contributor onboarding.
- manifest
- Contributor manifest for multi-user collaboration.
- pin
- PIN-based identity key encryption — re-exported from void-crypto.
- seed
- BIP-39 seed derivation — re-exported from void-crypto.
Structs§
- Commit
Signature - Ed25519 signature over commit signable bytes (64 bytes).
- Contributor
Id - Full contributor identity combining signing and recipient public keys.
- Identity
- An identity containing signing, recipient, and optional Nostr keys
- Identity
Seed - BIP-39 seed bytes (64 bytes). Zeroed on drop.
- Nostr
PubKey - Secp256k1 x-only (schnorr) public key for Nostr transport (32 bytes).
- Nostr
Secret Key - Secp256k1 secret key for Nostr transport (32 bytes). Zeroed on drop.
- Parsed
Identity - Parsed identity containing public keys and optional username.
- Recipient
PubKey - X25519 public key for ECIES encryption (32 bytes).
- Recipient
Secret Key - X25519 secret key for ECIES decryption (32 bytes). Zeroed on drop.
- Signing
PubKey - Ed25519 public key for verifying signatures (32 bytes).
- Signing
Secret Key - Ed25519 secret key for signing (32 bytes). Zeroed on drop.
- Wrapped
Key - ECIES-wrapped key blob (variable length).
Enums§
- Identity
Error - Errors that can occur in identity operations
- Manifest
Parse Error - Error parsing key types from strings.
- PinError
- Errors during PIN encryption/decryption.
- Seed
Error - Errors during seed/mnemonic operations.
Functions§
- decrypt_
identity_ keys - Decrypt identity keys using a PIN.
- derive_
nostr_ key - Derive a secp256k1 Nostr secret key from an identity seed.
- derive_
recipient_ key - Derive an X25519 recipient secret key from an identity seed.
- derive_
repo_ owner_ key - Derive a per-repo Ed25519 owner signing key from an identity seed and repo ID.
- derive_
repo_ owner_ signing_ key - Derive a per-repo owner Ed25519 signing key from an identity seed and repo ID.
- derive_
signing_ key - Derive an Ed25519 signing secret key from an identity seed.
- encrypt_
identity_ keys - Encrypt signing, recipient, and Nostr keys using a PIN (v2 format).
- generate_
mnemonic - Generate a new 24-word BIP-39 mnemonic.
- mnemonic_
to_ seed - Convert a BIP-39 mnemonic phrase to a 64-byte seed.