API Reference / @evolu/common / Evolu/Internal / Owner
Interface: Owner
Defined in: packages/common/src/Evolu/Owner.ts:58
Owner
is an entity in Evolu that owns data, meaning it is locally stored on
a device under the user’s control. Data can be personal private, peer-to-peer
shared, or aggregated from multiple owners.
An owner has a Mnemonic from which OwnerId and EncryptionKey are deterministically derived using SLIP-21, and an optional WriteKey that, when present, enables writing to the Evolu Relay or peers. The WriteKey can be rotated.
Variants include AppOwner, ShardOwner, SharedOwner, and SharedReadonlyOwner, each with specific roles and properties detailed in their respective definitions.
Public-key cryptography isn’t included here as it belongs to data and varies by use case. An Evolu app without collaboration doesn’t need it, while a Nostr-like app can leverage Nostr NIPs, or a super-safe app can use post-quantum cryptography.
Extended by
Properties
Property | Modifier | Type | Defined in |
---|---|---|---|
createdAt | readonly | string & Brand <"DateIso" > | packages/common/src/Evolu/Owner.ts:60 |
encryptionKey | readonly | Uint8Array <ArrayBufferLike > & Brand <"Length32" > & Brand <"EncryptionKey" > | packages/common/src/Evolu/Owner.ts:62 |
id | readonly | string & Brand <"Id" > & Brand <"OwnerId" > | packages/common/src/Evolu/Owner.ts:61 |
mnemonic | readonly | string & Brand <"Trimmed" > & Brand <"MinLength1" > & Brand <"Mnemonic" > | packages/common/src/Evolu/Owner.ts:59 |
writeKey | readonly | Uint8Array <ArrayBufferLike > & Brand <`Length${number & Brand<"Int"> & Brand<"NonNegative">}` > & Brand <"WriteKey" > | packages/common/src/Evolu/Owner.ts:63 |