title: "隐私" post_status: publish comment_status: open taxonomy: category: - developer-plugins-handbook post_tag: - Privacy - Repos - Data
隐私
您是否正在开发处理个人数据的插件——例如姓名、地址及其他可用于识别个人身份的信息?您需要谨慎处理这些数据,保护用户和访客的隐私。
什么是隐私?
WordPress.org 在欧洲《通用数据保护条例》实施前进行了多项改进。在此项工作启动后,我们已将隐私确立为核心 trac 开发的长期重点,这将使我们能够在特定法规之外持续加强隐私和数据保护。
但哪些问题属于"隐私"的范畴?我们又如何定义它?尽管不同国家、文化和法律体系对隐私的要求差异很大,但存在一些适用于任何情境的通用原则:
- 同意与选择权: 让用户(和网站访客)对其数据的使用拥有选择和决定权,并要求明确、具体且知情的主动同意;
- 目的合法性与明确性: 仅出于既定目的收集和使用个人数据,且该目的已事先明确告知用户;
- 收集限制: 仅收集必要的用户数据;尽量避免制作数据额外副本或将数据与其他插件的数据合并;
- 数据最小化: 将数据处理范围及数据访问人员限制在必要的最小使用需求和最少人员范围内;
- 使用、保留与披露限制: 及时删除不再需要的数据(包括活跃使用和存档数据),接收方及任何第三方均需执行;
- 准确性与质量: 确保收集和使用的数据正确、相关且最新,尤其是在数据不准确或质量差可能对用户产生不利影响时;
- 公开性、透明度与告知: 告知用户其数据如何被收集、使用和共享,以及他们对这些使用方式享有的任何权利;
- 个人参与与访问权: 为用户提供访问或下载其数据的方法;
- 问责制: 记录数据使用情况,在传输和第三方使用过程中予以保护,并尽可能防止滥用和泄露;
- 信息安全: 通过适当的技术和安全措施保护数据;
- 隐私合规性: 确保工作符合其收集和处理个人数据所在地区的隐私法规。
(来源:ISO 29100/隐私框架标准)
虽然并非所有原则都适用于所有情境和用途,但在开发过程中运用这些原则有助于确保用户信任。
隐私保护设计
许多这些原则都体现在隐私保护设计框架中,该框架指出:
- 隐私保护应具有前瞻性而非被动应对,必须在问题触及用户前预见隐私问题。隐私保护也应是预防性的,而非补救性的。
- 隐私应作为默认设置。用户不应被迫采取行动来保护隐私,数据共享的同意也不应被假定。
- 隐私应作为核心功能融入设计,而非附加组件。
- 隐私应是正和博弈:隐私与安全、隐私与保障、隐私与服务提供之间不应存在权衡取舍。
- 隐私应通过数据最小化、最短保留期和定期删除不再需要的数据,提供端到端的全生命周期保护。
- 插件(及服务,如适用)采用的隐私标准应可见、透明、开放、有文档记录且可独立验证。
- 隐私应以用户为中心。应为用户提供诸如细粒度隐私选择、最大化隐私默认设置、详细隐私信息通知、用户友好选项以及变更清晰告知等选择。
为你的插件提供思考方向
为了帮助你的插件做好准备,我们建议为你制作的每个插件都思考以下问题列表:
- 你的插件如何处理个人数据?使用
wp_add_privacy_policy_content()向用户披露以下任何情况:- 插件是否与第三方共享个人数据(例如外部 API/服务器)。如果是,它共享哪些数据给哪些第三方,他们是否有已发布的隐私政策可供提供链接?
- 插件是否收集个人数据?如果是,收集什么数据以及存储在哪里?考虑用户数据/元数据、选项、文章元数据、自定义表、文件等位置。
- 插件是否使用他人收集的个人数据?如果是,是什么数据?插件是否将个人数据传递给 SDK?该 SDK 如何处理这些数据?
- 插件是否直接或间接收集遥测数据?例如,每次安装时从第三方源加载图像可能会间接记录和跟踪所有插件安装的使用数据。
- 插件是否从第三方排队加载 JavaScript、跟踪像素或嵌入 iframe(第三方 JS、跟踪像素和 iframe 可能收集访问者数据/操作、留下 cookie 等)?
- 插件是否在浏览器中存储内容?如果是,存储在哪里以及存储什么?考虑 cookie、本地存储等。
- 如果你的插件收集个人数据…
- 它是否提供个人数据导出器?
- 它是否提供个人数据擦除回调?
- 插件出于什么原因(如果有)拒绝擦除个人数据?(例如订单尚未完成等)——这些也应披露。
- 插件是否使用错误日志记录?它是否尽可能避免记录个人数据?你是否可以使用
wp_privacy_anonymize_data()等方法来最小化记录的个人数据?日志条目保留多长时间?谁可以访问它们? - 在 wp-admin 中,访问/查看个人数据需要什么角色/权限?这些权限是否足够?
- 插件在网站前端暴露哪些个人数据?它对登录和未登录用户都显示吗?应该这样吗?
- 插件在 REST API 端点中暴露哪些个人数据?它对登录和未登录用户都显示吗?查看它需要什么角色/权限?这些是否合适?
- 插件是否正确移除/清理数据,特别是个人数据:
- 在卸载插件期间?
- 当相关项目被删除时(例如从文章元数据或另一个表中任何引用文章的行)?
- 当用户被删除时(例如从表中任何引用用户的行)?
- 插件是否提供控件以减少所需的个人数据量?
- 插件是否仅在 SDK 或 API 需要时才与 SDK 或 API 共享个人数据,还是插件也共享可选的个人数据?
- 当安装某些其他插件时,此插件收集或共享的个人数据量是否会发生变化?