很多人建个人站点时会犯一个错误:把所有东西都放上去。私人笔记、阅读记录、待办事项、甚至密码管理器的链接——这些东西混在一起,既不方便分享,也不安全。更好的做法是在一开始就设计好隐私边界:什么可以公开,什么必须留在私人空间,两者之间的界线在哪里。
为什么隐私边界重要
个人站点的访客可能是同事、朋友、潜在雇主,也可能是完全陌生的人。你无法控制谁会访问你的站点,但你可以控制他们能看到什么。
更重要的是,隐私边界不是“隐藏”的问题,而是“信任”的问题。当你把私人阅读习惯、待办事项或个人笔记放在公开页面上时,你实际上是在把信任扩展到所有访客。这种信任往往是不必要的,也是危险的。
公开与私人的分类
在设计隐私边界时,首先需要对内容进行分类。以下是一个实用的分类框架:
公开内容
- 文章和笔记:经过思考和编辑后发布的技术内容。
- 项目介绍:已经公开的项目的描述和链接。
- 相册:经过选择、确认适合公开的生活记录。
- 关于页面:你愿意让陌生人知道的个人信息。
私人内容
- 阅读记录:你读了什么、关注什么话题。
- 待办事项:你计划做什么、正在处理什么。
- 个人笔记:未经过编辑、不适合直接分享的想法。
- 草稿:还在写作中的内容。
灰色地带
- 评论:用户生成的内容,需要审核策略。
- 搜索记录:用户在你站点上搜索了什么。
- 分析数据:访客行为数据,需要匿名化处理。
技术实现
隐私边界的设计需要在多个层面实现:
数据层面
确保私人数据不进入公开的构建产物。在静态博客中,这意味着:
- 私人数据不写入 Markdown 文件。
- 构建脚本不读取私人数据源。
- 环境变量中不暴露敏感信息。
路由层面
不同的路径承载不同的内容:
/和/posts/等路径是公开的。/reader/app/等路径是私人的,需要认证。- API 端点需要适当的访问控制。
部署层面
部署流程需要确保:
- 构建产物不包含私人数据。
- 服务器配置不暴露私人路径。
- 日志不记录敏感信息。
我的实践
在这个站点中,隐私边界的具体实现是:
- 公开 Reader(
/reader/)只展示经过筛选的标题、链接、来源和摘要。 - 私人 FreshRSS(
/reader/app/)保留完整的登录入口、私人订阅和管理能力。 - 构建检查确保构建产物不包含访问凭据、私人订阅元数据或管理接口信息。
- 外部链接使用独立、安全的新页面打开方式,公开页面不获得私人会话能力。
这条边界不是视觉上的隐藏,而是从数据读取、构建检查到部署流程都分别约束的真实边界。
持续维护
隐私边界不是一次性设计,而是需要持续维护的:
- 新增内容时检查:每增加一种新内容,都需要判断它属于公开还是私人。
- 定期审计:定期检查是否有私人数据意外进入了公开页面。
- 更新策略:随着站点功能增加,隐私策略也需要相应更新。
接下来
隐私边界的核心不是限制分享,而是让分享更有意识。当你清楚地知道什么可以分享、什么不能分享时,分享的行为本身就变得更有价值。这个站点会在真实使用中继续生长,但内容与隐私的边界从第一天就保持清楚。
评论