Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

LGPD na Luma: inventário, direitos do titular e retenção

Open
#405 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
javascript, nodejs, sqlite

Research direction

The issue is blocked by usebridger#225 and also depends on #224. Start by reading those kernel issues and the inventory in this issue; then inspect the listed plugin data, luma/history.ts, logging, and apps/lumabot/docs/. Done means the plugins declare personal data, export and erase requests work, logs are reviewed, the privacy command and notice exist, and the end-to-end erase check and documentation are complete.

Written by the indexing model from the issue text.

Description

area:plugin type:feature

Contexto

O kernel vai ganhar a declaração personalData, o serviço privacy (export/erase/anonymize) e a retenção automática (murillous/usebridger#225). A Luma processa dado pessoal de gente que não é usuária dela por escolha: todo mundo dos grupos onde ela está. Ela deve ser o primeiro app a adotar.

Bloqueada por murillous/usebridger#225 (e #224 para auditar os pedidos).

Inventário atual (levantado do código)

Onde Dado Titular Persistido? Proposta de retenção
rank → totals, perChat userId, chatId, contagem de mensagens remetente sim 365 d sem atividade; erase = anonimizar (mantém o total do grupo)
user-names → KV nick:{id}, seen:{id} apelido, último visto remetente sim while-active; erase = apagar
reminders chatId, texto livre, fireAt quem criou sim apagar 30 d depois de disparado/cancelado
luma → personas, KV persona:{chatId} persona custom (texto livre) criador/chat sim while-active do chat
luma/history.ts turnos de conversa com a IA remetente não (memória, expira por maxAgeMs) declarar como memória volátil; erase limpa o Map
ai, transcribe, web-search, resumo, spontaneous texto, áudio e imagens enviados à IA remetente e terceiros do grupo não localmente; sim no provedor declarar sharedWith: Gemini / OpenAI / DeepSeek (transferência internacional, art. 33)
auth state do Baileys (kernel) nomes de contato (ADR 0097 do Bridger) contatos sim coberto pelo kernel
logs (pino / dashboard ao vivo) pode conter telefone e texto todos depende do destino redact de telefone/e-mail; texto fora de info
ai-metrics uso por modelo — sim sem dado pessoal; declarar personalData: false

Tarefas

  • Declarar personalData em todos os plugins acima; zero aviso no boot
  • Hooks onErase/onExport para o history em memória
  • Comandos do titular (desligados por padrão, ligáveis na config): !meusdados (export em JSON como documento no privado) e !esquecer (erase com confirmação por botão); rate limit de 1 por dia
  • Comando de owner para executar um pedido recebido por fora (!lgpd apagar <número>)
  • Revisar logs: nenhum texto de mensagem em info; redact ligado
  • Aviso de privacidade: texto curto (!privacidade) dizendo o que a Luma guarda, por quanto tempo e quais provedores de IA recebem o conteúdo
  • Teste de ponta a ponta: um titular com dados em rank, user-names, reminders e history; depois do erase, varredura do SQLite sem o id dele (exceto pseudônimo e auditoria)
  • Docs em apps/lumabot/docs/privacidade.md
Dominant language
JavaScript
Stars
26
Forks
6
Avg merge
45m
Merged PRs (30d)
143

Getting set up

  • Ships a Dockerfile or Docker Compose file
  • No pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from murillous/LumaBot

All issues in murillous/LumaBot

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.