MousePlayer e consentimento

Gravações de sessão exigem consentimento. Veja como instalar o MousePlayer para que nada seja gravado antes de o visitante concordar — e como comprovar isso depois.

Por que o consentimento é obrigatório

O MousePlayer grava movimentos do mouse, cliques, rolagem e alterações do DOM. Isso é observação de comportamento nos termos do considerando 24 do GDPR e acesso ao dispositivo do visitante nos termos do § 25 da TDDDG e normas equivalentes. Exige consentimento. O legítimo interesse não basta como fundamento.

O ônus de comprovar um consentimento válido é seu, como controlador. Por isso, o MousePlayer registra não apenas que houve consentimento, mas também de onde veio o sinal, quando ele chegou e qual configuração estava em vigor naquele momento.

O padrão é a recusa. Sem um sinal, o MousePlayer não cria ID de sessão, não grava nada no armazenamento, não define cookie e não abre conexão. Não existe nenhum caminho em que um tempo esgotado, um erro ou uma resposta ausente leve a “permitido”.

1Opção 1 — deixe a sua ferramenta de consentimento bloquear o script

O snippet é incorporado com type="text/plain" e o atributo de categoria da sua CMP. Antes do consentimento, ele simplesmente não é executado. Nada pode acontecer cedo demais, porque nada roda. É a única opção que não depende de um sinal chegar corretamente.

Ferramenta de consentimentoAtributo para a tag script
Usercentricstype="text/plain" data-usercentrics="MousePlayer"
Cookiebottype="text/plain" data-cookieconsent="statistics"
OneTrusttype="text/plain" class="optanon-category-C0002"
Consentmanagertype="text/plain" class="cmplazyload" data-cmp-purpose="1"
Borlabsdata-borlabs-cookie-blocker type="text/template"
Complianztype="text/plain" data-category="statistics"
<script type="text/plain" data-cookieconsent="statistics">
window.mp_config = {
    channel: 'YOUR-CHANNEL-ID',
    mode: 'web_only'
};

window.mp = window.mp || function() { (window.mp.q = window.mp.q || []).push(arguments); };
(function(w, d, s, id) {
    w.mp_channelid = id;
    var f = d.getElementsByTagName(s)[0], j = d.createElement(s);
    j.async = true; j.src = 'https://www.mouseplayer.com/mp.js';
    f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'YOUR-CHANNEL-ID');
</script>

Os nomes dos atributos mudam entre as versões principais dessas ferramentas. Confira a grafia atual na documentação da sua CMP — um atributo digitado errado significa zero gravações, e a falha vai parecer nossa.

2Opção 2 — o seu próprio banner

Use o snippet padrão e informe o MousePlayer você mesmo. A linha abaixo funciona antes e depois de o script carregar, então a ordem na sua página não importa. A revogação funciona a qualquer momento — inclusive minutos depois.

Depois que o visitante concordar:

(window.mp_q = window.mp_q || []).push(['consent', true]);

Na revogação, a qualquer momento:

(window.mp_q = window.mp_q || []).push(['consent', false]);

Use sempre a forma (window.mp_q = window.mp_q || []). Um simples window.mp_q = [] substitui o array e quebra a revogação.

3Opção 3 — detecção automática

Só o snippet padrão. O MousePlayer detecta sozinho o Google Consent Mode v2, o IAB TCF v2 e sete ferramentas de consentimento comuns (Consented.eu, Usercentrics, Cookiebot, OneTrust, Consentmanager, Borlabs, Complianz) e respeita o Global Privacy Control incondicionalmente. Use esta opção apenas quando nenhuma das anteriores for possível: a detecção depende de a outra ferramenta se comportar como esperado, e você não vai perceber quando isso não acontecer.

O que acontece na revogação

A parada é imediata, e não no fim da página:

  • todos os listeners de gravação são removidos e os dois observers são desconectados; só continua ativa a escuta de um novo consentimento
  • todos os timers são limpos e a conexão é encerrada sem reconectar
  • o buffer é descartado, não enviado — caso contrário, fechar a aba entregaria exatamente os dados que acabaram de ser recusados
  • os identificadores e marcadores que o MousePlayer armazenou no local storage e no session storage para a gravação são excluídos; se, após a revogação, a sua ferramenta de consentimento bloquear o script por completo, de modo que ele não inicie mais, eles permanecem até que os dados do navegador sejam limpos, mas não são mais usados
  • a revogação é comunicada ao servidor enquanto a conexão ainda está aberta e é registrada, para que o evento continue comprovável

Configurações do projeto

Em Projeto → Configurações → Consentimento e regiões, você decide se o servidor aceita gravações apenas com um sinal de consentimento (recomendado) ou, em regiões liberadas explicitamente, também sem ele. O próprio script não abre nenhuma conexão sem um sinal de consentimento; uma liberação afrouxa apenas a verificação no servidor, não esta. UE/EEE, Reino Unido, Suíça, Brasil e Canadá não podem ser liberados — a lei exige consentimento prévio. A região é determinada no servidor a partir do endereço IP; o endereço IP é armazenado apenas de forma truncada (sem o último octeto ou bloco), junto com o país.

O que deve constar na sua política de privacidade

  • o MousePlayer como operador, com a finalidade: analisar o comportamento de uso por meio de gravações de sessão e mapas de calor
  • que a gravação exige consentimento e como os visitantes podem revogá-lo
  • o prazo de retenção acordado para as gravações

Existe uma versão pronta. Texto de política de privacidade para o seu site traz o parágrafo para colar — em versão curta e detalhada —, a tabela para a sua visão geral de cookies e os três pontos em que ele deixa de ser verdadeiro quando você muda uma configuração.

Nenhuma gravação chegando?

  • Confira o atributo de categoria com a documentação da sua CMP — um atributo errado bloqueia o script permanentemente
  • Garanta que a linha de consentimento rode antes ou depois do snippet, e não dentro de um bloco que nunca é executado
  • O Global Privacy Control no navegador do visitante prevalece sobre qualquer sim, no mundo inteiro e incondicionalmente
  • Páginas na sua lista de exclusão nunca são gravadas, independentemente do consentimento