Skip to content

Ética do Registro de Teclas

Consentimento, revisão por IRB, retenção e direitos dos participantes no registro de teclas do Potato: o que os dados podem revelar e como usar as sinalizações de processo de escrita com justiça.

O registro de teclas grava como seus anotadores escrevem. Isso é dado comportamental sobre pessoas identificáveis, e traz obrigações que a documentação técnica não cobre.

Esta página é escrita para quem vai implantar o recurso em pesquisa. Não é orientação jurídica e não substitui a revisão da sua própria instituição.

Nada disso vale até você ligar o recurso. keystroke_logging.enabled é false por padrão, e uma atualização não muda isso.

O que você está de fato coletando

Os fluxos do Potato são cegos ao conteúdo. Eles registram que um caractere foi inserido, quando, onde no campo e que classe de tecla o produziu, mas nunca qual caractere. Não dá para reconstruir o texto a partir de um fluxo.

Isso é uma proteção de privacidade real, e não é o mesmo que os dados serem não identificáveis.

Padrões de tempo são um biométrico

A dinâmica de digitação, ou seja, a distribuição dos intervalos entre teclas, dos tempos de pressionamento e das latências de dígrafos, é um biométrico comportamental bem estabelecido. Pode ser usada para identificar indivíduos e para vincular contas entre contextos. O Potato não faz isso e não oferece ferramenta alguma para isso, mas os dados subjacentes sustentam o uso.

Trate um fluxo de teclas como trataria qualquer outro biométrico comportamental: como identificável, como algo que precisa de prazo de retenção e como algo que exige consentimento.

O que dá para inferir além da autoria

Dados de tempo já foram usados em pesquisa para inferir habilidade de digitação, proficiência linguística e condição de falante de segunda língua, carga cognitiva e fadiga e, em algumas literaturas, condições motoras e neurológicas. O Potato não calcula nada disso, mas os dados que você retiver sustentariam essa análise, e é improvável que seus participantes contem com isso ao aceitar «uma tarefa de anotação».

Diga o que você coleta. Não conte com uma cláusula genérica de «coletamos dados de uso» para cobrir isso.

Divulgação

disclose_to_annotators é true por padrão. Desligar registra um alerta na inicialização:

yaml
keystroke_logging:
  disclose_to_annotators: false   # logs a warning; make sure your IRB covers this

Há motivos legítimos para coleta não divulgada, já que alguns desenhos de estudo são invalidados por contar aos participantes o que está sendo medido. Isso é decisão de um comitê de ética, não uma conveniência de configuração. Se você desativar a divulgação, deve conseguir apontar a aprovação que a permite.

Texto de consentimento de exemplo

Adapte ao seu protocolo. É um ponto de partida, não um modelo para colar sem ler.

Como você escreve é gravado, junto com o que você escreve.

Enquanto você digita suas respostas, este estudo grava o tempo da sua digitação: quando você começa e para, quanto tempo você pausa, quando você volta e revisa, e quando você cola texto de outro lugar. Ele grava o tempo e a estrutura da digitação, não as teclas individuais que você aperta. A gravação não pode ser usada para recuperar nada do que você digitou além das respostas que você enviar.

Isso é usado para entender como as pessoas trabalham na tarefa e para verificar a qualidade dos dados coletados.

[Se aplicável:] Essas medições podem ser usadas para identificar respostas que foram copiadas ou geradas em outro lugar em vez de escritas por você.

[Se aplicável:] As gravações serão compartilhadas como parte de um conjunto de dados de pesquisa anonimizado.

Você pode nos pedir para apagar seus dados a qualquer momento entrando em contato por [ ].

As cláusulas entre colchetes importam. Se você pretende usar as sinalizações em decisões de pagamento ou exclusão, diga isso antes de as pessoas começarem a trabalhar, e não depois de tê-las sinalizado.

Usando as sinalizações com justiça

A detecção do processo de escrita produz sinalizações com os indícios anexados. Como você as usa é responsabilidade sua.

