🇰🇭 Cambodia devs: Add National ID Card to the AI identity standard — Soulprint open source (30 min PR)

Published: (February 26, 2026 at 03:18 AM EST)
2 min read
Source: Dev.to

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

  1. Fork the repository on GitHub.
  2. Implement the verifier as shown above.
  3. 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.

0 views
Back to Blog

Related posts

Read more »