Umbra
Simulador de privacidade em Java que detecta/anonimiza dados sensíveis em JSON.
11 testes · 11 passou · 0 falhou · 0 skip
- detectsCpf0.03s
- detectsIp0.00s
- detectsEmail0.00s
- detectsPhone0.00s
- isPIIAggregates0.00s
- masksEmail0.00s
- masksPhone0.00s
- hashesOneWay0.02s
- masksCpf0.00s
- leavesNonPiiUntouched0.00s
- ipFullyMasked0.00s
Entrypoints (CLI)
- —
Módulos e funções principais
Estrutura de arquivos
- LICENSE.md
- README.md
- docs/Pesquisas.md
- examples/input/sensitive_data.json
- pom.xml
README
# 🌑 Project Umbra: Simulador de Privacidade e Anonimização de Dados
<p align="center">
<a href="#sobre-o-projeto">Sobre</a> |
<a href="#características-principais">Características</a> |
<a href="#estrutura-do-projeto">Estrutura</a> |
<a href="#instalação-e-uso">Instalação</a> |
<a href="#contribuição">Contribuição</a> |
<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/`.
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)