OpenCyber Academy
Tecnólogo · Capítulo 22 · Português
Código do curso: OCA-073Capítulo 22: OCA-073-C022

Capítulo 22 — Privacidade e proteção de dados: automação

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

Mapa da aula

Aula 22 publicada. Mapa, exemplo, EX064.

flowchart TD
  N0["22.1 A regra"]
  N1["22.2 Resultados"]
  N2["22.3 Exceções"]
  N3["22.4 Verificação"]
  N4["Laboratório — Exclusão automática de contas inativas"]
  N0 --> N1 --> N2 --> N3 --> N4
  N4 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX064"]

Desenho lógico

flowchart LR
  N0["22.1 A regra"]
  N1["22.2 Resultados"]
  N2["22.3 Exceções"]
  N3["22.4 Verificação"]
  N4["Laboratório — Exclusão automática de contas inativas"]
  N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX064"]
[22.1 A regra]
    |
    v
[22.2 Resultados]
    |
    v
[22.3 Exceções]
    |
    v
[22.4 Verificação]
    |
    v
[Laboratório — Exclusão automática de contas inativas]
    |
    v
[Exemplo resolvido] --> [Exercício EX064]

Objetivos de aprendizagem

Você vai (1) automatizar a exclusão de contas inativas; (2) tratar as exceções; (3) verificar os resultados.

22.1 A regra

A Quayside exclui as contas inativas há mais de dois anos, depois de um e-mail de aviso enviado trinta dias antes. Os dois anos seguem a tabela de retenção documentada da Quayside, que equilibra os alunos que voltam depois de longas pausas com a limitação da conservação. O aviso dá ao aluno a chance de manter a conta simplesmente entrando nela. As contas com dívida em aberto ficam retidas, porque a Quayside precisa dos registros para cobrar ou quitar a dívida; essa é uma exceção documentada, com prazo de retenção próprio, e não uma decisão tomada caso a caso.

22.2 Resultados

O laboratório processa 3.000 contas: 73 e-mails de aviso neste mês, 1.116 contas a excluir e 37 retidas por dívida em aberto. O script lê uma lista sintética de 3.000 contas com a data da última atividade e a marcação de dívida, e calcula quais chegam ao ponto de aviso neste mês, quais passaram do ponto de exclusão e quais ficam retidas. Ele imprime apenas contagens, e não identidades, e grava a lista dos números de conta afetados num arquivo protegido para a equipe de operações. Nenhum nome aparece na saída do console nem nos logs.

22.3 Exceções

As contas com dívida ficam retidas, com base documentada, até a resolução. Aisha registra cada decisão. Cada conta retida é revista todo mês, e, quando a dívida é quitada ou baixada, a conta entra na exclusão na rodada seguinte. Aisha considera outras exceções possíveis, como ações judiciais, e acrescenta uma marcação de retenção manual que só o encarregado pode definir. Cada retenção registra quem a definiu, quando e por quê, e as retenções sem justificativa são removidas na revisão mensal. Na primeira rodada, todas as trinta e sete retenções têm uma referência de dívida registrada.

22.4 Verificação

Aisha examina uma amostra das contas excluídas para confirmar a remoção em todos os sistemas. Para vinte contas, ela confere o sistema de matrículas, o banco do aplicativo, a plataforma de e-mail e o fornecedor de reservas. Na primeira rodada, o fornecedor ainda guarda três contas, porque sua interface de exclusão tinha falhado; a correção acrescenta uma etapa de confirmação pelo fornecedor. A exclusão agora é verificada, e não presumida, o que apoia a responsabilização do artigo 5(2). Vinte amostras por mês bastam para detectar uma ligação quebrada com um fornecedor. O Sr. Reilly observa que a automação aplica a limitação da conservação com confiabilidade.

Laboratório — Exclusão automática de contas inativas

# Automated deletion of inactive app accounts: inactive > 24 months, warn at 23 months, skip accounts with debt.
import random
r = random.Random(13)
acc = [(r.randint(0, 40), r.random() < 0.03) for _ in range(3000)]  # months inactive, outstanding debt
warn = sum(1 for m, d in acc if m == 23); dele = sum(1 for m, d in acc if m > 24 and not d); hold = sum(1 for m, d in acc if m > 24 and d)
print(f"accounts {len(acc)}; warning emails this month {warn}; delete {dele}; held for outstanding debt {hold}")

Execute com python3 lab_inactive.py. Saída verificada:

accounts 3000; warning emails this month 73; delete 1116; held for outstanding debt 37

Exemplo resolvido

A rotina de Aisha envia 73 avisos, exclui 1.116 contas e retém 37 com dívida, e as exclusões são verificadas por amostragem.

Caso sintético. As contas são sintéticas.

Erros e limites

A exclusão precisa chegar, com o tempo, aos backups e aos fornecedores.

Exercícios

Respostas comentadas

EX064. 1.116.

EX065. Têm dívida em aberto.

EX066. Por amostragem das contas excluídas em todos os sistemas.