[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › local‑first/Owner

Owner identity and cryptographic key derivation.

## Functions

| Function                                                                                                                                            | Description                                                                                                                                                                                                                          |
| --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [createAppOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/functions/createAppOwner)                                                         | Creates an [AppOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/AppOwner) from an [OwnerSecret](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerSecret).                                           |
| [createOwnerSecret](https://evolu.dev/docs/api-reference/common/local-first/Owner/functions/createOwnerSecret)                                                   | Creates a [OwnerSecret](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerSecret).                                                                                                                                     |
| [createOwnerWebSocketTransport](https://evolu.dev/docs/api-reference/common/local-first/Owner/functions/createOwnerWebSocketTransport)                           | Creates an [OwnerWebSocketTransport](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/OwnerWebSocketTransport) for the given relay URL and [OwnerId](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerId). |
| [createOwnerWriteKey](https://evolu.dev/docs/api-reference/common/local-first/Owner/functions/createOwnerWriteKey)                                               | Creates a new random [OwnerWriteKey](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerWriteKey) for rotation.                                                                                                         |
| [createShardOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/functions/createShardOwner)                                                     | Creates a [ShardOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/ShardOwner) from an [OwnerSecret](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerSecret).                                        |
| [createSharedOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/functions/createSharedOwner)                                                   | Creates a [SharedOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/SharedOwner) from an [OwnerSecret](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerSecret) for collaborative write access.       |
| [createSharedReadonlyOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/functions/createSharedReadonlyOwner)                                   | Creates a [SharedReadonlyOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/SharedReadonlyOwner) from a [SharedOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/SharedOwner).                      |
| [deriveShardOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/functions/deriveShardOwner)                                                     | Derives a [ShardOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/ShardOwner) from an [AppOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/AppOwner) using the specified path.                    |
| [mnemonicToOwnerSecret](https://evolu.dev/docs/api-reference/common/local-first/Owner/functions/mnemonicToOwnerSecret)                                           | Converts a [Mnemonic](https://evolu.dev/docs/api-reference/common/Type/variables/Mnemonic) to an [OwnerSecret](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerSecret).                                                           |
| [ownerIdBytesToOwnerId](https://evolu.dev/docs/api-reference/common/local-first/Owner/functions/ownerIdBytesToOwnerId)                                           | Converts [OwnerIdBytes](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerIdBytes) to [OwnerId](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerId).                                                   |
| [ownerIdToOwnerIdBytes](https://evolu.dev/docs/api-reference/common/local-first/Owner/functions/ownerIdToOwnerIdBytes)                                           | Converts [OwnerId](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerId) to [OwnerIdBytes](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerIdBytes).                                                   |
| [ownerSecretToMnemonic](https://evolu.dev/docs/api-reference/common/local-first/Owner/functions/ownerSecretToMnemonic)                                           | Converts an [OwnerSecret](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerSecret) to a [Mnemonic](https://evolu.dev/docs/api-reference/common/Type/variables/Mnemonic).                                                           |
| [parseOwnerIdFromOwnerWebSocketTransportUrl](https://evolu.dev/docs/api-reference/common/local-first/Owner/functions/parseOwnerIdFromOwnerWebSocketTransportUrl) | Extracts [OwnerId](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerId) from an [OwnerWebSocketTransport](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/OwnerWebSocketTransport) URL query string.      |

## Interfaces

| Interface                                                                                                      | Description                                                                                                                                                                                                                                                                                                                                                                        |
| -------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [AppOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/AppOwner)                               | The AppOwner represents the application owner. It's created using a cryptographically secure random generator or derived from an external source, e.g., mnemonic stored securely in a hardware device.                                                                                                                                                                             |
| [DeviceAppOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/DeviceAppOwner)                   | An [AppOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/AppOwner) for encrypting device-only data.                                                                                                                                                                                                                                                               |
| [Owner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/Owner)                                     | The Owner represents ownership of data in Evolu. Every database change is assigned to an owner and encrypted with its [OwnerEncryptionKey](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerEncryptionKey). Owners allow partial sync, only the [AppOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/AppOwner) is synced by default.              |
| [OwnerError](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/OwnerError)                           | Common interface implemented by all owner domain errors.                                                                                                                                                                                                                                                                                                                           |
| [OwnerUsage](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/OwnerUsage)                           | Usage data for an [OwnerId](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerId).                                                                                                                                                                                                                                                                                   |
| [OwnerWebSocketTransport](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/OwnerWebSocketTransport) | WebSocket transport configuration.                                                                                                                                                                                                                                                                                                                                                 |
| [ReadonlyOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/ReadonlyOwner)                     | [Owner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/Owner) without a [OwnerWriteKey](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerWriteKey).                                                                                                                                                                                                    |
| [ShardOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/ShardOwner)                           | An [Owner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/Owner) for sharding data.                                                                                                                                                                                                                                                                                   |
| [SharedOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/SharedOwner)                         | An [Owner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/Owner) for collaborative data with write access.                                                                                                                                                                                                                                                            |
| [SharedReadonlyOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/SharedReadonlyOwner)         | Read-only version of a [SharedOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/SharedOwner) for data sharing. Contains only the [OwnerId](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerId) and [EncryptionKey](https://evolu.dev/docs/api-reference/common/Crypto/variables/EncryptionKey) needed for others to read the shared data without write access. |
| [SyncOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/SyncOwner)                             | An [ReadonlyOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/ReadonlyOwner) or [Owner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/Owner) with non-empty [OwnerTransport](https://evolu.dev/docs/api-reference/common/local-first/Owner/type-aliases/OwnerTransport)s so it can be synced.                                                                    |

## Type Aliases

| Type Alias                                                                                             | Description                                                                                                                                                                                                                                                                           |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [OwnerEncryptionKey](https://evolu.dev/docs/api-reference/common/local-first/Owner/type-aliases/OwnerEncryptionKey) | Symmetric encryption key for [Owner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/Owner) data protection.                                                                                                                                                              |
| [OwnerId](https://evolu.dev/docs/api-reference/common/local-first/Owner/type-aliases/OwnerId)                       | OwnerId is a branded [Id](https://evolu.dev/docs/api-reference/common/Type/variables/Id) that uniquely identifies an [Owner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/Owner).                                                                                                   |
| [OwnerIdBytes](https://evolu.dev/docs/api-reference/common/local-first/Owner/type-aliases/OwnerIdBytes)             | Bytes representation of [OwnerId](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerId).                                                                                                                                                                                |
| [OwnerSecret](https://evolu.dev/docs/api-reference/common/local-first/Owner/type-aliases/OwnerSecret)               | 32 bytes of cryptographic entropy used to derive [Owner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/Owner) keys.                                                                                                                                                     |
| [OwnerTransport](https://evolu.dev/docs/api-reference/common/local-first/Owner/type-aliases/OwnerTransport)         | Transport configuration for connecting to relays.                                                                                                                                                                                                                                     |
| [OwnerWriteKey](https://evolu.dev/docs/api-reference/common/local-first/Owner/type-aliases/OwnerWriteKey)           | A secure token for write operations. It's derived from [OwnerSecret](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerSecret) by default and can be rotated via [createOwnerWriteKey](https://evolu.dev/docs/api-reference/common/local-first/Owner/functions/createOwnerWriteKey). |

## Variables

| Variable                                                                                              | Description                                                                                                                                                                                                                                                                           |
| ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [OwnerEncryptionKey](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerEncryptionKey)   | Symmetric encryption key for [Owner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/Owner) data protection.                                                                                                                                                              |
| [OwnerId](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerId)                         | OwnerId is a branded [Id](https://evolu.dev/docs/api-reference/common/Type/variables/Id) that uniquely identifies an [Owner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/Owner).                                                                                                   |
| [OwnerIdBytes](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerIdBytes)               | Bytes representation of [OwnerId](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerId).                                                                                                                                                                                |
| [OwnerSecret](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerSecret)                 | 32 bytes of cryptographic entropy used to derive [Owner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/Owner) keys.                                                                                                                                                     |
| [OwnerWriteKey](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerWriteKey)             | A secure token for write operations. It's derived from [OwnerSecret](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerSecret) by default and can be rotated via [createOwnerWriteKey](https://evolu.dev/docs/api-reference/common/local-first/Owner/functions/createOwnerWriteKey). |
| [ownerWriteKeyLength](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/ownerWriteKeyLength) | -                                                                                                                                                                                                                                                                                     |
| [testAppOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/testAppOwner)               | Deterministic [AppOwner](https://evolu.dev/docs/api-reference/common/local-first/Owner/interfaces/AppOwner) for tests.                                                                                                                                                                             |
| [testOwnerSecret](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/testOwnerSecret)         | Deterministic [OwnerSecret](https://evolu.dev/docs/api-reference/common/local-first/Owner/variables/OwnerSecret) for tests.                                                                                                                                                                        |