CryptoServe Auto-Protect - Automatic encryption for third-party libraries
Project description
cryptoserve-auto
Automatic encryption for data flowing through third-party libraries.
The Problem
Your application uses hundreds of dependencies. Each may send sensitive data to external services. When quantum computing breaks classical encryption, these dependencies become attack vectors.
The Solution
One line of code automatically protects all outbound sensitive data:
import cryptoserve_auto
cryptoserve_auto.protect()
# Now all outbound requests are automatically protected
import requests
requests.post("https://api.vendor.com/users", json={
"name": "John Doe",
"email": "john@example.com", # Auto-encrypted
"ssn": "123-45-6789", # Auto-encrypted
})
Installation
pip install cryptoserve-auto
How It Works
- Intercepts outbound calls from popular libraries (requests, httpx, boto3)
- Detects sensitive fields using patterns and field names
- Encrypts data with quantum-ready algorithms before transmission
- Logs all protected data flows for audit visibility
Configuration
import cryptoserve_auto
cryptoserve_auto.protect(
# What to protect
libraries=["requests", "httpx"], # Default: all supported
patterns=["pii", "financial"], # Default: all patterns
# How to protect
encryption_key=key, # Required: your encryption key
mode="encrypt", # "encrypt" | "tokenize" | "log_only"
# Behavior
fail_open=True, # On error: pass through (True) or block (False)
async_logging=True, # Non-blocking audit logging
)
Supported Libraries
| Library | What's Protected |
|---|---|
requests |
POST/PUT/PATCH body data |
httpx |
POST/PUT/PATCH body data |
urllib3 |
Request bodies |
More coming: boto3, stripe, psycopg2, sqlalchemy, redis
Sensitive Field Detection
Automatic patterns:
- SSN:
XXX-XX-XXXX - Credit cards:
XXXX-XXXX-XXXX-XXXX - Emails:
user@domain.com - Phone numbers
Field name detection:
ssn,social_security,tax_idemail,phone,addresspassword,secret,api_keycredit_card,card_number
Custom patterns:
cryptoserve_auto.protect(
custom_patterns={
"employee_id": r"EMP-\d{6}",
},
custom_fields=["internal_id"],
)
Escape Hatch
# Temporarily disable protection
with cryptoserve_auto.unprotected():
requests.post(url, json=data) # Not intercepted
Audit Logging
All protected data flows are logged:
{
"timestamp": "2025-12-29T10:30:00Z",
"library": "requests",
"destination": "api.vendor.com",
"fields_protected": ["email", "ssn"],
"algorithm": "AES-256-GCM"
}
Performance
| Operation | Overhead |
|---|---|
| Field detection | ~5μs per field |
| Encryption | ~50μs per KB |
| Total request overhead | <1ms |
License
Apache 2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cryptoserve_auto-0.3.0.tar.gz.
File metadata
- Download URL: cryptoserve_auto-0.3.0.tar.gz
- Upload date:
- Size: 14.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ca04f6c284e347aedaf0cb9fdec2a981cde59fbf201c35b47c3eecade344d32
|
|
| MD5 |
e1c95fcecc661eca23ba7b4d4a27a14c
|
|
| BLAKE2b-256 |
181fc62f4775c67bef1de85354f578b2da78422e7d1f54cb395265e144c2bde9
|
File details
Details for the file cryptoserve_auto-0.3.0-py3-none-any.whl.
File metadata
- Download URL: cryptoserve_auto-0.3.0-py3-none-any.whl
- Upload date:
- Size: 14.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ede97e044262edad60c74cea607556b4d849ad2946623f127f1d3cd0f58ac83
|
|
| MD5 |
8fc4bd501f20ddaed04b7d6d4a5e9d7c
|
|
| BLAKE2b-256 |
3e137bd2a0075fda6900c828d38cced4e6130e4b54b2fb2b764b607e6fb5a8f8
|