文章

个人站点的隐私边界设计

个人站点不是把所有东西都搬上来的仓库。记录如何在公开分享与私人数据之间建立清晰的边界。

很多人建个人站点时会犯一个错误:把所有东西都放上去。私人笔记、阅读记录、待办事项、甚至密码管理器的链接——这些东西混在一起,既不方便分享,也不安全。更好的做法是在一开始就设计好隐私边界:什么可以公开,什么必须留在私人空间,两者之间的界线在哪里。

为什么隐私边界重要

个人站点的访客可能是同事、朋友、潜在雇主,也可能是完全陌生的人。你无法控制谁会访问你的站点,但你可以控制他们能看到什么。

更重要的是,隐私边界不是“隐藏”的问题,而是“信任”的问题。当你把私人阅读习惯、待办事项或个人笔记放在公开页面上时,你实际上是在把信任扩展到所有访客。这种信任往往是不必要的,也是危险的。

公开与私人的分类

在设计隐私边界时,首先需要对内容进行分类。以下是一个实用的分类框架:

公开内容

  • 文章和笔记:经过思考和编辑后发布的技术内容。
  • 项目介绍:已经公开的项目的描述和链接。
  • 相册:经过选择、确认适合公开的生活记录。
  • 关于页面:你愿意让陌生人知道的个人信息。

私人内容

  • 阅读记录:你读了什么、关注什么话题。
  • 待办事项:你计划做什么、正在处理什么。
  • 个人笔记:未经过编辑、不适合直接分享的想法。
  • 草稿:还在写作中的内容。

灰色地带

  • 评论:用户生成的内容,需要审核策略。
  • 搜索记录:用户在你站点上搜索了什么。
  • 分析数据:访客行为数据,需要匿名化处理。

技术实现

隐私边界的设计需要在多个层面实现:

数据层面

确保私人数据不进入公开的构建产物。在静态博客中,这意味着:

  • 私人数据不写入 Markdown 文件。
  • 构建脚本不读取私人数据源。
  • 环境变量中不暴露敏感信息。

路由层面

不同的路径承载不同的内容:

  • / 和 /posts/ 等路径是公开的。
  • /reader/app/ 等路径是私人的,需要认证。
  • API 端点需要适当的访问控制。

部署层面

部署流程需要确保:

  • 构建产物不包含私人数据。
  • 服务器配置不暴露私人路径。
  • 日志不记录敏感信息。

我的实践

在这个站点中,隐私边界的具体实现是:

  • 公开 Reader(/reader/)只展示经过筛选的标题、链接、来源和摘要。
  • 私人 FreshRSS(/reader/app/)保留完整的登录入口、私人订阅和管理能力。
  • 构建检查确保构建产物不包含访问凭据、私人订阅元数据或管理接口信息。
  • 外部链接使用独立、安全的新页面打开方式,公开页面不获得私人会话能力。

这条边界不是视觉上的隐藏,而是从数据读取、构建检查到部署流程都分别约束的真实边界。

持续维护

隐私边界不是一次性设计,而是需要持续维护的:

  • 新增内容时检查:每增加一种新内容,都需要判断它属于公开还是私人。
  • 定期审计:定期检查是否有私人数据意外进入了公开页面。
  • 更新策略:随着站点功能增加,隐私策略也需要相应更新。

接下来

隐私边界的核心不是限制分享,而是让分享更有意识。当你清楚地知道什么可以分享、什么不能分享时,分享的行为本身就变得更有价值。这个站点会在真实使用中继续生长,但内容与隐私的边界从第一天就保持清楚。

评论