🇰🇪 肯尼亚开发者:将 Huduma Namba / National ID 添加到 AI 身份标准 — Soulprint 开源 (30 min PR)
发布: (2026年2月26日 GMT+8 08:33)
3 分钟阅读
原文: Dev.to
Source: Dev.to
概览
AI 代理每天为我们做决定——购物、发送邮件、签署文件——但我们无法保证背后是真正的人。Soulprint 通过 零知识证明 来解决这个问题,全部在设备上 100 % 运行,开源(MIT),且免费使用。
肯尼亚的 Huduma Namba / 国家身份证 目前尚未在 Soulprint 中支持。你只需一次 Pull Request,大约 30 分钟 即可添加。
将 Huduma Namba / 国家身份证加入 Soulprint
-
本地验证
npx soulprint verify-me # 扫描身份证 + 人脸匹配 —— 全部本地完成 # → SPT token (score 0‑100) -
在每个 AI 代理请求中包含该 token
X-Soulprint: eyJ... (score: 84) -
在服务器上验证 token(仅 3 行代码)
import { requireSoulprint } from "soulprint-mcp"; server.tool( "premium", requireSoulprint({ minScore: 80 }), handler );
ZK‑Proof 细节
- 电路:Circom 2.1.8
- 证明系统:Groth16
- 约束数量:844
- 生成时间:564 ms
- 验证时间:25 ms
国家身份证和 Huduma Namba 都由 8 位数字 组成(护照号码为 9 位字母数字字符)。
肯尼亚国家验证器(TypeScript)
// packages/verify-local/src/document/countries/KE.ts
import {
CountryVerifier,
DocumentResult,
NumberValidation,
} from "../verifier.interface";
const KE: CountryVerifier = {
countryCode: "KE",
countryName: "Kenya",
documentTypes: ["national_id", "huduma"],
parse(ocrText: string): DocumentResult {
// Huduma Namba / National ID format: 8 digits
const doc_number = ocrText.match(/(\d{8})/)?.[1] ?? "";
return { valid: !!doc_number, doc_number, country: "KE" };
},
validate(docNumber: string): NumberValidation {
// exactly 8 digits
return { valid: /^\d{8}$/.test(docNumber) };
},
};
export default KE;
注册验证器
将肯尼亚验证器加入注册表:
// registry.ts
import KE from "./countries/KE";
// add to registry map
const registry = {
// ...other countries
"KE": KE,
};
贡献
- 打开 PR – 你的国家将加入全球 AI 身份标准。
- 永久 Git 署名 – 你的贡献会永久记录在项目历史中。
- 去中心化身份 – 摆脱大科技公司的门槛。
- 快速交付 – 部分实现约 30 分钟,完整 MRZ 支持约 2–3 小时。
- 🌐 网站:
- 💻 GitHub 仓库: (fork 并提交 PR)
- 📖 贡献指南:请参阅仓库中的
CONTRIBUTING.md。
一次 PR。一个国家。AI 身份的未来是开源的。