Faça:

  • Trate uma sinalização como motivo para olhar, não como conclusão.
  • Leia os indícios de cada sessão, não só o rótulo do veredito.
  • Dê ao anotador a chance de explicar antes de agir.
  • Considere os falsos positivos conhecidos: teclados de celular, uso de IME, ditado, tecnologia assistiva e quem digita rápido.
  • Documente sua regra de decisão antes, no protocolo.

Não faça:

  • Ligar as sinalizações a rejeição automática, retenção de pagamento ou banimento.
  • Tratar a cauda calibrada como má conduta. Um limiar por percentil sinaliza uma parcela fixa de qualquer população, inclusive de uma inteiramente honesta.
  • Publicar pontuações de risco por anotador de um jeito que identifique indivíduos.
  • Usar as sinalizações para afirmar algo sobre uma pessoa além da autoria de uma resposta. Os dados não sustentam inferências sobre competência, esforço ou caráter.

O problema da taxa-base

Se 5% das suas respostas são coladas de um chatbot e sua regra sinaliza 5% das sessões, a maior parte do que você sinalizar ainda pode ser trabalho honesto, dependendo de quão bem a regra separa os dois casos. Numa plataforma em que a má conduta de fato é rara, uma regra com uma taxa de falsos positivos até pequena produz mais acusações falsas do que capturas verdadeiras. Estime sua taxa-base antes de montar uma política em cima das sinalizações.

Direitos dos participantes

Exclusão

Remova os fluxos e resumos de um participante:

python
from potato import typing_store
typing_store.delete_for_user(task_dir, project, user_id)

Isso limpa typing_sessions. Os resumos espelhados em <output_annotation_dir>/<user>/user_state.json sob typing_summaries precisam ser removidos à parte se você estiver atendendo a um pedido de exclusão completa.

Minimização

Colete o mínimo que responda à sua pergunta:

yaml
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

Retenção

O Potato não expira dados. Se o seu protocolo se compromete com um prazo de retenção, apague os fluxos você mesmo quando ele vencer. Mudar para fidelity: summary depois do período de análise é um meio-termo razoável, que mantém os atributos agregados e descarta o detalhe biométrico.

Compartilhamento e publicação

Se você publicar dados de teclas como parte de um conjunto de dados:

  • Substitua os ids de usuário por pseudônimos específicos do estudo, que não voltem aos ids da plataforma. Ids de trabalhador do Prolific e do MTurk são identificadores, não pseudônimos.
  • Avalie se o tempo em nível de sessão é necessário ou se os atributos de resumo bastam. Os resumos são bem menos reidentificáveis do que os fluxos.
  • Confira se o seu consentimento cobria a redistribuição, e não só a coleta.
  • Os hashes de colagem têm sal por sessão e não podem ser revertidos, mas revelam que o mesmo texto foi colado duas vezes. Decida se esse vínculo é aceitável numa publicação aberta.

As exportações do Potato são opcionais exatamente por isso. export_include_typing_dynamics e o exportador keystrokes vêm ambos desligados, então dados comportamentais nunca entram numa publicação de dataset por acidente.

Notas por jurisdição

Não é orientação jurídica. Isto aponta o que costuma ser relevante.

GDPR e GDPR do Reino Unido. Padrões de tempo capazes de identificar uma pessoa são dados pessoais. Se você os usa para individualizar pessoas, avalie se o Artigo 22 (decisão automatizada) se aplica, em especial se uma sinalização afeta pagamento. O consentimento precisa ser específico e informado, e uma aceitação genérica de termos dificilmente basta.

Revisão institucional nos EUA. Isso costuma ser pesquisa com seres humanos. Alguns IRBs tratam dinâmica de digitação como identificador biométrico, o que pode mudar a categoria de revisão.

Plataformas de crowdsourcing. Prolific, MTurk e plataformas semelhantes têm regras próprias sobre monitorar participantes e sobre rejeitar trabalho. Verifique a política da plataforma antes de rejeitar alguém com base em uma sinalização. Várias exigem que você consiga justificar a rejeição ao trabalhador.

Leitura Complementar

Para detalhes de implementação, consulte a documentação de origem.