🇰🇭 Cambodia devs: Add National ID Card to the AI identity standard — Soulprint open source (30 min PR)
Source: Dev.to
Every day, AI agents make decisions on our behalf—buying, sending emails, signing documents—and nobody verifies there’s a real human behind them.
Soulprint solves this with Zero‑Knowledge Proofs: 100 % on‑device, open‑source (MIT), free to run.
Add Cambodia’s National ID Card to Soulprint
Cambodia’s National ID Card is not yet supported by Soulprint, but you can add it in roughly 30 minutes with a single pull request.
Verify locally
npx soulprint verify-me # scan ID + face match — all local
# → SPT token (score 0‑100)
The AI agent includes the token in every request:
X-Soulprint: eyJ... (score: 84)
Server‑side verification (3 lines)
import { requireSoulprint } from "soulprint-mcp";
server.tool(
"premium",
requireSoulprint({ minScore: 80 }),
handler
);
The underlying ZK proof uses Circom 2.1.8, Groth16, 844 constraints, ~564 ms to prove and ~25 ms to verify.
Implementation details
Country verifier (TypeScript)
// packages/verify-local/src/document/countries/KH.ts
import {
CountryVerifier,
DocumentResult,
NumberValidation,
} from "../verifier.interface";
const KH: CountryVerifier = {
countryCode: "KH",
countryName: "Cambodia",
documentTypes: ["national_id"],
parse(ocrText: string): DocumentResult {
// National ID Card format: 9 digits
const doc_number = ocrText.match(/(\d{9})/)?.[1] ?? "";
return { valid: !!doc_number, doc_number, country: "KH" };
},
validate(docNumber: string): NumberValidation {
// exactly 9 digits
return { valid: /^\d{9}$/.test(docNumber) };
},
};
export default KH;
Register the verifier
Add the import and entry to registry.ts:
import KH from "./countries/KH";
// add to registry map:
"KH": KH,
Contribute
- Fork the repository on GitHub.
- Implement the verifier as shown above.
- Open a pull request – your country will join the global AI identity standard.
- Permanent git credit – you’ll be in the history forever.
- Decentralized identity – no Big Tech gatekeeper.
- Fast turnaround – ~30 min for a partial implementation, 2–3 h for full MRZ support.
🌀
💻 GitHub – fork here
📖 Contributing guide
One PR. One country. The future of AI identity is open source.