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

PropertyModifierTypeDefined in
createdAtreadonlystring & Brand<"DateIso">packages/common/src/Evolu/Owner.ts:60
encryptionKeyreadonlyUint8Array<ArrayBufferLike> & Brand<"Length32"> & Brand<"EncryptionKey">packages/common/src/Evolu/Owner.ts:62
idreadonlystring & Brand<"Id"> & Brand<"OwnerId">packages/common/src/Evolu/Owner.ts:61
mnemonicreadonlystring & Brand<"Trimmed"> & Brand<"MinLength1"> & Brand<"Mnemonic">packages/common/src/Evolu/Owner.ts:59
writeKeyreadonlyUint8Array<ArrayBufferLike> & Brand<`Length${number & Brand<"Int"> & Brand<"NonNegative">}`> & Brand<"WriteKey">packages/common/src/Evolu/Owner.ts:63

Was this page helpful?