◈ ProjView
← todos os projetos

Umbra

Java Privacidade GitHub ↗

Simulador de privacidade em Java que detecta/anonimiza dados sensíveis em JSON.

11 testes · 11 passou · 0 falhou · 0 skip

Entrypoints (CLI)

Módulos e funções principais

Estrutura de arquivos

README

# 🌑 Project Umbra: Simulador de Privacidade e Anonimização de Dados <p align="center"> <a href="#sobre-o-projeto">Sobre</a> &nbsp; | &nbsp; <a href="#características-principais">Características</a> &nbsp; | &nbsp; <a href="#estrutura-do-projeto">Estrutura</a> &nbsp; | &nbsp; <a href="#instalação-e-uso">Instalação</a> &nbsp; | &nbsp; <a href="#contribuição">Contribuição</a> &nbsp; | &nbsp; <a href="#licença">Licença</a> </p> ## ✨ Sobre o Projeto **Project Umbra** é um simulador avançado de privacidade desenvolvido em **Java** que visa demonstrar a viabilidade e a eficácia da **anonimização automática** de dados pessoais identificáveis (PII) em arquivos JSON. O sistema atua como uma **camada de proteção invisível**, processando dados sensíveis de forma ética e eficiente, garantindo que a privacidade seja mantida sem comprometer a integridade estrutural dos dados necessários para testes ou análises. ## 🎯 Objetivo O principal objetivo do Umbra é fornecer uma prova de conceito robusta e uma ferramenta prática para: * **Detecção:** Identificar PII (e-mails, CPFs/CNPJs, telefones, etc.) em JSONs usando lógica de correspondência (e.g., RegEx). * **Anonimização:** Aplicar técnicas como mascaramento, tokenização ou pseudonimização aos dados detectados. ## 🚀 Características Principais * **Processamento JSON Nativo:** Leitura e escrita otimizada para o formato JSON. * **Detecção Orientada à RegEx:** Módulo de detecção facilmente configurável via expressões regulares para abranger diversos tipos de PII. * **Estratégias de Anonimização:** Suporte a múltiplas técnicas de anonimização (e.g., hash, substituição de caracteres, truncamento). * **Interface de Linha de Comando (CLI):** Uso simples e direto através do terminal. * **Java e Maven:** Construído com Java para desempenho e gerenciamento de dependências via `pom.xml`. ## 📂 Estrutura do Projeto A estrutura de diretórios segue a convenções de projetos Maven em Java: 📦 Umbra ├── 📚 docs/ │ └── 📄 Pesquisas.md ├── 🧪 examples/ ├── 📥 input/ │ └── 🔐 sensitive_data.json ├── 📤 output/ ├── 💻 src/ │ ├── 🧩 main/ │ │ └── 📂 java/com/umbra/ │ │ ├── 🛡️ anonymization/ │ │ ├── ⚙️ core/ │ │ └── 🔍 detection/ │ └── 🧪 test/java/ ├── 📄 LICENSE.md ├── 📄 pom.xml └── 📄 README.md ## Build e execução (resumo) Projeto **Java (Maven)** — requer JDK 17+ e `mvn` instalado. ```bash git clone https://github.com/Diogo-Damasceno/Umbra.git cd Umbra mvn package # gera o JAR em target/ java -jar target/umbra-*.jar ``` Exemplos de entrada/saída ficam em `examples/` e a documentação detalhada em `docs/`.
Umbra SIM NÃO JSON de entrada Detectar campos sensíveis (regex/ML leve) Campo sensível? Anonimizar (mascarar/hash) Reconstruir JSON preservando estrutura JSON anonimizado (privacidade ética)

Como rodar na prática (entrada → saída):

$ umbra anon data.json
{
  "nome": "***",
  "cpf": "***.***.***-**",
  "email": "***@***",
  "pedido": "8821",
  "valor": 149.90
}

3 campos sensíveis anonimizados (privacidade ética)