Capítulo 10 — Privacidade e proteção de dados: configuração de controles
Mapa da aula
Aula 10 publicada. Mapa, exemplo, EX037.
flowchart TD
N0["10.1 Cookies e consentimento"]
N1["10.2 O laboratório dos cookies"]
N2["10.3 Corrigir a configuração"]
N3["10.4 Verificar a mudança"]
N4["Laboratório — Cookies gravados antes do consentiment"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX037"]
Desenho lógico
flowchart LR
N0["10.1 Cookies e consentimento"]
N1["10.2 O laboratório dos cookies"]
N2["10.3 Corrigir a configuração"]
N3["10.4 Verificar a mudança"]
N4["Laboratório — Cookies gravados antes do consentiment"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX037"]
[10.1 Cookies e consentimento]
|
v
[10.2 O laboratório dos cookies]
|
v
[10.3 Corrigir a configuração]
|
v
[10.4 Verificar a mudança]
|
v
[Laboratório — Cookies gravados antes do consentiment]
|
v
[Exemplo resolvido] --> [Exercício EX037]
Objetivos de aprendizagem
Você vai (1) conferir o comportamento dos cookies num site; (2) configurar o consentimento corretamente; (3) verificar as mudanças de configuração.
10.1 Cookies e consentimento
O site de agendamento da Marlow grava cookies e tecnologias semelhantes. O artigo 5(3) da Diretiva ePrivacy exige consentimento antes de armazenar ou ler informações no aparelho do usuário, salvo quando isso é estritamente necessário para um serviço que ele pediu. As Diretrizes 05/2020 do EDPB explicam que o consentimento deve ser livre, específico, informado e inequívoco. A tarefa de Leila é técnica: conferir que cookies o site de fato grava, quando, e se o banner os controla como o aviso diz. Cookies que só lembram as configurações escolhidas pelo visitante podem ser isentos, mas apenas depois que ele fez a escolha.
10.2 O laboratório dos cookies
Leila abre o site num perfil de navegador limpo, registra os cookies antes de interagir com o banner e repete depois de aceitar. O laboratório resume seus resultados sintéticos: sete cookies, dos quais três são gravados antes do consentimento sem isenção. O cookie de análise de uso e um pixel de publicidade carregam imediatamente. Um cookie de idioma também é gravado automaticamente antes de o visitante escolher um idioma, então não é claramente necessário para um serviço pedido. Os cookies de sessão e de token de segurança são estritamente necessários e carregam imediatamente, de forma correta.
10.3 Corrigir a configuração
O site usa um gerenciador de tags para carregar os scripts. Leila trabalha com o desenvolvedor web para que as tags de análise e de publicidade só disparem depois que o consentimento for registrado, e para que o cookie de idioma só seja gravado quando o visitante escolher um idioma. O banner muda para que recusar seja tão fácil quanto aceitar, com botões do mesmo tamanho na primeira camada. O pixel de publicidade é removido por completo, porque a Marlow não faz campanhas que precisem dele e ninguém soube explicar por que tinha sido instalado.
10.4 Verificar a mudança
Leila repete o teste num perfil limpo depois da mudança. Antes do consentimento, só aparecem os cookies de sessão e de segurança. Depois de recusar, nenhum cookie de análise aparece, mesmo navegando por várias páginas. Depois de aceitar, a análise carrega como esperado. Ela registra os resultados com datas, versões do navegador e capturas de tela de cada lista de cookies. Também acrescenta o teste à lista de verificação de cada versão do site, porque mudanças e plugins novos costumam trazer de volta tags que carregam antes do consentimento, e um teste rápido pega isso antes que os pacientes sejam afetados.
Laboratório — Cookies gravados antes do consentimento
"""Check which cookies a synthetic booking site sets before consent (stdlib only)."""
cookies = [
("session_id", "strictly necessary", "before"),
("csrf_token", "strictly necessary", "before"),
("lang", "functional", "before"),
("_ga", "analytics", "before"),
("_fbp", "advertising", "before"),
("chat_widget", "functional", "after"),
("ab_test", "analytics", "after"),
]
bad = [c for c in cookies if c[2] == "before" and c[1] not in ("strictly necessary",)]
for n, cat, when in cookies:
flag = "PROBLEM" if (n, cat, when) in bad else "ok"
print(f"{n:12s} {cat:19s} set {when:6s} consent {flag}")
print(f"cookies set before consent without exemption: {len(bad)} of {len(cookies)}")
Execute com python3 lab_cookies.py. Saída verificada:
session_id strictly necessary set before consent ok
csrf_token strictly necessary set before consent ok
lang functional set before consent PROBLEM
_ga analytics set before consent PROBLEM
_fbp advertising set before consent PROBLEM
chat_widget functional set after consent ok
ab_test analytics set after consent ok
cookies set before consent without exemption: 3 of 7
Exemplo resolvido
Leila encontra três de sete cookies gravados antes do consentimento sem isenção, faz as tags dispararem só depois do consentimento, remove um pixel de publicidade sem uso, iguala os botões do banner e verifica num perfil limpo.
Caso sintético. O site é sintético; o artigo 5(3) da Diretiva 2002/58/CE e as Diretrizes 05/2020 do EDPB são reais.
Erros e limites
O nome do cookie não prova a finalidade; confira o que cada script de fato faz.
Exercícios
- EX037 — Antes do consentimento. Quantos cookies eram gravados antes do consentimento sem isenção? Rubrica: 3 = 3 de 7;; 2 = parcialmente correta;; 1 = errada;; 0 = nenhuma.
- EX038 — Cookie de idioma. Por que o cookie de idioma era um problema? Rubrica: 3 = era gravado antes de o visitante escolher um idioma;; 2 = menciona escolha;; 1 = vago;; 0 = nenhuma.
- EX039 — Decisão sobre o pixel. O que aconteceu com o pixel de publicidade? Rubrica: 3 = foi removido; ninguém precisava dele;; 2 = menciona remoção;; 1 = adiado;; 0 = nenhuma.
- EX040 — Verificação a cada versão. Por que acrescentar o teste de cookies à lista de cada versão? Rubrica: 3 = as mudanças costumam reintroduzir tags precoces;; 2 = menciona regressões;; 1 = vago;; 0 = nenhuma.
Continue estudando — aula 10 (capítulo 10 de 18)
← Capítulo 09 · Índice das aulas · Capítulo 11 →
Continue para a próxima aula já escrita.