1. 我们收集哪些信息
1.1 你主动提供的
- 邮箱地址:用于账户登录、邮箱验证、密码重置、安全通知。
- 密码:使用 argon2id 算法加盐哈希后存储,明文不会被记录或传输给任何第三方。
- 上传的文件内容:HTML / Markdown / TXT 文件本体及其文件名、大小。
- 显示名(可选):你在账户设置里自定义的名称。
1.2 自动收集的
- 请求 IP 地址:仅保留 /24(IPv4)或 /48(IPv6)前缀,用于异常访问检测与限流。完整 IP 不会落入数据库。
- User-Agent / Referer:仅在分享链接的访问日志中记录,截断至 256 字符。
- 会话 Cookie:iron-session 签名加密 cookie,仅含会话 ID,HttpOnly + Secure(生产)。
- 分享密码尝试结果:仅记录"通过 / 失败"布尔值,不记录尝试的密码本身。
1.3 我们不收集
- 位置信息(GPS / 蓝牙)
- 设备指纹(Canvas / WebGL / 字体)
- 跨站第三方 cookie
- 来自任何第三方追踪服务的画像数据
2. 我们如何使用信息
- 提供托管、分享、访问统计等核心功能
- 反病毒扫描(文件上传后将其内容流式发送至本地 ClamAV 引擎检测病毒签名;文件不会被外传)
- 账户安全(登录失败锁定、设备会话审计)
- 合规响应(如收到合法的执法机关请求)
我们不会将你的内容或个人信息用于广告定向、模型训练, 也不会未经你同意出售或转让给任何第三方。
3. 数据保留期
| 数据类型 | 保留期 |
|---|---|
| 账户基本信息 | 账户存续期间;注销后软删除 30 天再彻底清除 |
| 上传文件(活跃) | 由你主动删除或随账户清理 |
| 上传文件(回收站) | 30 天后永久删除 |
| 分享访问日志 | 每条分享保留最近 100 条;超出后老条目自动清理 |
| 邮件验证 / 密码重置 token | 30 分钟有效期;过期或一次性使用后立即作废 |
| 会话记录 | 至会话过期或主动登出 |
| 违规举报 | 处理完成后保留 90 天用于审计 |
4. 数据安全
- 密码:argon2id(M1-A 已升级,旧 bcrypt 用户登录时透明升级)
- 会话:iron-session 加密 cookie,HttpOnly + SameSite=Lax;主域与渲染域使用独立 origin,保证渲染域永远拿不到主域 cookie
- 传输:生产环境强制 HTTPS(demo 环境另行说明)
- 限流:Redis 后端的 INCR/PEXPIRE per-IP / per-endpoint 桶
- 错误监控:Sentry(已脱敏敏感字段如 password / cookie / authorization)
5. Cookie 用途
| Cookie | 用途 | 有效期 |
|---|---|---|
pd_session | 登录会话 | 会话期 |
pd_pw_<token> | 记住该分享已通过的密码校验 | 30 分钟 |
我们不使用任何第三方追踪 cookie 或像素。
6. 你的权利
- 查询 / 导出:通过控制台查看你的全部文件、分享、访问日志。如需打包导出,请联系下文邮箱。
- 更正:账户邮箱、密码、显示名可在控制台自助修改。
- 删除:随时删除文件 / 撤销分享 / 注销账户。注销后 30 天内若反悔可联系客服恢复,30 天后所有数据永久销毁不可恢复。
- 拒绝:你可以拒绝提供非必要信息,但这可能会影响你使用部分功能。
7. 未成年人
本服务面向 [待法务确定的年龄阈值] 岁以上用户。未成年人应在法定监护人指导下使用, 监护人对未成年人的使用行为承担监护责任。如发现未成年用户存在违规上传, 我们将立即下架内容并暂停账户。
8. 数据存储地点与跨境传输
当前所有用户数据存储于 [待运维确定的机房 / 区域]。 不存在主动跨境传输。若未来开展跨境部署,将在本政策更新后再实施,并在控制台显著位置告知。
9. 第三方依赖
- 反病毒扫描:ClamAV(部署在本地容器内,不上传文件外发)
- 错误监控:Sentry(仅采集异常堆栈与请求 ID,已脱敏个人信息)
- 邮件投递:本地 outbox(demo)/ [生产使用的 SMTP / SES / Resend 等]
10. 政策更新
本政策更新会在站内公告并通过邮件通知主要变更点。 生效日期以本页顶部"生效日期"为准。
11. 联系方式
如对本政策有疑问或需要行使上述权利,请联系[待法务确定的隐私邮箱]。