关于 data-portability
面向处理 GDPR 数据可携权请求的隐私与运营团队,提供从请求验证、范围判断到数据提取、格式化和交付的流程。内容也包括控制者间直接传输及请求记录。
主要功能
- 01请求验证与范围判断
- 02可携数据筛选规则
- 03数据提取与去重
- 04JSON、CSV、XML 格式输出
- 05直接传输与交付流程
适用场景
- 01处理用户个人数据导出请求
- 02筛选符合可携条件的数据
- 03将数据传送至另一控制者
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mukul975/ privacy-data-protection-skills --skill data-portability安装后在 Claude Code 中输入/data-portability确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/template.mdreferences/standards.mdworkflows.mdscripts/process.py详细介绍
执行数据可携性请求
概述
GDPR 第 20 条规定的数据可携权,允许数据主体以结构化、通用且机器可读的格式接收其个人数据,并不受阻碍地将这些数据传输给另一位控制者。本技能提供完整的工作流程,用于评估范围、提取数据、整理输出格式并协助直接传输。
法律依据
GDPR 第 20 条——数据可携权
-
第 20 条第 1 款——数据主体有权以结构化、通用且机器可读的格式接收与其相关、且由其提供给控制者的个人数据,并有权不受接收这些个人数据的控制者阻碍地将其传输给另一位控制者,但须满足以下条件:
- (a) 处理依据第 6 条第 1 款 (a) 项或第 9 条第 2 款 (a) 项规定的同意,或依据第 6 条第 1 款 (b) 项规定的合同;且
- (b) 处理以自动化方式进行。
-
第 20 条第 2 款——在技术可行的情况下,数据主体有权要求将个人数据直接从一位控制者传输给另一位控制者。
-
第 20 条第 3 款——行使可携权不得对他人的权利和自由造成不利影响。
-
第 20 条第 4 款——对于为执行公共利益任务或行使赋予控制者的官方权力所必需的处理,不适用可携权。
适用范围:哪些数据可以携带
根据 EDPB(前身为 WP29)《数据可携权指南》(WP242 rev.01),可携带的数据包括:
- 数据主体提供的数据:主动且知情地提供的信息(例如账户详情、表单提交内容、上传的内容)。
- 观察所得数据:由数据主体的活动产生的数据(例如搜索历史、位置数据、活动日志、联网设备的原始传感器数据)。
- 不包括——推断或衍生数据:控制者通过分析创建的数据(例如信用评分、用户画像细分、算法评估)。这些属于控制者的智力成果。
法律依据筛选
可携权仅适用于处理依据为以下法律依据的数据:
- 第 6 条第 1 款 (a) 项——同意
- 第 9 条第 2 款 (a) 项——明确同意(针对特殊类别数据)
- 第 6 条第 1 款 (b) 项——履行合同
可携权不适用于依据以下法律依据处理的数据:
- 第 6 条第 1 款 (c) 项——法律义务
- 第 6 条第 1 款 (d) 项——重大利益
- 第 6 条第 1 款 (e) 项——公共利益/官方权力
- 第 6 条第 1 款 (f) 项——合法利益
可携性请求工作流程
步骤 1:接收并验证请求
- 使用参考编号 PORT-YYYY-NNNN 记录请求。
- 验证请求人的身份(按照 DSAR 流程进行分级验证)。
- 确定请求类型:
- (a) 自行导出:数据主体希望直接接收其数据。
- (b) 直接传输:数据主体希望将数据传输给另一位控制者。
- 如果是直接传输,请获取接收方控制者的详细信息:
- 组织名称和注册地址
- 技术联系人电子邮箱
- API 端点或安全传输机制(如有)
- 数据格式偏好
步骤 2:评估范围
- 确定数据主体提供的所有个人数据,或其使用服务时产生的所有观察所得数据。
- 按法律依据筛选——仅纳入依据同意(第 6 条第 1 款 (a) 项/第 9 条第 2 款 (a) 项)或合同(第 6 条第 1 款 (b) 项)处理的数据。
- 排除推断或衍生数据(用户画像评分、分析结果、内部评估)。
- 排除可能对他人的权利和自由造成不利影响的数据(第 20 条第 3 款)——从导出数据集中删除第三方个人数据。
- 确认处理以自动化方式进行(不包括纸质手动文件)。
步骤 3:数据提取
- 查询所有相关系统,获取范围内的数据:
- 客户账户数据库
- 交易/订单历史记录
- 用户生成的内容(主体上传、发布或撰写的消息)
- 服务交互日志(观测数据)
- 偏好设置数据
- 已连接设备数据(如适用)
- 应用步骤 2 中的范围筛选条件。
- 对不同系统中的记录去重。
- 验证数据完整性(校验和、记录数)。
步骤 4:设置数据格式
Meridian Analytics Ltd 支持以下机器可读格式:
| 格式 | MIME 类型 | 用途 | 架构 |
|---|---|---|---|
| JSON | application/json | 默认格式 — 结构化且广泛受支持 | 架构见 API 规范文档 |
| CSV | text/csv | 表格数据,兼容电子表格 | 包含字段名称的标题行,采用 UTF-8 编码,符合 RFC 4180 |
| XML | application/xml | 企业集成、旧版系统 | 随导出提供 XSD 架构 |
格式选择优先级:
- 如果数据主体指定了首选格式,则使用该格式(如受支持)。
- 如果接收方控制者指定了格式,则使用该格式。
- 默认使用 JSON。
数据打包:
- 每个数据类别分别导出为一个文件(例如,
account_data.json、transactions.csv、content_uploads.json)。 - 清单文件(
manifest.json)列出所有包含的文件、记录数、日期范围和校验和。 - 使用 AES-256 加密将所有文件打包为一个 ZIP 归档文件。
步骤 5:执行直接传输(如适用)
如果数据主体根据第 20(2) 条要求控制者之间直接传输:
- 验证接收方控制者的身份和授权。
- 建立安全传输通道:
- 选项 A — API 传输:如果接收方控制者提供 API 端点,则通过 HTTPS 并使用相互 TLS 身份验证进行传输。
- 选项 B — SFTP 传输:使用 SSH 密钥身份验证建立 SFTP 连接。
- 选项 C — 安全文件交换:将加密归档文件上传至安全门户,并向接收方控制者提供有时限的访问凭据。
- 获取传输确认(HTTP 200/201 响应、SFTP 接收确认或下载确认)。
- 如果技术上无法直接传输,则通知数据主体,并根据第 20(2) 条直接向其提供数据。
步骤 6:交付给数据主体(自行导出)
- 将加密归档文件上传至安全下载门户。
- 向数据主体发送通知,其中包含:
- 安全下载链接(72 小时后过期)
- 解密密码(通过单独的渠道发送 — 短信或备用电子邮件)
- 清单摘要(文件列表、记录数)
- 打开归档文件的说明
- 记录交付确认。
步骤 7:结案并记录
- 更新可携带性请求登记簿,填写以下信息:
- 完成日期
- 导出的数据类别
- 使用的格式
- 传输方式(自行导出或直接传输)
- 接收方控制者(如为直接传输)
- 将处理记录保留 3 年。
- 导出并不要求删除原始数据 — 可携带权是一项额外权利,并不取代删除权。
响应时限
- 标准期限:自收到请求之日起 30 个日历日。
- 延期:对于复杂请求,可额外延长最多 60 天(第 12(3) 条)。
- 不收费:必须免费提供第一份副本。根据第 12(5) 条,额外副本可能收取合理费用。
评论
支持 Markdown