🔒 停止在日志中泄露电子邮件、电话号码和卡片 — 了解 `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。

如果你使用 API、日志、隐私工具或安全系统,欢迎分享你对该库的使用方式。 🚀

0 浏览
Back to Blog

相关文章

阅读更多 »