Docs › Para clientes › Privacidade e diagnóstico
Privacidade e diagnóstico
Documento para o responsável pela proteção de dados da instituição (LGPD) sobre o plugin Chat com tutor (local_tutorchat). Ele descreve o que o plugin faz, conforme o código; não é aconselhamento jurídico, e a base legal, os prazos e os avisos devem ser definidos pela instituição.
1. Dados guardados
Tudo fica no banco de dados do próprio Moodle. O plugin não envia mensagens nem dados de pessoas a nenhum serviço externo. A única comunicação externa é o envio opcional de dados de diagnóstico (contagens e dados técnicos, sem dado pessoal), que o administrador pode ver e desligar: veja dados de diagnóstico.
| Tabela | Dados | Para quê |
|---|---|---|
local_tutorchat_session | Curso, aluno, tutor, situação (aguardando, em andamento, encerrado), se começou como recado, datas de abertura, primeira resposta, encerramento e atualização, quem encerrou, contadores de mensagens não lidas e a data em que as mensagens foram apagadas pelo prazo de retenção, se foi o caso | Registrar cada atendimento |
local_tutorchat_message | Autor, texto da mensagem, data de envio e data em que o outro participante a leu; e, quando há cartão, as colunas cardtype (cm ou section) e cardid (o número da atividade ou da seção no curso) | Conteúdo da conversa, a marca "Visto" e o cartão de atividade |
local_tutorchat_rating | Curso, tutor, aluno, nota de 1 a 5, comentário opcional (até 1000 caracteres), data | Avaliação do atendimento pelo aluno |
local_tutorchat_avail | Tutor, se ligou a disponibilidade, último contato | Saber se o tutor está disponível agora |
local_tutorchat_availlog | Tutor, início e fim de cada período em que esteve disponível | Histórico de disponibilidade, usado no tempo disponível mostrado na supervisão |
local_tutorchat_stat | Por atendimento e tutor: curso, aluno, situação, quem encerrou, como começou, data, dia da semana, hora, tempo até a primeira resposta, duração, nota, se há comentário | Resumo para estatísticas da supervisão |
| Preferências do usuário | local_tutorchat_sound (som) e local_tutorchat_notify (avisos do navegador) | Lembrar as escolhas de cada usuário |
As colunas do cartão guardam só uma referência a um item do curso, não uma cópia: o nome da atividade nunca é gravado na mensagem. O cartão é montado, na hora de mostrar, com os dados que o próprio Moodle tem do curso, e pela visão de quem lê (um item que o leitor não pode ver aparece como "Item indisponível"). Se o item é apagado do curso, o cartão deixa de ter nome em qualquer tela.
O resumo local_tutorchat_stat é um dado derivado: é calculado a partir dos atendimentos e das avaliações pela tarefa noturna (03:00) e pelo botão "Atualizar agora", e não contém texto de mensagem nem o texto do comentário.
2. Quem pode ler o quê
| Quem | O que pode ver |
|---|---|
| Aluno do atendimento | Todas as mensagens do atendimento (as suas e as do tutor); a própria avaliação enviada (nota) |
| Tutor do atendimento | Todas as mensagens do atendimento (as suas e as do aluno). Vê também, no painel de contexto, dados do aluno no curso (inclusive os campos de identificação que o site permite, como número de identificação e e-mail) e as atividades que o aluno tem atrasadas e os próximos prazos, calculados pelo calendário do Moodle com as datas do aluno; sempre limitados às permissões do próprio tutor no Moodle. Nunca vê avaliações nem médias. |
Quem tem local/tutorchat:viewreports (sistema) | Página de supervisão: quadro ao vivo (nomes de tutores disponíveis; na fila, nome do aluno, do tutor e do curso), números por tutor, gráficos, lista de atendimentos (data, curso, aluno, tutor, situação, quem encerrou, como começou, tempos, nota e comentário da avaliação) e exportações dessas tabelas. Não vê o texto das mensagens. |
Quem tem também local/tutorchat:viewconversations (sistema) | Além do anterior, o texto das mensagens, na página somente de leitura "Ver conversa". Sem poder escrever. |
| Administradores do site | Têm as duas permissões. |
Nenhuma das duas permissões de supervisão é concedida a algum papel por padrão: a instituição decide a quem conceder. Elas só valem no contexto do sistema, ou seja, dão acesso a todos os cursos.
3. O que as exportações contêm
A supervisão permite baixar, em Excel ou CSV, a tabela por tutor e a lista de atendimentos. Os arquivos contêm números, nomes, curso, datas, situação e a avaliação (nota e comentário escrito pelo aluno). O texto das mensagens nunca é exportado, nem pelas exportações, nem pelos serviços da supervisão. Células que começam com um caractere que uma planilha poderia ler como fórmula são neutralizadas.
4. Retenção
- O plugin nunca apaga atendimentos por conta própria. Os atendimentos sem mensagem nova por 24 horas (configurável) são encerrados automaticamente, mas continuam guardados.
- Prazo de retenção das mensagens (opcional). A configuração Meses para guardar as mensagens (
retentionmonths, de 1 a 120; o padrão 0 significa nunca apagar) faz uma tarefa agendada (todo dia às 03:30) apagar em definitivo o texto das mensagens dos atendimentos encerrados há mais de tantos meses (meses de 30 dias, contados a partir da última atividade do atendimento). Os atendimentos em andamento nunca são tocados. O que permanece: o atendimento (curso, aluno, tutor, datas), a avaliação (nota e comentário) e o resumo de estatísticas. Não há como recuperar o texto apagado, a não ser por backup. Esse prazo é uma escolha da instituição e deve constar da sua política de privacidade. - Os demais dados saem: (a) pelas ferramentas de privacidade do Moodle (seção 5), (b) quando o curso é excluído (conversas, mensagens, avaliações e resumo do curso são apagados) ou (c) por exclusão direta no banco.
- A exclusão de uma conta de usuário, por si só, não apaga os dados do plugin: ao excluir a conta, o plugin apenas limpa os caches de tutores (item seguinte), e os atendimentos e mensagens continuam no banco. Use as ferramentas de privacidade para apagá-los.
- Caches. Para o desempenho, o plugin guarda temporariamente (10 minutos) no cache de aplicação do Moodle a lista de tutores de cada curso e a informação de que um usuário é tutor. São apenas dados que o próprio Moodle já tem (nome, campos da foto do perfil, papel); não há texto de mensagem, e o conteúdo é descartado quando a validade vence, quando papéis, inscrições ou usuários mudam ou quando a configuração Papéis de tutor é salva. Eles ficam onde o administrador configurou o armazenamento de cache do Moodle.
5. Acesso, exportação e exclusão (API de Privacidade do Moodle)
O plugin implementa a API de Privacidade (Administração do site → Usuários → Privacidade e políticas → Solicitações de dados). Os dados são localizados no contexto do curso (atendimentos, avaliações, resumo) e no contexto do próprio usuário (disponibilidade).
Exportação (pedido de acesso)
| Dado | O que o usuário recebe |
|---|---|
| Atendimentos | Para cada atendimento em que foi aluno, tutor ou autor de mensagem: situação, se foi aluno ou tutor, datas e as mensagens que ele mesmo enviou (não as do outro participante). Se a mensagem tem um cartão, a exportação mostra uma linha com o rótulo do item, como o usuário exportado o vê: [Atividade: nome], [Seção: nome] ou [Item indisponível] (a referência interna não é exportada) |
| Avaliações | Só as que o usuário deu como aluno: nota, comentário e data. O tutor não recebe as avaliações sobre ele |
| Disponibilidade | A chave ligada ou desligada, o último contato e os períodos de disponibilidade |
| Preferências | Som e avisos do navegador |
| Resumo de estatísticas | Não é exportado: é um dado derivado dos atendimentos e avaliações acima |
Exclusão
| Se o usuário era... | O que acontece |
|---|---|
| Aluno | Os atendimentos em que foi aluno são apagados por inteiro, inclusive as mensagens do tutor nesses atendimentos. As avaliações que deu são anonimizadas e mantidas: o aluno e o comentário são removidos; ficam a nota, o tutor e o curso. As linhas do resumo perdem o aluno e mantêm os números |
| Tutor | O plugin apaga apenas as mensagens que o tutor enviou, as avaliações recebidas e as linhas do resumo dele. Os atendimentos em que foi tutor permanecem (para os alunos), com as mensagens do aluno, e o campo que guarda o tutor (local_tutorchat_session.tutorid) não é anonimizado. As linhas do resumo são recriadas na próxima atualização, sem nota, mantendo tutor, aluno, curso e datas. Portanto o tutor continua identificável pelo código de usuário nos atendimentos, na lista de atendimentos e na tabela por tutor da supervisão. Esse comportamento vem desde a versão 1; a instituição deve tratá-lo na sua política de privacidade |
| Qualquer um | A disponibilidade e o histórico de disponibilidade do usuário são apagados |
O cartão acompanha a mensagem: é apagado junto com ela (as duas colunas fazem parte da linha da mensagem) e não existe fora dela.
Se a exclusão de um tutor precisa remover os próprios atendimentos, o pedido deve incluir os alunos envolvidos ou o curso.
6. Registro de leitura pela supervisão
Cada vez que alguém abre a página "Ver conversa", o Moodle registra o evento Conversa lida pela supervisão no log do site, com o usuário que leu, o atendimento e o aluno. Cada exportação gera o evento Relatório da supervisão exportado, com o relatório e o formato. Esses registros seguem a retenção do log do Moodle (a configuração de limpeza do log do site). O tutor e o aluno não são avisados quando a conversa é lida.
7. O que a instituição deve informar a alunos e tutores
Lista para a política de privacidade ou o aviso de uso do chat:
- [ ] Aos alunos: que o painel do tutor também mostra as atividades que o aluno tem atrasadas e os próximos prazos do curso, e que um aluno ou tutor pode enviar à conversa o cartão de uma atividade do curso.
- [ ] Que o chat com tutor existe, para que serve e em quais cursos está ativo.
- [ ] Que as mensagens ficam guardadas no Moodle; por quanto tempo a instituição as mantém e se o prazo automático (Meses para guardar as mensagens) está ativo, lembrando que o texto apagado não é recuperável e que o atendimento, a avaliação e as estatísticas permanecem.
- [ ] Quem pode ler as conversas: os dois participantes e as pessoas da coordenação a quem a permissão de leitura foi concedida (informe os cargos).
- [ ] Que a leitura pela supervisão fica registrada no log, mas os participantes não são avisados.
- [ ] Que as avaliações (nota e comentário) são vistas pela supervisão e nunca pelo tutor.
- [ ] Que os números dos atendimentos (tempos de resposta, duração, avaliações) são usados para acompanhar os tutores, e para qual finalidade.
- [ ] Aos tutores: que a disponibilidade e os períodos em que estiveram disponíveis são registrados.
- [ ] Aos alunos: que o tutor vê, em um painel, dados do aluno no curso (campos de identificação como número de identificação e e-mail, conforme a configuração do site, inscrição, grupos, último acesso, notas e conclusão, campos escolhidos pela instituição), conforme as permissões do tutor.
- [ ] Que a exportação da supervisão inclui nomes e comentários de avaliação, e quem pode exportá-la.
- [ ] Como exercer os direitos dos titulares (acesso, correção, exclusão) e qual é o canal.
- [ ] A base legal e o prazo de retenção escolhidos pela instituição, e quem é o controlador e o encarregado.
Dados de diagnóstico (telemetria)
Este documento explica, em linguagem simples, o que o plugin Chat com tutor (local_tutorchat) envia ao fornecedor, o que nunca envia, como desligar e como ver o pacote antes do envio. Serve também para o responsável pela proteção de dados da instituição. Não é aconselhamento jurídico.
Para que serve
O fornecedor usa esses dados para saber se o chat está funcionando bem (lento, com erros) e quanto é usado, para corrigir problemas antes que alguém reclame. O plugin não foi feito para enviar dado de pessoa; veja o limite da limpeza das mensagens de erro mais abaixo.
O que é enviado
O envio é ligado por padrão. Uma vez por dia (e de hora em hora, só quando há erro novo) o plugin envia um pacote em JSON, por HTTPS, assinado com uma chave derivada da licença.
| Grupo | O que vai |
|---|---|
| Identificação | Endereço do site, número da licença (ou "sem licença"), estado da licença e um número aleatório da instalação |
| Ambiente | Versões do Moodle, do PHP, do banco de dados e do plugin; nome do tema ativo |
| Uso (por dia) | Contagens: conversas abertas, mensagens, tempo médio até a primeira resposta do tutor, mensagens com emoji, avaliações, cartões, consultas e exportações da supervisão, mensagens por hora do dia, quantidade de alunos e de tutores ativos |
| Desempenho | Por função do chat: quantas chamadas, tempo médio e tempo do percentil 95; quantas chamadas gastaram mais de 1 segundo no total no banco de dados (slowdb.*); quanto tempo levou cada tarefa agendada do plugin |
| Erros | Erros das funções e das tarefas do plugin e erros de JavaScript do chat: tipo, mensagem limpa, arquivo e linha (caminho a partir da pasta do plugin; se não der, a partir da pasta do Moodle; se não der, só o nome do arquivo), quantas vezes, primeira e última vez |
Quando aparecem mais erros diferentes do que a fila comporta, os que sobram não são guardados; só um contador (errors.dropped) aumenta.
As contagens por hora do dia (usage.hour.*) usam o fuso horário do servidor; os dias em si são em UTC.
Nunca é coletado (por desenho)
O plugin foi feito para nunca coletar o que está nesta lista. Veja abaixo o limite da limpeza das mensagens de erro.
- Conteúdo de mensagens.
- Nomes de pessoas.
- E-mails.
- Números de usuário, de curso, de conversa ou de mensagem.
- Nomes de cursos.
- Endereços IP.
Limpeza das mensagens de erro (limite honesto)
Antes de guardar, a mensagem de um erro passa por uma limpeza: caminhos do servidor são trocados por [dirroot], [dataroot] ou [path], e-mails viram [email], números com 4 ou mais dígitos viram # e o texto é cortado em 300 caracteres. Para erros do Moodle (moodle_exception) só o código do erro é guardado, nunca o texto.
Atenção: nas mensagens de erro de outras origens (texto livre), um nome de pessoa dentro do texto não pode ser removido com certeza. Por isso dizemos que não se pretende enviar dado pessoal, mas não prometemos que isso seja impossível.
Como ver o pacote antes de ser enviado
Administração do site → Plugins → Plugins locais → Chat com tutor → Licença, e clique em Ver o que será enviado (ou abra /local/tutorchat/telemetry.php). A página mostra o pacote exato, em JSON, e diz se o envio está ligado. Só quem tem a permissão de configurar o site vê essa página.
Como desligar
Na mesma página (Licença), desmarque Enviar dados de diagnóstico ao fornecedor e salve. Com o envio desligado nada é coletado nem enviado, e os dados que estavam na fila são apagados na próxima rodada das tarefas agendadas. Pela linha de comando:
php admin/cli/cfg.php --component=local_tutorchat --name=telemetry --set=0
Outras informações
- O envio nunca acontece quando um usuário usa o chat; só nas tarefas agendadas (precisam do cron).
- Se o envio falhar, os dados ficam na fila e são descartados depois de 7 dias.
- O tempo máximo de cada tentativa é de 5 segundos.
- A declaração do plugin para as ferramentas de privacidade do Moodle informa esse envio externo.