数据保留与删除

“数据会不会被删/能留多久”取决于数据种类:消息、离线队列、聊天室状态、设备 token、推送/回调日志、审计记录各有不同生命周期。本页给出当前实现的保留规则与删除接口,便于做合规评估与用户协议。

保留规则​

数据保留 / 过期删除方式
单聊/群聊消息持久化保存,无自动 TTLmessage.history.clean(清理历史)/ message.history.delete
离线队列每会话最多 500 条;投递后清理自动
聊天室消息不落离线历史;仅在线广播随会话消失(无历史可删)
聊天室状态(KV/禁言/白名单/封禁)随房间销毁清理;KV 可带 ttlMs 惰性过期chatroom.destroy
聊天室空闲销毁默认 1800000ms(30 分钟);保活 3 个月自动(idle/fixed 策略)
设备推送 token每用户最近 100 条历史(软删除 active=false);活跃上限 20DELETE …/push/tokens/{tokenId}
推送投递记录每应用最近 5000 条(维护周期淘汰)自动
回调投递日志按维护周期保留(retentionTruncated 标记截断)自动 / 手动重试不改变保留
审核任务环形上限 2000 条自动淘汰
操作审计日志按维护周期保留(控制台「操作日志」)仅追加,不提供逐条删除
用户资料注销保留记录(禁止登录/收发);删除为物理删除user.deactivate / user.delete
已撤回消息内容替换为 recall 占位,原内容不再返回—(撤回即替换)

用户注销 / 删除 / 恢复​

操作接口行为
注销user.deactivate禁止登录与收发;既有 token 失效;保留记录以便审计/恢复;触发 user.deactivated 回调
恢复user.reactivate恢复可用;触发 user.reactivated
物理删除user.delete删除用户与相关状态;开发/测试环境使用;生产建议注销而非删除
批量清理消息message.history.clean按会话/时间清理;可只清理某用户视角;触发 message.deleted
清理单条message.history.delete删除单条消息(合规删除场景)
删除不是“摘掉索引”

删除接口会移除消息/用户数据,且不可恢复;审计日志与投递记录是独立数据面,不会随之级联删除。

合规要求“可删除”时,需要同时覆盖:IM 消息、业务库副本、搜索引擎/数仓副本、日志与备份;IM 侧删除只是其中一环。

隐私协议建议条目​

  • 收集范围:userId、昵称、头像 URL、消息内容、设备推送 token、连接与操作日志。
  • 用途:消息投递、离线通知、内容安全、故障排查与计费/统计。
  • 保留期限:消息按业务配置;日志按运维周期;注销用户保留期与删除方式。
  • 第三方:应用自建的 webhook、RTC、翻译等外部服务的数据流向需单独声明。
  • 用户权利:查询、更正、注销、删除的入口与时限。

相关页面​