Easy-to-use utilities to build privacy-preserving AI.
Documentation
SecureML is an open-source Python library that integrates with popular machine learning frameworks like TensorFlow and PyTorch. It provides developers with easy-to-use utilities to ensure that AI agents handle sensitive data in compliance with data protection regulations.
Key Features
- Data Anonymization Utilities:
- Privacy-Preserving Training Methods:
- Compliance Checkers: Tools to analyze datasets and model configurations for potential privacy risks
- Synthetic Data Generation:
- Regulation-Specific Presets:
- Audit Trails and Reporting:
Installation
With pip (Python 3.11-3.12):
pip install secureml Optional Dependencies
# For generating PDF reports for compliance and audit trails
pip install secureml[pdf]
For secure key management with HashiCorp Vault
pip install secureml[vault]
For all optional components
pip install secureml[pdf,vault]
Quick Start
Data Anonymization
Anonymizing a dataset to comply with privacy regulations:
import pandas as pd
from secureml import anonymize
Load your dataset
data = pd.DataFrame({
"name": ["John Doe", "Jane Smith", "Bob Johnson"],
"age": [32, 45, 28],
"email": ["john.doe@example.com", "jane.smith@example.com", "bob.j@example.com"],
"ssn": ["123-45-6789", "987-65-4321", "456-78-9012"],
"zip_code": ["10001", "94107", "60601"],
"income": [75000, 82000, 65000]
})
Anonymize using k-anonymity
anonymized_data = anonymize(
data,
method="k-anonymity",
k=2,
sensitive_columns=["name", "email", "ssn"]
)
print(anonymized_data)
Compliance Checking with Regulation Presets
SecureML includes built-in presets for major regulations (GDPR, CCPA, HIPAA, LGPD) that define the compliance requirements specific to each regulation:
import pandas as pd
from secureml import check_compliance
Load your dataset
data = pd.readcsv("yourdataset.csv")
Model configuration
model_config = {
"modeltype": "neuralnetwork",
"inputfeatures": ["age", "income", "zipcode"],
"output": "purchase_likelihood",
"trainingmethod": "standardbackprop"
}
Check compliance with GDPR
report = check_compliance(
data=data,
modelconfig=modelconfig,
regulation="GDPR"
)
View compliance issues
if report.has_issues():
print("Compliance issues found:")
for issue in report.issues:
print(f"- {issue['component']}: {issue['issue']} ({issue['severity']})")
print(f" Recommendation: {issue['recommendation']}")
Privacy-Preserving Machine Learning
Train a model with differential privacy guarantees:
import torch.nn as nn
import pandas as pd
from secureml import differentiallyprivatetrain
Create a simple PyTorch model
model = nn.Sequential(
nn.Linear(10, 64),
nn.ReLU(),
nn.Linear(64, 2),
nn.Softmax(dim=1)
)
Load your dataset
data = pd.readcsv("yourdataset.csv")
Train with differential privacy
privatemodel = differentiallyprivate_train(
model=model,
data=data,
epsilon=1.0, # Privacy budget
delta=1e-5, # Privacy delta parameter
epochs=10,
batch_size=64
)
Synthetic Data Generation
Generate synthetic data that maintains the statistical properties of the original data:
import pandas as pd
from secureml import generatesyntheticdata
Load your dataset
data = pd.readcsv("yourdataset.csv")
Generate synthetic data
syntheticdata = generatesynthetic_data(
template=data,
num_samples=1000,
method="statistical", # Options: simple, statistical, sdv-copula, gan
sensitive_columns=["name", "email", "ssn"]
)
print(synthetic_data.head())
Documentation
For detailed documentation, examples, and API reference, visit our documentation.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request or Issue. Our focus is expanding supported legislations beyond GDPR, CCPA, HIPAA, and LGPD. You can help us with that!
License
This project is licensed under the MIT License - see the LICENSE file for details.