Skip to content

[FEAT] k-anonimato: pseudônimo rotativo por contribuidores distintos (endurecer supressão do #69) #91

@trentas

Description

@trentas

Follow-up do épico #65 / #69. Abrir só se a inferência por repo pequeno virar problema real — registrado para não se perder.

User story

Como mantenedor preocupado com privacidade, eu quero endurecer a supressão k-anonimato para o caso residual documentado (repo com ≥N contribuidores mas onde só uma pessoa usa IA), para que nem por inferência o uso seja atribuível a um indivíduo.

Acceptance criteria

  • Avaliar se o buraco residual do [FEAT] Exposição: views de uso por repo/time com supressão k-anonimato + cruzamento com durabilidade #69 (1 usuário de IA num repo de N contribuidores) é explorável na prática
  • Se for: introduzir contagem de contribuidores de IA distintos por célula via pseudônimo rotativo, sem reintroduzir identidade no usage_rollup
  • Supressão passa a exigir ≥N contribuidores de IA distintos (não só contribuidores do repo)
  • Pseudônimo é rotativo/efêmero — não permite linkar uso entre períodos
  • Documentar o trade-off privacy × utilidade

Scope / non-goals

Dentro: mecanismo de contagem de contribuidores-IA distintos preservando anonimato; ajuste da supressão. Fora: qualquer exposição por indivíduo (permanente, Princípio #2).

Se encaixa em qual estágio?

Stage 3 — endurecimento condicional. Não implementar preventivamente: o #69 já documenta o buraco e a mitigação atual (uso nunca atribuído a pessoa, repos pequenos suprimidos). Abrir trabalho só se a inferência for demonstrada como problema.

Implementation notes

O desafio é contar contribuidores-IA distintos por célula sem que a identidade cruze a borda — provavelmente um pseudônimo rotativo derivado localmente (na CLI, #67) e enviado como token opaco efêmero, contado no servidor sem nunca ser revertido. Cuidado pra não recriar uma chave estável que linke sessões de uma pessoa ao longo do tempo.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions