Compliance Service
godml aplica automáticamente las políticas de compliance antes del entrenamiento — ningún dato sensible llega al modelo sin ser tratado.
Configuración
governance:
compliance: pci-dss # norma a aplicar
policy: mask_sensitive # qué hacer con datos sensibles
Políticas disponibles
policy | Comportamiento |
|---|---|
mask_sensitive | Enmascara columnas sensibles con ***MASKED*** |
drop_sensitive | Elimina completamente las columnas sensibles |
hash_sensitive | Reemplaza con SHA-256 (trazable pero no reversible) |
PCI-DSS
La norma pci-dss detecta y trata automáticamente:
| Tipo de dato | Ejemplo | Acción |
|---|---|---|
| Número de tarjeta | 4532015112830366 | Mask/Drop/Hash |
| CVV | 123 | Mask/Drop/Hash |
| Fecha de expiración | 12/26 | Mask/Drop/Hash |
| Nombre del titular | Columnas con name, titular | Mask/Drop/Hash |
| Dirección de email | user@example.com | Mask/Drop/Hash |
| Número de cuenta | Columnas con account, cuenta | Mask/Drop/Hash |
Detección de PII
godml detecta PII por nombre de columna y por contenido:
# Columnas detectadas automáticamente como sensibles:
PII_COLUMNS = [
"email", "phone", "telefono", "nombre", "name",
"ssn", "rfc", "curp", "credit_card", "tarjeta",
"address", "direccion", "ip_address", "password",
]
Dataset compliant
Guarda el dataset después de aplicar compliance:
dataset:
uri: ./data/raw.csv
compliant_output: ./data/clean_pci.csv # ← guardado aquí
target: amount_fraud
governance:
compliance: pci-dss
policy: mask_sensitive
El archivo clean_pci.csv puede ser auditado para demostrar compliance.
Ejemplo
Dataset original:
customer_id | email | credit_card | amount | fraud
1 | john@example.com | 4532015112830366 | 150.00 | 0
2 | mary@example.com | 5425233430109903 | 2500 | 1
Después de mask_sensitive:
customer_id | email | credit_card | amount | fraud
1 | ***MASKED*** | ***MASKED*** | 150.00 | 0
2 | ***MASKED*** | ***MASKED*** | 2500 | 1
El modelo entrena con amount y fraud — sin datos sensibles.
Con SageMaker
El compliance también se aplica en el PreprocessingStep de SageMaker, antes de que los datos lleguen al container de entrenamiento:
provider: sagemaker
governance:
compliance: pci-dss
policy: drop_sensitive
→ Modelos