By · Last updated 2026-06-05

返回博客GDPR 与合规

CSV自由文本中的个人信息:超越列删除的研究数据共享

调查CSV不仅在结构化列中包含个人信息,自由文本回答中同样如此。标准的列删除操作会遗漏违反GDPR匿名化标准的个人信息,导致数据共享合规失败。

June 5, 20267 分钟阅读
research dataCSV anonymizationGDPR Article 89survey datadata sharing

列删除遗漏的合规盲区

已更新至2026年

研究数据集通常以CSV文件形式在高校之间流转。在为CSV共享做准备时,工作流程通常以列为单位进行:找到个人信息,删除或替换它。

这种方法适用于固定字段。名为「email」的列包含电子邮件地址——删除它。名为「phone」的列包含电话号码——删除它。名为「participant_name」的列包含姓名——用代码替换。

但自由文本回答列是一个盲区,删除带有标签的列并不会触及这些内容。

一份包含5,000行数据的调查问卷,可能有5个结构化个人信息列和15个开放式文本回答列。结构化列包含姓名、电子邮件、电话号码、身份证号和出生年份,开放式文本列包含评论、备注和建议。

结构化列得到清理,开放式文本列保持原样。但人们会在文本中留下这样的内容——

第一例:「我在波士顿医疗中心的主治医生Maria Santos说这种疗法是新出现的。」第二例:「我从2019年的事故以来就一直在处理这个问题。」第三例:「您可以联系我的照护者margaret.wells@gmail.com获取详细信息。」

每条记录都点名了真实的人,部分还包含健康信息或联系方式,而这些内容不出现在任何列标题中,也无法通过列删除捕获。

为何这无法满足GDPR标准

GDPR序言第26条将匿名记录定义为无法与任何人关联的记录,这一标准相当严格:只有在重新识别合理上不可能实现的情况下,记录才算真正匿名。

一份结构化列干净、但开放式文本中仍有姓名的CSV无法通过这一检验。这些姓名是可识别的,数据集仍属于个人数据,GDPR第89条规则仍然适用。由此产生三类风险:

第89条研究豁免: 第89条允许研究人员以科研为目的处理个人信息,但须满足「适当保障措施」的要求。在声称享有第89条保护的同时共享含有开放式文本个人信息的文件,在法律层面无法成立。

伦理审查: 大多数机构审查委员会和伦理委员会要求共享数据集实现完全匿名化。仅清理结构化列而忽视开放式文本的部分处理,通常无法通过审查,委员会可能拒绝提交申请。

数据共享协议: 高校之间的数据共享协议规定了所需的匿名化级别。不符合GDPR序言第26条的部分处理可能违反协议条款。请参阅我们的法律合规概述了解这如何融入更广泛的合规方案。

为何开放式文本难以清理

自由文本调查回答是最难处理的个人信息目标之一,原因如下。

上下文中的姓名:「波士顿医疗中心的Maria Santos医生」需要命名实体识别(NER)来标记人物和机构,关键词列表无法发现这类内容。

叙事中的姓名:「John Henderson的车撞了我的车」将一个真实姓名嵌入了故事叙述中,这是一个顺带提及的人物,只有NER才能捕获。

非标准格式: 联系方式可能写作「请联系margaret dot wells at gmail」,简单的正则表达式工具会忽略这类写法。

研究特定术语: 临床调查通常包含医院编号、研究地点代码和地名,即使看起来像通用信息,也可能用于识别特定个人。

因此,仅靠模式匹配是不够的,真正的调查匿名化需要基于NLP的工具。请参阅安全与合规了解具体的技术方案。

三所大学的真实案例

三所欧洲大学的研究团队开展了一项患者体验调查。数据集包含5,000名受访者、3个固定个人信息列和8个开放式文本列。计划在数据共享协议和GDPR第89条框架下,跨研究地点共享文件。

仅使用列删除时:

  • 固定个人信息列:已删除
  • 开放式文本列:保持原样
  • 声称状态:「已删除个人信息列」
  • 遗留的个人信息:47个被点名的人物、评论中的23个电子邮件地址、可识别受访者的18个地名

使用基于NLP的检测时:

  • 固定个人信息列:替换为一致的标记
  • 开放式文本列:47个姓名已替换、23个电子邮件已脱敏、18个地名已泛化(「波士顿医疗中心」→「[医疗机构]」)
  • 结果:通过GDPR序言第26条测试的文件
  • 伦理委员会批准了该处理方法
  • 数据保护官确认符合数据共享协议要求

差距是真实存在的。第一份输出看起来是干净的,第二份输出才真正干净。

共享前的五步操作规程

在共享任何调查问卷或访谈文件之前,按照以下步骤操作。

第一步:标记每一列 将每列标记为固定个人信息列、固定非个人信息列或开放式文本列,并以书面形式记录。

第二步:处理固定个人信息 删除分析不需要的条目,替换记录关联所需的条目,记录使用的替换代码。

第三步:扫描开放式文本列 对所有开放式文本列运行NLP检测,逐一审查结果,确认哪些是真实的个人信息。

第四步:应用替换 对开放式文本输出中确认的个人信息进行替换,使用明确的标签如[PERSON][EMAIL][LOCATION]

第五步:验证并记录 从输出中随机抽查50至100行,人工检查开放式文本条目,撰写简短摘要:使用的工具、发现的实体类型、处理的列。随文件一并提交用于伦理审查。

这将「我们删除了姓名列」转化为清晰、有据可查的流程,满足GDPR第89条要求以及大多数伦理委员会的匿名化标准。访问我们的文档中心查阅相关指南。

参考资料

准备好保护您的数据了吗?

开始使用 285 种实体类型在 48 种语言中匿名化 PII。

About this page

We update this page when our platform or the law changes.

Read our founder note for how we work.

Each change shows up in the timestamp at the top.

Related reading

We follow these rules

  • GDPR (EU 2016/679).
  • ISO/IEC 27001:2022.
  • NIS2 (EU 2022/2555).
  • HIPAA safe harbor under 45 CFR § 164.514(b)(2).

Our promise

We do not sell your data.

We do not train models on your text.

We store your files in Germany.

You can delete your account at any time.

You own your work.

Where we run

Our servers live in Falkenstein, Germany.

We use Hetzner. They hold ISO 27001 certification.

All data stays in the EU.

Backups run every day.

Need help?

Email support@anonym.legal.

We reply within one business day.

How we test

We run a full check suite on every release.

Each surface gets its own sweep script and report.

Human reviewers spot-check the output each week.

We track recall and precision on a labelled set.

Bad runs block the deploy.

What we never do

  • We never sell your information to third parties.
  • We never train models on what you upload.
  • We never keep your work after you delete it.
  • We never share keys with any outside firm.
  • We never run ads inside the product.

Plans in plain words

We sell credits, not seats.

One credit covers one short job.

Long jobs use a few credits each.

You can top up at any time.

Unused credits roll over each month.

Read the plans page for current rates.

Who built this

A small team of engineers and lawyers built this.

We ship from Europe and work in the open.

Our founder note spells out why we started.

Where to start

How the parts fit

A browser add-on cleans text inside Chrome.

A Word plug-in handles drafts in Office.

A small desktop tool works on whole folders.

An agent protocol link feeds large models safely.

All four share one core engine and one rule set.

Words from our team

We started this work after a lunch about cookies.

One friend kept getting odd ads on her phone.

We asked why a court file leaked through a draft.

We sketched the first build on a napkin that week.

By month three we had a tiny demo for a friend.

She used it on her first case the next day.

Common questions we hear

Can the tool read scanned PDFs? Yes, with OCR.

Does it work on long files? Yes, in small chunks.

Can I roll my own rule set? Yes, save it as a preset.

Does it run offline? The desktop build runs offline.

Do you keep my files? No, the cloud build wipes after each run.

Will it learn from my work? No, we never train on inputs.

A short tour of the workflow

Upload a file or paste a snippet of prose.

Pick the entities you want gone from the draft.

Choose a method: replace, mask, hash, encrypt, or redact.

Press run and watch the side panel show each hit.

Skim the result and tweak any rule that misfired.

Save the cleaned file or send it to a teammate.