注册阶段未通过邮箱验证码校验的用户数据应如何处理
未确认邮箱验证码的用户数据处理方案
两种方案没有绝对的对错,需要结合你的业务合规要求、产品场景决定,两类方案的适用场景、优缺点如下:
方案1:固定时限后删除(推荐绝大多数场景使用)
- 适用场景:无特殊审计、强风控需求的普通ToC/ToB产品
- 核心优势:
- 减少数据库冗余存储,避免大量
verified = false的无效数据占用存储资源,同时降低用户表的查询性能损耗 - 符合《个人信息保护法》、GDPR等全球通用的个人信息合规规则中「个人信息存储期限应为实现处理目的所必要的最短时间」的要求,规避不必要的合规风险
- 不会出现用户后续注册时,邮箱被未验证的僵尸账号占用的冲突问题
- 减少数据库冗余存储,避免大量
- 实现建议:
- 存储时长和邮箱验证码的有效期对齐即可,常规设置为24小时~7天,大多产品选择72小时
- 实现上可以给用户表新增
expire_at字段,要么通过定时任务周期扫描删除过期的未验证数据,要么直接开启数据库的TTL自动过期能力,不需要额外写业务逻辑
方案2:永久留存
- 适用场景:有强审计、特殊风控需求的金融、政务类等高监管要求业务
- 核心优势:可以完整留存用户的注册行为数据,后续排查批量恶意注册、薅羊毛等黑产行为时可以回溯数据
- 注意事项:
- 需要额外处理同邮箱重复注册的逻辑:用户用同一邮箱再次注册时,要么直接覆盖原有未验证账号的信息,要么提示该账号待验证,引导用户收信或者重发验证码
- 长期留存用户邮箱这类个人敏感信息,需要提前完成对应合规备案,避免触发数据合规问题
最佳实践:普通业务优先选择定时删除方案,若有风控需求可以将未验证用户的非敏感行为数据脱敏后同步到独立的日志系统留存,同时兼顾性能、合规、风控三类需求。
内容的提问来源于stack exchange,提问作者Napoleon Bonaparte
相关产品推荐
相关产品推荐

