Skip to main content

void_core/collab/
mod.rs

1//! Collaboration layer for void
2//!
3//! This module provides:
4//! - Identity management (Ed25519 signing, X25519 encryption)
5//! - ECIES encryption for key wrapping
6//! - Contributor manifest for multi-user repositories
7//! - PIN-based identity key encryption
8//! - BIP-39 seed derivation for identity recovery
9//!
10//! See `docs/COLLABORATION.md` for the collaboration design.
11
12pub mod ecies;
13pub mod identity;
14pub mod invite;
15pub mod manifest;
16pub mod pin;
17pub mod seed;
18
19// Re-export Identity
20pub use identity::{derive_repo_owner_signing_key, Identity, IdentityError, ParsedIdentity};
21
22// Re-export Seed types
23pub use seed::{
24    derive_nostr_key, derive_recipient_key, derive_repo_owner_key, derive_signing_key,
25    generate_mnemonic, mnemonic_to_seed, SeedError,
26};
27
28// Re-export PIN types
29pub use pin::{decrypt_identity_keys, encrypt_identity_keys, PinError};
30
31// Re-export Invite types
32pub use invite::{is_invite_blob, parse_invite, Invite, INVITE_TYPE_V1};
33
34// Re-export Manifest types
35pub use manifest::{
36    // Key types
37    CommitSignature, ContributorId, IdentitySeed, NostrPubKey, NostrSecretKey,
38    ParseError as ManifestParseError, RecipientPubKey, RecipientSecretKey, SigningPubKey,
39    SigningSecretKey, WrappedKey,
40    // Manifest types
41    Contributor, Delegation, KeyRotationRecord, Manifest, OwnerDelegation, OwnershipRecord,
42    ReadKeyConfig,
43    // I/O
44    delete_manifest, detect_repo_mode, load_manifest, manifest_exists, save_manifest, RepoMode,
45    // Policy
46    check_contributor_namespace_access, check_write_access, default_contributor_namespace,
47    AuthResult,
48    // Verification
49    extract_signer, verify_commit, verify_commits, verify_signature_only, VerifyResult,
50};