击键记录伦理
Potato 击键记录的知情同意、IRB 审查、数据留存和参与者权利:这些数据能揭示什么,以及如何公平地使用写作过程标记。
击键记录记录的是你的标注者怎么写。那是关于可识别个人的行为数据,它带来的义务不在技术文档的覆盖范围内。
这一页是写给部署这个功能的研究者的。它不是法律意见,也不能替代你所在机构的审查。
在你把功能打开之前,这些都不适用。keystroke_logging.enabled 默认为 false,升级不会改变这一点。
你实际收集的是什么
Potato 的事件流是内容无关的。它们记录某个字符在何时、在字段的什么位置被插入,以及是哪一类按键产生了它,但从不记录是哪个字符。你无法从事件流还原出文本。
这是一项实实在在的隐私保护,但它和「这些数据不可识别身份」不是一回事。
时间模式是一种生物特征
击键动态,也就是按键间隔、按键停留时间和双字母组延迟的分布,是一种确立已久的行为生物特征。它可以用来识别个人,也可以把不同场景下的账号关联起来。Potato 不做这件事,也不提供相关工具,但底层数据支持这么做。
请像对待任何其他行为生物特征那样对待击键事件流:把它当作可识别身份的、需要留存期限的、需要取得知情同意的。
除作者身份之外还能推断出什么
在研究中,时间数据被用来推断打字技能、语言熟练度和第二语言身份、认知负荷和疲劳,在某些文献里还有运动和神经系统状况。Potato 一样都不计算,但你保留的数据足以支撑这类分析,而你的参与者在同意做「一个标注任务」时,多半不会想到这些。
把你收集的东西说清楚。不要指望一条笼统的「我们会收集使用数据」条款能覆盖它。
披露
disclose_to_annotators 默认为 true。关闭它会在启动时记录一条警告:
keystroke_logging:
disclose_to_annotators: false # logs a warning; make sure your IRB covers this不披露地收集有其正当理由,因为有些研究设计一旦告诉参与者在测什么就失效了。那是伦理委员会的决定,而不是一个配置上的方便。如果你关掉披露,你应该拿得出允许这么做的批准文件。
知情同意示例文本
请按你的方案调整。它是一个起点,不是照抄不看的模板。
你怎么写会被记录,你写了什么也会被记录。
在你键入回答的过程中,本研究会记录你打字的时间信息:你何时开始和停止、停顿多久、何时回头修改,以及何时从别处粘贴文本进来。它记录的是打字的时间和结构,而不是你按下的每一个键。这份记录无法用来还原出你提交的答案以外的任何内容。
这些数据用于理解人们如何完成任务,以及检查所收集数据的质量。
[如适用:]这些测量可能会被用来识别哪些回答是从别处复制或生成的,而不是由你写出来的。
[如适用:]这些记录可能会作为匿名化研究数据集的一部分被共享。
你可以随时联系 [ ] 要求我们删除你的数据。
方括号里的条款很重要。如果你打算把标记用于付款或排除决定,请在人们开始工作之前就说明,而不是在你已经标记了他们之后。
公平地使用标记
写作过程检测产出附带证据的标记。怎么使用它们是你的责任。
要做:
- 把标记当作去查看的提示,而不是一项结论。
- 读每个会话的证据,而不只是判定标签。
- 在采取行动之前给标注者解释的机会。
- 把已知的误报考虑进去:移动端键盘、IME 用户、听写、辅助技术和打字快的人。
- 事先在你的方案里写明你的决策规则。
不要做:
- 把标记接到自动拒绝、扣款或封禁上。
- 把校准出来的尾部当成不端行为。百分位阈值会在任何人群里标出固定的一部分,包括一个完全诚实的人群。
- 以能识别到个人的方式公布按标注者的风险分数。
- 用标记去对一个人做出超出「这份回答是不是他写的」之外的论断。这些数据不支持关于其能力、投入或品行的推断。
基础率问题
如果你有 5% 的回答是从聊天机器人粘贴来的,而你的规则标记了 5% 的会话,那么被标记出来的大部分仍然可能是诚实的工作,具体取决于这条规则把两者分开的能力有多强。在一个真正的不端行为很罕见的平台上,一条哪怕误报率很小的规则,产生的错误指控也会多过真正的捕获。在你围绕这些标记定政策之前,先估计一下你的基础率。
参与者权利
删除
删除某一位参与者的事件流和摘要:
from potato import typing_store
typing_store.delete_for_user(task_dir, project, user_id)这会清除 typing_sessions。如果你要满足一次完整的删除请求,镜像到 <output_annotation_dir>/<user>/user_state.json 中 typing_summaries 下的摘要必须另行删除。
最小化
只收集能回答你的问题所需的最少数据:
keystroke_logging:
fidelity: summary # features only, no raw streams retained
include_schemas: [rationale] # instrument one field, not every box
classify_paste_source: false # skip clipboard comparison entirely留存
Potato 不会让数据自动过期。如果你的方案承诺了一个留存窗口,到期时请自己删除事件流。分析期结束后切换到 fidelity: summary 是一个合理的折中,既保留聚合特征,又丢掉生物特征层面的细节。
共享与发表
如果你把击键数据作为数据集的一部分发布:
- 把用户 id 换成研究专用的化名,且不能映射回平台 id。Prolific 和 MTurk 的工作者 id 是标识符,不是化名。
- 想清楚是否真的需要会话级的时间信息,还是摘要特征就够了。摘要比事件流难以重新识别得多。
- 检查你的知情同意是否覆盖了再分发,而不只是收集。
- 粘贴哈希按会话加盐,无法逆推,但它们确实会暴露同一段文本被粘贴过两次。请判断这种关联在公开发布中是否可以接受。
Potato 的导出正是为此才需要主动开启。export_include_typing_dynamics 和 keystrokes 导出器都默认关闭,所以行为数据不会不小心进入数据集发布。
各法域的注意事项
这不是法律意见。这里只是指出哪些方面通常与之相关。
GDPR 与英国 GDPR。 足以识别一个人的时间模式属于个人数据。如果你用它们来锁定个人,请考虑第 22 条(自动化决策)是否适用,尤其是当一个标记会影响付款时。同意必须是具体且知情的,一份笼统的条款接受多半不够。
美国的机构审查。 这通常属于以人为对象的研究。有些 IRB 把击键动态视作生物特征标识符,这可能会改变审查类别。
众包平台。 Prolific、MTurk 及类似平台对监测参与者和拒绝工作各有自己的规则。在你基于一个标记拒绝任何人之前,先查一下平台政策。有几家要求你必须能向工作者说明拒绝的理由。
延伸阅读
- 击键记录 - 采集了什么、怎么采集
- 写作过程检测 - 这些规则及其误报
- 在 Prolific 和 MTurk 上众包 - 与付费标注者合作
- 质量控制 - 注意力检查和金标准
有关实现细节,请参阅源代码文档。