🔒 停止在日志中泄露电子邮件、电话号码和卡片 — 了解 `validata-py`
发布: (2026年5月8日 GMT+8 14:48)
3 分钟阅读
原文: Dev.to
Source: Dev.to
简介
validata-py 是一个轻量级、注重隐私的 Python 库,提供简单、统一、可直接用于生产环境的数据脱敏。它帮助防止电子邮件、电话号码、卡号等敏感信息泄露到日志、监控系统或调试负载中。
安装
pip install validata-py
使用方法
导入
from validata_py import Veil
邮箱脱敏
Veil.shield_email("alice@example.com")
# a****@e******.com
电话号码脱敏
Veil.shield_phone("+91 98765-43210")
# +91 *****-3210
卡号脱敏
Veil.shield_card("4111 1111 1111 1111")
# **** **** **** 1111
自由文本中的 PII 清理
Veil.scrub_text("Contact me at dev@example.com or 9876543210")
# Contact me at [EMAIL] or [PHONE]
负载脱敏
payload = {
"name": "Priya Sharma",
"email": "priya@example.com",
"mobile": "+91-98765-43210",
"salary": 950000,
}
blueprint = {
"name": "text",
"email": "email",
"mobile": "phone",
"salary": "zero",
}
masked = Veil.shield_payload(payload, blueprint)
print(masked)
输出
{
"name": "P**********a",
"email": "p****@e******.com",
"mobile": "+91-*****-3210",
"salary": 0
}
通用遮盖
Veil.cover("secret-token", from_index=3)
# sec*********
关键特性
- 零依赖 – 开箱即用。
- 单一导入、单一类 –
Veil。 - 统一的 API,支持邮箱、电话、卡号以及任意文本。
- 保持格式的脱敏(例如保留空格、短横线)。
- 负载级别的脱敏,配合简易的蓝图 schema。
- 生产就绪,符合 GDPR 要求。
常见使用场景
- 后端 API
- 日志系统
- GDPR / 隐私工作流
- 审计流水线
- 调试负载清理
- 安全工具
- 内部管理后台
- 数据匿名化
可扩展性与未来设想
该库设计为可扩展。计划或正在探索的功能包括:
- PAN(主账号号码)脱敏
- Aadhaar 脱敏
- IBAN 脱敏
- 自定义正则策略
- 异步处理
- FastAPI 中间件集成
- 结构化日志清理器
欢迎社区贡献代码和想法。
贡献指南
validata-py 仍处于早期开源阶段。欢迎提供反馈、功能建议、错误报告以及 Pull Request。
- GitHub 仓库: https://github.com/vishnusharma511/validata-py
- PyPI 包: https://pypi.org/project/validata-py/
如果你使用 API、日志、隐私工具或安全系统,欢迎分享你对该库的使用方式。 🚀