nysiris-core 0.1.4

Shared primitives for Nysiris native clients: identity, message framing, crypto, contacts, and transport traits.
Documentation

nysiris-core

crates.io docs.rs

Shared primitives for Nysiris-native chat clients and services: identities, signed direct-message envelopes, message framing, contacts, capability-key rooms, transport traits, and sealed files.

Part of the Nysiris-Core workspace. That repository depends on neither Nysiris nor NCC; both consume it. There is no chat service, no server-side message store, and no SQLite.

Install

[dependencies]
nysiris-core = "0.1"

What you get

  • ChatIdentity — ed25519 identity with X25519 key agreement.
  • SealedDm and DM_AAD — ephemeral DH, BLAKE2b-256 KDF, XChaCha20-Poly1305.
  • DmInner and pack_dm_inner — signed inner envelope bound to from, to, ts, msgId, and body.
  • Group and GroupMember — capability-key rooms with signed invites, a 16-member cap, and MAX_GROUP_NAME_CHARS.
  • Contact, ChatMessage, Direction, MessageState, conversation summaries, and MAX_BODY_BYTES.
  • Transport and SentPayload — the trait every transport implements. nysiris-testkit ships an in-memory fake; nysiris-transport-nym ships the real Nym adapter.
  • sealed_file — encrypted local file helpers, used by the history crate.
  • ids and error — conversation ids and the shared CoreError/Result.

Related crates

Crate Purpose
nysiris-chat-core 1:1 and room chat engine built on this crate
nysiris-chat-history Encrypted append-only local history
nysiris-transport-nym Nym transport behind a nym feature
nysiris-testkit In-memory transport for tests

Security

Experimental protocol code that has not had an independent audit. Do not treat the DM, room, or history constructions as audited production cryptography. Report vulnerabilities privately through SECURITY.md, never in a public issue. Never log or persist message content, keys, or contact lists in the clear.

License

Apache-2.0. See LICENSE.