Documentación

DataSentry

Escâner estático de conformidade e auditoria de proteção de dados para desenvolvedores.

Última atualização: 2026-07-15

O DataSentry é um escâner de privacidade estático, modular e local (offline-first) projetado para auditar repositórios de software e esquemas de banco de dados. Ele permite identificar de forma automatizada riscos de conformidade em relação a regulamentações de proteção de dados, incluindo a Lei N° 21.719 do Chile, a LFPDPPP do México, a Lei 1581 da Colômbia e a LGPD do Brasil, com suporte em andamento para o GDPR da UE, CCPA/CPRA da Califórnia e PIPEDA do Canadá.


Como Funciona (Sensores)

O escâner executa recursivamente três sensores especializados de auditoria no diretório do seu projeto:

1. Analisador de Esquema de Banco de Dados

Inspeciona arquivos de definição de banco de dados (.sql) para identificar campos de dados pessoais não criptografados (como senhas, e-mails, dados de saúde ou biométricos) e verifica a existência de procedimentos de referência de retenção ou mapeamentos de pseudonimização.

2. Analisador de Código-Fonte

Audita arquivos de código (.py, .js, .ts, .go, etc.) para detectar riscos de segurança, incluindo:

  • Segredos e chaves de API hardcoded.
  • Algoritmos criptográficos fracos (MD5, SHA1).
  • Protocolos de comunicação inseguros (HTTP, FTP, Telnet).
  • Vazamentos de dados pessoais em logs de console do aplicativo.
  • Implementação de rotas e endpoints relacionados aos direitos ARCO (Acesso, Retificação, Exclusão, Portabilidade).

3. Analisador de Transparência e Consentimento

Varre modelos de interface do usuário e documentação para verificar a presença de uma política de privacidade e detectar padrões escuros de consentimento (como caixas de seleção pré-marcadas).


Opções de Configuração

Você pode configurar o comportamento do escâner de forma declarativa colocando um arquivo datasentry-project.properties na raiz do seu projeto.

Parâmetros Disponíveis:

ParámetroValor PadrãoDescrição
datasentry.projectKeydefault_projectIdentificador exclusivo do seu projeto no SafeData.
datasentry.organizationdefault_orgNome da sua organização.
datasentry.sources.Diretório raiz para iniciar a verificação.
datasentry.exclusionsvenv/**,**/node_modules/**Lista de padrões glob separados por vírgula para ignorar no escaneamento.
datasentry.privacyPolicyPathPRIVACY.mdCaminho esperado para o documento da Política de Privacidade.
datasentry.lawsallLeis ativas para validação (chile-21719, mexico-lfpdppp, colombia-1581, brazil-lgpd, all).
datasentry.log.levelINFONível de detalhe do log no console (DEBUG, INFO, WARN, ERROR).

Exemplo de Arquivo de Configuração:

# datasentry-project.properties
datasentry.projectKey=meu_projeto_conformidade
datasentry.organization=minha_empresa
datasentry.sources=.
datasentry.exclusions=venv/**,**/__pycache__/**,**/node_modules/**,**/dist/**
datasentry.privacyPolicyPath=docs/privacy.md
datasentry.laws=chile-21719,mexico-lfpdppp,colombia-1581,brazil-lgpd
datasentry.log.level=INFO

Como Executar o Escâner

1. Executando via Python CLI

Instale as dependências e execute o comando de análise:

python3 main.py analyze --target /caminho/do/projeto --laws all

2. Executando via Docker (Recomendado)

Para uma execução isolada sem necessidade de configurar o Python localmente, use a imagem Docker mapeando a pasta do seu código no volume /src:

# Construir a imagem local do escâner
docker build -t datasentry-scanner:local -f Dockerfile.local .

# Executar a auditoria
docker run --rm -v "/caminho/do/meu-codigo:/src" datasentry-scanner:local analyze --target /src

.privacyignore File

Se precisar excluir arquivos ou diretórios específicos da auditoria de privacidade (por exemplo, arquivos de teste ou bancos de dados fictícios), crie um arquivo .privacyignore na raiz do seu projeto:

# .privacyignore
tests/fixtures/mock_data.sql
src/legacy/auth_test.py