# Configure Memory

> Create durable Agent memory with the right owner scope, Store, retention, and retrieval behavior.

## Before you begin {#before-you-begin}

Decide whose knowledge the Memory represents. This is the most important choice because Constal derives the physical partition from authenticated runtime authority. Choose **Session** for isolated conversations, **Principal** for one authenticated person or service, **Customer** for a downstream customer organization, or **Tenant** for shared tenant knowledge. You need permission to create Resources in the namespace.

## Steps {#steps}

1. Open **Memory → Memories** and choose **Create Memory**.
2. Enter a stable Memory ID. Agent manifests bind this identity, so prefer a purpose such as `customer-context`, `support-history`, or `product-knowledge`.
3. Choose the owner scope. Do not use Tenant scope for information that one customer or person must not read from another.
4. Choose a Memory Store. **Constal Memory** is available by default and needs no tenant Credential. A custom Store may require its own Credentials and access Policy.
5. Choose retention. Expiry applies to durable records and retrieval indexes. **Until deleted** requires an explicit delete or purge and should be used only when the data lifecycle permits it.
6. Choose **Hybrid** retrieval when exact names or identifiers matter alongside semantic meaning. Choose **Semantic** when meaning-based similarity is sufficient.
7. Review the default result count and minimum relevance score, then create the Memory.

## Verify {#verify}

Confirm that the new row shows the intended Scope, Store, Retention, and enabled status. Bind it to a test Agent, remember a disposable record with a stable idempotency key, then search using a related phrase. Verify that another session, principal, or customer cannot retrieve the record when the selected scope requires isolation.

## Next steps {#next-steps}

Continue with [Use Memory from an Agent](/docs/memory/use.md). If different owners need different Store connections, use an exact [scoped Resource binding](/docs/credentials/scoped-bindings) for the Store capability rather than accepting a Store address from Agent input.
