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. soulprint.digital
π΅π° Pakistan's CNIC (Computerized National ID Card) is not in Soulprint yet. You can add it in ~30 minutes with one PR.
What Soulprint does
npx soulprint verify-me # scan ID + face match β all local
# β SPT token (score 0-100)
# AI agent includes token in every call
# X-Soulprint: eyJ... (score: 84)
# API verifies in 3 lines:
import { requireSoulprint } from "soulprint-mcp";
server.tool("premium", requireSoulprint({ minScore: 80 }), handler);
ZK proof: Circom 2.1.8 Β· Groth16 Β· 844 constraints Β· 564ms prove Β· 25ms verify.
π΅π° Pakistan: CNIC (Computerized National ID Card)
CNIC: 13 digits. Format: XXXXX-XXXXXXX-X (division+district+UC + sequence + gender). No check digit algorithm.
The code β fill in the blanks and open a PR
// packages/verify-local/src/document/countries/PK.ts
import { CountryVerifier, DocumentResult, NumberValidation } from "../verifier.interface";
const PK: CountryVerifier = {
countryCode: "PK",
countryName: "Pakistan",
documentTypes: ["cnic"],
parse(ocrText: string): DocumentResult {
// CNIC (Computerized National ID Card) format: XXXXX-XXXXXXX-X (13 digits)
const doc_number = ocrText.match(/(\d{5}-?\d{7}-?\d)/)?.[1] ?? "";
return { valid: !!doc_number, doc_number, country: "PK" };
},
validate(docNumber: string): NumberValidation {
// 13 digits, last digit 1 (male) or 2 (female)
return { valid: /^\d{13}$/.test(docNumber.replace(/-/g,'')) };
},
};
export default PK;
Then add one line in registry.ts:
import PK from "./countries/PK";
// add to registry map: "PK": PK,
Open a PR β your country joins the global AI identity standard. π
Why contribute?
- Pakistan joins the AI age β local developers can verify their AI agents
- Permanent git credit β you're in the history forever
- Decentralized identity β no Big Tech as gatekeeper
- Fast β 30 min partial, 2-3h full with MRZ
Resources
- π https://soulprint.digital
- π» GitHub β fork here
- π Contributing guide
One PR. One country. The future of AI identity is open source.
Top comments (0)