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

Encrypted storage layer for local-first data.

## Functions

| Function                                                                                                                    | Description                                                                                                                    |
| --------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| [createBaseSqliteStorage](https://evolu.dev/docs/api-reference/common/local-first/Storage/functions/createBaseSqliteStorage)             | Creates a [BaseSqliteStorage](https://evolu.dev/docs/api-reference/common/local-first/Storage/interfaces/BaseSqliteStorage) implementation. |
| [createBaseSqliteStorageTables](https://evolu.dev/docs/api-reference/common/local-first/Storage/functions/createBaseSqliteStorageTables) | -                                                                                                                              |
| [getOwnerUsage](https://evolu.dev/docs/api-reference/common/local-first/Storage/functions/getOwnerUsage)                                 | Retrieves usage information for an owner from the evolu_usage table.                                                           |
| [getTimestampByIndex](https://evolu.dev/docs/api-reference/common/local-first/Storage/functions/getTimestampByIndex)                     | -                                                                                                                              |
| [getTimestampInsertStrategy](https://evolu.dev/docs/api-reference/common/local-first/Storage/functions/getTimestampInsertStrategy)       | Determines the insertion strategy for a timestamp based on its position relative to the current first and last timestamps.     |
| [testCreateCrdtMessage](https://evolu.dev/docs/api-reference/common/local-first/Storage/functions/testCreateCrdtMessage)                 | Test helper for creating a simple [CrdtMessage](https://evolu.dev/docs/api-reference/common/local-first/Storage/interfaces/CrdtMessage).    |
| [timestampBytesToFingerprint](https://evolu.dev/docs/api-reference/common/local-first/Storage/functions/timestampBytesToFingerprint)     | -                                                                                                                              |
| [updateOwnerUsage](https://evolu.dev/docs/api-reference/common/local-first/Storage/functions/updateOwnerUsage)                           | Updates timestamp bounds in evolu_usage table.                                                                                 |

## Interfaces

| Interface                                                                                                          | Description                                                                                                                                                                                                                                               |
| ------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [BaseRange](https://evolu.dev/docs/api-reference/common/local-first/Storage/interfaces/BaseRange)                               | -                                                                                                                                                                                                                                                         |
| [BaseSqliteStorage](https://evolu.dev/docs/api-reference/common/local-first/Storage/interfaces/BaseSqliteStorage)               | Common interface for both client and relay SQLite storages.                                                                                                                                                                                               |
| [BaseSqliteStorageDep](https://evolu.dev/docs/api-reference/common/local-first/Storage/interfaces/BaseSqliteStorageDep)         | -                                                                                                                                                                                                                                                         |
| [CrdtMessage](https://evolu.dev/docs/api-reference/common/local-first/Storage/interfaces/CrdtMessage)                           | A CRDT message combining a unique [Timestamp](https://evolu.dev/docs/api-reference/common/local-first/Timestamp/variables/Timestamp) with a [DbChange](https://evolu.dev/docs/api-reference/common/local-first/Storage/variables/DbChange).                                         |
| [DbChange](https://evolu.dev/docs/api-reference/common/local-first/Storage/interfaces/DbChange)                                 | A DbChange is a change to a table row. Together with a unique [Timestamp](https://evolu.dev/docs/api-reference/common/local-first/Timestamp/variables/Timestamp), it forms a [CrdtMessage](https://evolu.dev/docs/api-reference/common/local-first/Storage/interfaces/CrdtMessage). |
| [EncryptedCrdtMessage](https://evolu.dev/docs/api-reference/common/local-first/Storage/interfaces/EncryptedCrdtMessage)         | An encrypted [CrdtMessage](https://evolu.dev/docs/api-reference/common/local-first/Storage/interfaces/CrdtMessage).                                                                                                                                                    |
| [FingerprintRange](https://evolu.dev/docs/api-reference/common/local-first/Storage/interfaces/FingerprintRange)                 | -                                                                                                                                                                                                                                                         |
| [SkipRange](https://evolu.dev/docs/api-reference/common/local-first/Storage/interfaces/SkipRange)                               | -                                                                                                                                                                                                                                                         |
| [Storage](https://evolu.dev/docs/api-reference/common/local-first/Storage/interfaces/Storage)                                   | Evolu Storage.                                                                                                                                                                                                                                            |
| [StorageConfig](https://evolu.dev/docs/api-reference/common/local-first/Storage/interfaces/StorageConfig)                       | -                                                                                                                                                                                                                                                         |
| [StorageDep](https://evolu.dev/docs/api-reference/common/local-first/Storage/interfaces/StorageDep)                             | -                                                                                                                                                                                                                                                         |
| [StorageQuotaError](https://evolu.dev/docs/api-reference/common/local-first/Storage/interfaces/StorageQuotaError)               | Error when storage or billing quota is exceeded.                                                                                                                                                                                                          |
| [TimestampsRange](https://evolu.dev/docs/api-reference/common/local-first/Storage/interfaces/TimestampsRange)                   | -                                                                                                                                                                                                                                                         |
| [ValidDbChangeValuesError](https://evolu.dev/docs/api-reference/common/local-first/Storage/interfaces/ValidDbChangeValuesError) | -                                                                                                                                                                                                                                                         |

## Type Aliases

| Type Alias                                                                                                                       | Description                                                                                                                                                                                                                                           |
| -------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [DbChangeValues](https://evolu.dev/docs/api-reference/common/local-first/Storage/type-aliases/DbChangeValues)                                 | -                                                                                                                                                                                                                                                     |
| [EncryptedDbChange](https://evolu.dev/docs/api-reference/common/local-first/Storage/type-aliases/EncryptedDbChange)                           | Encrypted DbChange                                                                                                                                                                                                                                    |
| [Fingerprint](https://evolu.dev/docs/api-reference/common/local-first/Storage/type-aliases/Fingerprint)                                       | A cryptographic hash used for efficiently comparing collections of [TimestampBytes](https://evolu.dev/docs/api-reference/common/local-first/Timestamp/variables/TimestampBytes)es.                                                                                 |
| [InfiniteUpperBound](https://evolu.dev/docs/api-reference/common/local-first/Storage/type-aliases/InfiniteUpperBound)                         | -                                                                                                                                                                                                                                                     |
| [Range](https://evolu.dev/docs/api-reference/common/local-first/Storage/type-aliases/Range)                                                   | -                                                                                                                                                                                                                                                     |
| [RangeType](https://evolu.dev/docs/api-reference/common/local-first/Storage/type-aliases/RangeType)                                           | -                                                                                                                                                                                                                                                     |
| [RangeUpperBound](https://evolu.dev/docs/api-reference/common/local-first/Storage/type-aliases/RangeUpperBound)                               | Union type for Range's upperBound: either a [TimestampBytes](https://evolu.dev/docs/api-reference/common/local-first/Timestamp/variables/TimestampBytes) or [InfiniteUpperBound](https://evolu.dev/docs/api-reference/common/local-first/Storage/variables/InfiniteUpperBound). |
| [SqliteStorageDeps](https://evolu.dev/docs/api-reference/common/local-first/Storage/type-aliases/SqliteStorageDeps)                           | -                                                                                                                                                                                                                                                     |
| [StorageInsertTimestampStrategy](https://evolu.dev/docs/api-reference/common/local-first/Storage/type-aliases/StorageInsertTimestampStrategy) | -                                                                                                                                                                                                                                                     |
| [ValidDbChangeValues](https://evolu.dev/docs/api-reference/common/local-first/Storage/type-aliases/ValidDbChangeValues)                       | -                                                                                                                                                                                                                                                     |

## Variables

| Variable                                                                                                | Description                                                                                                                                                                                                                                               |
| ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [DbChange](https://evolu.dev/docs/api-reference/common/local-first/Storage/variables/DbChange)                       | A DbChange is a change to a table row. Together with a unique [Timestamp](https://evolu.dev/docs/api-reference/common/local-first/Timestamp/variables/Timestamp), it forms a [CrdtMessage](https://evolu.dev/docs/api-reference/common/local-first/Storage/interfaces/CrdtMessage). |
| [DbChangeValues](https://evolu.dev/docs/api-reference/common/local-first/Storage/variables/DbChangeValues)           | -                                                                                                                                                                                                                                                         |
| [fingerprintSize](https://evolu.dev/docs/api-reference/common/local-first/Storage/variables/fingerprintSize)         | -                                                                                                                                                                                                                                                         |
| [InfiniteUpperBound](https://evolu.dev/docs/api-reference/common/local-first/Storage/variables/InfiniteUpperBound)   | -                                                                                                                                                                                                                                                         |
| [RangeType](https://evolu.dev/docs/api-reference/common/local-first/Storage/variables/RangeType)                     | -                                                                                                                                                                                                                                                         |
| [ValidDbChangeValues](https://evolu.dev/docs/api-reference/common/local-first/Storage/variables/ValidDbChangeValues) | -                                                                                                                                                                                                                                                         |
| [zeroFingerprint](https://evolu.dev/docs/api-reference/common/local-first/Storage/variables/zeroFingerprint)         | A fingerprint of an empty range.                                                                                                                                                                                                                          |