# Storage

> Compose append-only history, leases, revisioned metadata, and immutable blobs behind stable contracts.

- Path: `Modules > Storage - Storage Interfaces`
- Human: https://looprig.com/docs/modules/storage
- Machine index: https://looprig.com/llms.txt

## Repository

| Field | Value |
| --- | --- |
| Repository | `github.com/looprig/storage` |
| Version | `v0.4.0` |
| GitHub | [looprig/storage](https://github.com/looprig/storage) |

## Description

Compose append-only history, leases, revisioned metadata, and immutable blobs behind stable contracts.

## Where it fits

Storage is useful on its own. Use it when a Go application needs stable interfaces for append-only records, leases, revisioned key-value data, and immutable blobs without committing to a particular backend.

Within Looprig, Storage provides the persistence contracts used by [Harness](/docs/modules/harness.md), [Workflows](/docs/modules/workflows.md), [Client](/docs/modules/client.md), and [Flow Store](/docs/modules/flow-store.md). Backend modules such as [FSStore](/docs/modules/fsstore.md), [NATSStore](/docs/modules/natsstore.md), and [RcloneStore](/docs/modules/rclonestore.md) implement selected parts of those contracts. Storage defines durable operations; higher-level runtimes decide what to persist.

## Dependencies

None.

## Dependents

- [Client](/docs/modules/client.md)
- [Flow Store](/docs/modules/flow-store.md)
- [FSStore](/docs/modules/fsstore.md)
- [Harness](/docs/modules/harness.md)
- [NATSStore](/docs/modules/natsstore.md)
- [RcloneStore](/docs/modules/rclonestore.md)
- [Workflows](/docs/modules/workflows.md)
