Governança de Dados como Código
De planilhas a Git
Ler em inglêsImagine um pipeline em que toda política de governança — checagens de qualidade de dados, regras de acesso, restrições de conformidade — é executada automaticamente a cada commit. Sem Excel, sem burocracia, apenas governança como código. Esse é o salto de paradigma em que estamos entrando agora.
Por que Governança como Código? Se Infrastructure as Code e Security as Code transformaram seus campos, por que a governança de dados ainda está presa em documentos estáticos, wikis e planilhas?
Duas contribuições recentes deixam o caso claro:
Gable.ai descreve governança como o “RoboCop dos dados”, enfatizando automação, modularidade, CI/CD e controle de versão. Sukhpreet Kaur destaca como embutir confiança em escala exige políticas escritas e executadas como código — não como slideware.
A lógica é simples:
- Automação: Políticas são aplicadas em runtime, não depois do fato.
- Versionamento: Cada mudança é rastreável e revisável.
- Integração CI/CD: Governança vira parte do deploy, não um pensamento tardio.
- Auditabilidade: Conformidade não é checada uma vez por ano — é contínua.
Exemplo 1: Qualidade de Dados como Código com Python Usando Great Expectations, você pode definir regras de qualidade de forma declarativa:
from great_expectations.dataset import PandasDataset
import pandas as pd
class MyDataSet(PandasDataset):
@PandasDataset.expectation
def expect_cpf_not_null(self):
return {
"success": self['cpf'].notnull().all(),
"result": {"observed_value": int(self['cpf'].notnull().all())}
}
df = pd.DataFrame({'cpf': ['12345678901', None, '98765432100']})
print(MyDataSet(df).expect_cpf_not_null())
Isso impõe uma regra de negócio: nenhum valor nulo em CPF. Se o teste falhar, seu pipeline de CI/CD pode bloquear o merge ou o deploy — como testes unitários falhando.
Exemplo 2: Detectando Colunas de PII Automaticamente Em vez de codificar “cpf” na mão, faça varredura de um dataset por informações pessoalmente identificáveis (PII) e aplique regras de governança automaticamente.
import pandas as pd
import re
PII_PATTERNS = {
"cpf": r"^\d{11}@@CODEBLOCK_1@@quot;,
"email": r"[^@]+@[^@]+\.[^@]+",
"phone": r"^\+?\d{8,15}@@CODEBLOCK_1@@quot;
}
def detect_pii(df: pd.DataFrame):
pii_report = {}
for col in df.columns:
for pii_type, pattern in PII_PATTERNS.items():
if df[col].astype(str).str.match(pattern).any():
pii_report[col] = pii_type
return pii_report
Example usage
df = pd.DataFrame({
"user_id": [1, 2, 3],
"email": ["alice@mail.com", "bob@mail.com", "not_an_email"],
"phone": ["+5511999999999", "12345", None]
})
print(detect_pii(df)) # {'email': 'email', 'phone': 'phone'}
Isso pode ser integrado ao seu pipeline para que qualquer nova coluna contendo PII dispare mascaramento/criptografia automaticamente. Isso é governança como código de verdade: detecção + aplicação automatizada.
O Panorama Maior “Governança de Dados como Código” não é sobre ferramentas apenas — é uma nova mentalidade:
Pare de gerenciar governança em processos manuais. Comece a tratar governança como artefatos de software: testáveis, revisáveis, auditáveis. Integre governança ao seu ciclo de vida DevOps / DataOps.
É assim que realmente incorporamos confiança em escala: governança que vive dentro de pipelines, não em pastas.
Se infraestrutura e segurança evoluíram para “as code”, a governança também pode. Comece pequeno:
Escreva sua primeira checagem de qualidade com Great Expectations. Defina uma política simples no OPA. Commit no Git e rode em CI/CD.
Governança não é mais uma planilha. É código.