Retention
How long conversations, the trash, usage history, memory notes and audit entries are kept, and what is always kept.
Data & storage → Retention (/admin/retention). Each value shows whether it was saved here, came from an environment variable, or is the built-in default.

| Setting | Default | What it does |
|---|---|---|
| Conversation retention | Off (keep forever) | Conversations inactive this long move to the trash. Keep pinned conversations exempts anything a person pinned. Shared conversations are not exempt; moving one to the trash revokes its links. |
| Trash retention | 30 days (1–365) | The recovery window before a deletion becomes permanent. |
| Usage history | 90 days | Per-message usage records. Daily totals are kept regardless. Records with unresolved usage are kept until resolved, except those of deleted accounts, which are pruned by age. |
| Memory retention | Off | Memory notes not updated this long are deleted by a daily job. |
| Audit log | 365 days | How long audit entries are kept. Check what your institution requires before shortening it. |
| Reporting timezone | UTC | Where a day starts and ends on the Usage page. Budgets reset on their own time zone. |
Retention runs as background jobs; System health lists their last runs, and Run starts one now after you change a setting.
Always kept
Access-control and security entries in the audit log are kept regardless of audit retention: account creation, edits and deletion; role changes, including bulk role, ban and unban; provider, connector and single sign-on changes; sign-in policy changes; webhook endpoint changes; backup and compliance export settings; and legal holds.
While the compliance export is on, audit entries it has not exported yet are kept too, so a short audit retention never opens a gap.
Unused conversations
A conversation that was started and never used (still New Chat, with no message, untouched for a day) is deleted by an hourly job. Pinned, archived, imported and temporary conversations are left alone. This isn't a setting: such a conversation holds nothing to keep. Each deletion is recorded as a deletion event with the reason unused_expiry.
Legal hold
People on legal hold are skipped by conversation, trash, memory, usage-history and audit retention and by share-link pruning, and their expired temporary chats and unused conversations are kept, until the hold is lifted.
Every deletion a retention job makes is recorded in the audit log as a deletion event, with no actor and the job as its reason.
Advice
- State your retention period in your acceptable use policy. Nobody thanks you for a short period they were not told about.
- Retention is easier to introduce early and shorten later than to impose on an instance where people have two years of work.
- Projects themselves are not subject to retention, but their conversations are. Imported conversations keep their original dates, so old imports can move to the trash at the next run.