Retention Schedule

Last updated: July 2026

1. Purpose

This Retention Schedule describes how Chat4U retains and deletes visitor conversation data for projects that use the Chat4U chat widget or public demos. It supplements the Privacy Policy and applies when automated conversation retention is enabled platform-wide after a published cutover date.

2. What this schedule covers

This schedule applies to:

  • Widget chat conversations and messages stored in Chat4U databases
  • Public demo conversations and demo messages
  • Ephemeral Redis session keys (rate limits and Pro Agent active-turn guards) tied to a conversation session

This schedule does not cover:

  • Knowledge-base content (URL scrapes, uploaded files, indexed documents, crawl artifacts)
  • Lead capture records (subject to separate delivery and scrub rules)
  • Account, billing, workspace, or legal acceptance records
  • Provider-side logs or backups outside Chat4U's direct deletion control

3. Project retention choices

Each project owner or admin may choose one of the following inactivity retention periods for future conversations:

ChoicePeriod
Short30 days after last activity
Default90 days after last activity
Extended180 days after last activity
Long365 days after last activity

The default is 90 days when no other value is selected.

4. When retention applies

  • Retention applies only to conversations and demo conversations created on or after the platform-published cutover timestamp communicated by Chat4U.
  • Existing conversations created before the cutover are labeled legacy_no_auto_expiry and are not automatically deleted by this schedule. They remain until manually deleted by an authorized operator or through an approved privacy request workflow.
  • Changing a project's retention setting affects only conversations created after the change. Earlier conversations keep the retention days snapshot stored on the conversation row.

5. Inactivity anchor

  • Retention is measured from inactivity, not calendar creation alone.
  • The retention anchor (retention_anchor_at) is initialized to the conversation creation time so empty abandoned sessions do not persist indefinitely.
  • The anchor advances only when a user or assistant message is successfully committed to the database (after the message row is persisted). Reads, queue events, analytics, session restoration, SSE heartbeats, and tool heartbeats do not extend retention.

6. Automated deletion

When automated retention is enabled:

  1. Eligible scheduled conversations are selected in oldest-anchor order using database row locks to avoid duplicate work across workers.
  2. Conversations under an active legal hold are skipped.
  3. Deletion removes conversation-owned relational rows and best-effort ephemeral Redis keys. A content-free audit record is written.
  4. If a worker crashes mid-deletion, recovery resumes on the next daily retention run.

Automated deletion can be disabled platform-wide while preserving stamped retention metadata on conversations.

7. Legal holds

Authorized internal privacy operators may place a legal hold on a workspace, project, or individual conversation. Held conversations are not deleted by automated retention or routine privacy deletion until the hold is released.

8. Manual privacy rights

Data subjects may exercise access, export, correction, restriction, objection, or deletion rights through the manual process described in the Privacy Rights notice. Chat4U does not provide anonymous public self-service deletion in this release.

9. Backups and provider limitations

Chat4U RDS automated backup retention is configurable via infrastructure settings. The development Terraform default is 1 day; production deployments should set longer retention (for example 7+ days) where point-in-time recovery requires it.

Chat4U file and privacy-export buckets use S3 versioning. Standard object deletion (including privacy-export cleanup) removes the current object key but may leave prior versions until lifecycle rules or manual purge remove them.

Deletion from the live application database does not immediately erase all backup, versioned object-storage, provider-log, or recovery copies. Chat4U targets manual privacy fulfillment within 30 days where feasible and documents limitations in the privacy request record.

10. Contact

Privacy questions: privacy@chat4u.ai

English is the controlling language of this document. Version: 2026-07-data-lifecycle-v1. Immutable URL: /legal/retention/2026-07-data-lifecycle-v1. SHA-256: 8c6299b0aed95514230c5b9232854f92b427dde6757b328a84db723fe0386e1a.