1. 什么是 Cookie 与本地存储
Cookie 是网站存储在您浏览器中的小段文本信息(通常 ≤ 4KB),在您下次访问时被发送回服务器。
本地存储(localStorage / sessionStorage)是一种容量更大、留存期更灵活的浏览器存储机制,通常被现代 Web 应用用作 Cookie 的替代或补充。
ExpoMate 同时使用这两种技术,但主要依赖 localStorage 存储您的登录状态(JWT 令牌),仅在少数情况下使用 Cookie。
2. 我们使用的存储清单
2.1 严格必要(Strictly Necessary · 不可关闭)
关闭这些会导致登录失效或核心功能无法使用。
| 名称 | 类型 | 第一方/第三方 | 用途 | 留存期 |
|---|---|---|---|---|
accessToken | localStorage | 第一方 | JWT 短期访问令牌 | 15 分钟(自动刷新) |
expomate_rt | Cookie(HttpOnly · Secure · SameSite=Lax) | 第一方 | 刷新令牌(JS 不可读 · 防 XSS 窃取 · 仅 /v1/auth/* 路径发送) | 30 天(可在「设置 → 安全」撤销) |
NEXT_LOCALE | Cookie | 第一方 | 您选择的界面语言(zh/en/ja/es) | 1 年 |
__Host-csrf | Cookie(HttpOnly · Secure) | 第一方 | CSRF 防护 | 浏览器关闭即清除 |
_session_id | sessionStorage | 第一方 | 临时会话标识 | 关闭浏览器即清除 |
2.2 功能性(Functional · 您可选择关闭)
关闭这些不影响登录,但部分体验会下降。
| 名称 | 类型 | 第一方/第三方 | 用途 | 留存期 |
|---|---|---|---|---|
expomate-ui-store | localStorage(Zustand persist) | 第一方 | UI 偏好(侧边栏折叠 / 视图切换 / 收藏夹排序) | 永久(您可清除浏览器数据) |
expomate-recent-searches | localStorage | 第一方 | 最近搜索关键词(本地缓存 · 不上传服务器) | 您可在「设置」清除 |
expomate-ai-prefs | localStorage | 第一方 | AI 偏好快照(您显式启用时) | 与账号同步 |
2.3 分析与改进(Analytics · 您可选择关闭)
帮助我们了解整体使用模式 · 不识别个人。
| 名称 | 类型 | 第一方/第三方 | 用途 | 留存期 |
|---|---|---|---|---|
expomate-analytics-id | sessionStorage | 第一方 | 匿名行为统计标识(改进推荐) | 单次会话 |
expomate-perf-marker | localStorage | 第一方 | 性能样本(页面加载耗时 P95 测量) | 7 天滚动 |
2.4 ❌ 我们不使用
- ❌ 第三方追踪 / 广告 Cookie(广告投放、跨站追踪、再营销)
- ❌ Google Analytics / Facebook Pixel / TikTok Pixel / 百度统计
- ❌ 浏览器指纹追踪 / canvas fingerprint
- ❌ 重定向追踪 · UTM 参数仅在单次访问内使用
- ❌ 与社交平台联动的"点赞像素"
- ❌ 跨站第三方 cookie(Cross-site / 3rd-party)
3. 第三方资源
我们的部分页面会加载以下第三方资源 · 这些第三方不会在 ExpoMate 域下设置追踪 Cookie:
| 第三方 | 加载内容 | 是否含 Cookie | 隐私政策 |
|---|---|---|---|
| Google Fonts | 字体文件(Space Grotesk / Inter) | 否(已配 CSP 限制) | https://policies.google.com/privacy |
| 阿里云 OSS | 图片 / 用户上传文件 | 否 | https://www.aliyun.com/policy |
| GitHub avatars | 头像(若您用 GitHub OAuth) | 由 GitHub 控制 · 我们不存 | https://docs.github.com/site-policy/privacy |
| Stripe(预留) | 付款页面 iframe | 由 Stripe 控制 · 仅付款时加载 | https://stripe.com/privacy |
我们启用任何新的第三方组件前,会:
- 至少提前 30 天在网站显著位置公告
- 通过邮件通知您
- 提供您选择拒绝的能力
4. 您的控制权
4.1 浏览器层面(全局)
您可以随时:
- 清除 ExpoMate 的所有存储:浏览器开发者工具 → Application(Storage)→ Clear site data
- 阻止本站 Cookie:浏览器隐私设置 → Cookie 管控
- 使用浏览器隐私 / 无痕模式访问
⚠️ 清除"严格必要"类存储会导致您需要重新登录,部分功能可能无法使用。
4.2 平台层面(账号粒度)
- 在「账号中心 → 通知偏好」可关闭部分行为统计
- 在「账号中心 → AI 设置」可关闭 AI 偏好共享
- 在「账号中心 → 安全 → 注销账号」会同步清除服务端数据
4.3 主流浏览器关闭路径
- Chrome / Edge:设置 → 隐私和安全 → Cookie 和其他网站数据
- Safari:偏好设置 → 隐私 → 阻止所有 Cookie
- Firefox:设置 → 隐私与安全 → 增强型跟踪保护
- 微信 / QQ 浏览器:扫码后右上角菜单 → 设置 → 清除浏览数据
4.4 Do Not Track / Global Privacy Control
我们尊重 GPC 信号(Sec-GPC: 1 HTTP 头):
- 检测到 GPC = 1 时,自动关闭 §2.3 的"分析与改进"类存储
- DNT(Do Not Track)header 我们不再单独处理(W3C 已弃用,GPC 替代)
5. 跨境传输
ExpoMate 主存储在中国大陆(阿里云华东)。
国际客户的部分必要 Cookie(如 NEXT_LOCALE)在您所在地浏览器本地处理,不会跨境。
详见 隐私政策 §6.2 跨境数据流。
6. 重大变更
我们启用任何新的追踪技术或新的第三方组件前,会:
- 至少提前 30 天在网站显著位置公告
- 通过您预留邮箱发送通知
- 给予您选择拒绝的能力
历史变更可在 /legal/cookie 查看版本号变迁。
7. 常见问题(FAQ)
Q1. 为什么我清空浏览器后还能登录?
A. ExpoMate 的"记住我"使用 refreshToken(30 天)+ accessToken(15 分钟自动刷新)。完全退出请使用「设置 → 安全 → 退出所有设备」。
Q2. 你们看得到我访问了哪些页面吗? A. 我们记录登录用户的访问日志(详见隐私政策 §1.2),用于安全风控和审计 · 不会卖给第三方 · 不会用于广告。匿名访问者(未登录)不写入用户日志。
Q3. 关闭 Cookie 后会发生什么? A. 严格必要类(§2.1)关闭后无法登录;功能性(§2.2)关闭后体验下降;分析类(§2.3)关闭无明显影响。
Q4. 为什么没有"接受全部 Cookie"弹窗? A. 我们不使用任何追踪类 Cookie,故无需"知情同意"弹窗。功能性 / 分析类存储仅在登录后启用 · 您可在「账号中心」关闭。
Q5. 我能要求删除你们的全部 Cookie 记录吗? A. 可以。「账号中心 → 安全 → 注销账号」会同步清除服务端记录(30 天内)+ 备份(90 天内)。详见隐私政策 §5.3。
8. 联系方式
如对本 Cookie 声明有疑问: