Memory is stored per team (tenant). Reads and writes are checked against your role, so one team never sees another team’s memory and one member never sees another member’s user memory. A request for something you cannot see answers the same way whether or not it exists.
Export
A team-wide agent token exports the team’s memory, optionally one scope or project. Anyone can export their own user memories.
overlane memory export --json
overlane memory export --scope user --user usr_1 --jsonThe export holds every item with provenance, plus promotions, unlearn records and the contribution setting.
Delete
Deleting a memory removes its content, its vector and every enrichment record derived from it. A memory’s author, the user it belongs to, or a team-wide agent token can delete it. Deleting confirmed or team memory, unlearning, and purging are the deletion safety class: an agent needs an independent agent or a person to approve first, in every autonomy mode (see Autonomy). A team can also be purged as a whole through the API (POST /v1/tenants/{tenantId}/memory/purge).
overlane memory delete mem_ab12 --forceUnlearn
Unlearn removes a memory and every memory derived from it, such as the team copy promoted from it, with their vectors and enrichment. A record of the action is kept (what was removed and by whom) without the content.
overlane memory unlearn mem_ab12 --forceWhen a member leaves
A user who leaves a team keeps their user memories (they move to their own account) and the team keeps team and project memories.
Background work
Search does not wait on a model. Search is lexical by default: your query is matched to the words in your memories with a deterministic score, and nothing is sent to a model. A team can turn on embedding re-rank (off by default); only then is a search query embedded, with a hosted embedding model, to re-order the results, and that call is metered per team. A memory’s text is embedded when it is stored so the option has vectors ready. Enrichment (keywords that make word matching better) runs afterwards in the background through a model and is metered per team. Neither is trained on your data.