← Últimos artigos
⚡ electrical engineering

Harpocrates: A Statically Typed Privacy Conscious Programming Framework

O artigo apresenta o Harpocrates, um framework e plugin de compilador para Scala que garante a privacidade dos dados através de membranas oblívias e tipagem estática, centralizando a aplicação das políticas de proteção no local de declaração para permitir atualizações de lógica sem modificar o código das aplicações dependentes.

Autores originais: Sinan Pehlivanoglu, Malte Schwarzkopf

Publicado 2026-02-20
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Sinan Pehlivanoglu, Malte Schwarzkopf

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você é o dono de uma grande biblioteca de segredos (os dados dos usuários) e precisa garantir que ninguém leia um livro sem permissão. Até agora, a maneira de fazer isso era colocar um guarda em cada porta, em cada corredor e em cada estante, pedindo para cada funcionário lembrar manualmente: "Ei, você não pode mostrar esse livro para o João, mas pode para a Maria".

O problema é que, em bibliotecas gigantes (como o Facebook ou grandes aplicativos), os funcionários esquecem, os guardas se confundem e, às vezes, um livro sai da biblioteca sem ninguém perceber. Além disso, as regras mudam toda hora (como as leis de privacidade GDPR), e ter que avisar cada funcionário de cada mudança é um pesadelo.

O que é o Harpocrates?

O Harpocrates é como um sistema de "livros mágicos" que você introduz na sua biblioteca. Com o Harpocrates, você não precisa mais colocar guardas em cada porta. Em vez disso, você transforma os próprios livros.

Aqui está como funciona, usando analogias simples:

1. O Livro "Invólucro" (Membranas Cegas)

No Harpocrates, quando um livro (dado) entra na biblioteca, ele é imediatamente colocado dentro de um invólucro mágico e indestrutível.

  • A mágica: Esse invólucro é "cego" (oblivious). Isso significa que o livro dentro dele se comporta exatamente como um livro normal. Você pode abrir, ler, copiar e passar o livro para outra pessoa, e o invólucro não atrapalha.
  • A segurança: O segredo é que não existe mais a versão "nua" do livro. Se você tentar pegar o livro sem o invólucro, ele simplesmente não existe. O código do programa foi transformado pelo compilador (o "arquiteto" da biblioteca) para garantir que todo dado sensível nasça já protegido.

2. O Guardião Centralizado (A Política)

Antes, cada funcionário tinha que saber as regras. Com o Harpocrates, existe apenas um único Guardião Mestre (a classe de Política).

  • Quando alguém tenta tirar o livro da biblioteca (enviar um e-mail, salvar no banco de dados, mostrar na tela), o livro passa por uma porta de saída única.
  • Nesse momento, o Guardião Mestre verifica: "Quem está pedindo? Qual é a regra para este livro específico?".
  • Se a regra for atendida, o Guardião abre o invólucro e deixa o livro sair. Se não, o livro fica preso.
  • Vantagem: Se a lei mudar amanhã (ex: "Agora ninguém pode ver e-mails de bandas X"), você só precisa atualizar a regra do Guardião Mestre. Todos os livros da biblioteca automaticamente obedecem à nova regra. Ninguém precisa ser reensinado.

3. A "Cola" Inteligente (Compilador)

O grande truque do Harpocrates é que ele é um plugin para a linguagem Scala (a linguagem de programação usada).

  • Pense no compilador como um chef de cozinha. Quando você escreve a receita (o código), o chef pega os ingredientes crus (dados sensíveis) e, antes de servir, ele os envolve automaticamente no invólucro mágico.
  • O programador não precisa mudar o jeito que cozinha. Ele continua usando as panelas e facas de sempre. O chef (compilador) faz o trabalho sujo de adicionar as verificações de segurança nos lugares certos, sem que o programador precise escrever centenas de linhas de código de segurança.

4. O Cenário Real: O Vizion

Os autores testaram isso em um software real chamado Vizion, usado por músicos para gerenciar suas carreiras.

  • O Problema: Músicos queriam enviar e-mails para revistas, mas as revistas podiam ter pedido para não receber mais (cancelar assinatura). O sistema precisava checar isso antes de enviar.
  • Sem Harpocrates: Os programadores teriam que colocar um if (se) em cada lugar do código onde um e-mail fosse enviado. Se esquecessem um lugar, vazamento de dados.
  • Com Harpocrates: Eles definiram a regra uma vez ("Se a revista cancelou, não envie"). O sistema garantiu que, em qualquer lugar onde o e-mail tentasse sair, a regra fosse checada automaticamente.

Os Resultados (O Preço da Segurança)

  • Tempo de Construção: O sistema ficou um pouco mais lento para "construir" (compilar) o software (cerca de 8% a mais), mas é um preço pequeno pela segurança.
  • Tempo de Uso: Quando o software está rodando, há um pequeno atraso (cerca de 8% a mais) porque o Guardião precisa checar a regra a cada saída. Mas isso é necessário! O importante é que, ao contrário do método antigo (onde o humano esquecia de checar), o Harpocrates nunca esquece.

Resumo Final

O Harpocrates é como transformar a segurança de um prédio de "guardas humanos que podem errar" para "portas inteligentes que só abrem se a chave for correta".

  • Para o programador: É fácil. Ele escreve o código normal e o sistema cuida da proteção.
  • Para a empresa: É seguro. As regras estão centralizadas e é impossível esquecer de protegê-las.
  • Para o usuário: Seus dados estão mais seguros, sem que você precise saber como a mágica funciona.

É uma forma de garantir que, em um mundo digital cheio de vazamentos, a privacidade seja a regra, não uma exceção que depende da memória de alguém.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →