Expand description

Entity is an abstraction over Profiles and Vaults, easing the use of these primitives in authentication and authorization APIs.


Profile history


Profile changes with a given event identifier

Contact is an abstraction responsible for storing user’s public data (mainly - public keys). It is designed to share users’ public keys in cryptographically verifiable way. Public keys together with metadata are organised into verifiable events chain exactly like crate::Profile. There are two ways to get Contact:

Key change creation

Key change data creation

Builder for Entity

An identifier of a Profile.

Entity SecureChannel LocalInfo used for LocalMessage

Unique crate::ProfileChangeEvent identifier, computed as SHA256 of the event data

Attributes that are used to identify key

Individual change applied to profile. ProfileChangeEvent consists of one or more such changes

crate::Profiles are modified using change events mechanism. One event may have 1 or more ProfileChanges Proof is used to check whether this event comes from a party authorized to perform such updated Individual changes may include additional proofs, if needed

Profile implementation



Signature, its type and data


Meta-Attributes about a key

Possible types of crate::Profile changes

Types of proof signatures.


Entity SecureChannel LocalInfo unique Identifier



Traits required for a Vault implementation suitable for use in a Profile

Type Definitions