Tools: 🇧🇪 Belgique/België devs: Add Numéro de registre national to the AI identity standard — Soulprint open source (30 min PR)

Tools: 🇧🇪 Belgique/België devs: Add Numéro de registre national to the AI identity standard — Soulprint open source (30 min PR)

Source: Dev.to

What Soulprint does ## 🇧🇪 Belgique/België: Numéro de registre national ## The code — fill in the blanks and open a PR ## Why contribute? ## Resources 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 🇧🇪 Belgique/België's Numéro de registre national is not in Soulprint yet. You can add it in ~30 minutes with one PR. ZK proof: Circom 2.1.8 · Groth16 · 844 constraints · 564ms prove · 25ms verify. NRN: 11 digits (YYMMDD-XXX-CC). Check: 97 - (first 9 digits mod 97) = last 2 digits. Then add one line in registry.ts: Open a PR → your country joins the global AI identity standard. 🌍 One PR. One country. The future of AI identity is open source. Templates let you quickly answer FAQs or store snippets for re-use. Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse COMMAND_BLOCK: 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); Enter fullscreen mode Exit fullscreen mode COMMAND_BLOCK: 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); COMMAND_BLOCK: 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); CODE_BLOCK: // packages/verify-local/src/document/countries/BE.ts import { CountryVerifier, DocumentResult, NumberValidation } from "../verifier.interface"; const BE: CountryVerifier = { countryCode: "BE", countryName: "Belgique/België", documentTypes: ["nrn", "eid"], parse(ocrText: string): DocumentResult { // Numéro de registre national format: 11 digits YYMMDDXXXCC const doc_number = ocrText.match(/(\d{11})/)?.[1] ?? ""; return { valid: !!doc_number, doc_number, country: "BE" }; }, validate(docNumber: string): NumberValidation { // 97 - mod97 check return { valid: validateNRN(docNumber) }; }, }; export default BE; Enter fullscreen mode Exit fullscreen mode CODE_BLOCK: // packages/verify-local/src/document/countries/BE.ts import { CountryVerifier, DocumentResult, NumberValidation } from "../verifier.interface"; const BE: CountryVerifier = { countryCode: "BE", countryName: "Belgique/België", documentTypes: ["nrn", "eid"], parse(ocrText: string): DocumentResult { // Numéro de registre national format: 11 digits YYMMDDXXXCC const doc_number = ocrText.match(/(\d{11})/)?.[1] ?? ""; return { valid: !!doc_number, doc_number, country: "BE" }; }, validate(docNumber: string): NumberValidation { // 97 - mod97 check return { valid: validateNRN(docNumber) }; }, }; export default BE; CODE_BLOCK: // packages/verify-local/src/document/countries/BE.ts import { CountryVerifier, DocumentResult, NumberValidation } from "../verifier.interface"; const BE: CountryVerifier = { countryCode: "BE", countryName: "Belgique/België", documentTypes: ["nrn", "eid"], parse(ocrText: string): DocumentResult { // Numéro de registre national format: 11 digits YYMMDDXXXCC const doc_number = ocrText.match(/(\d{11})/)?.[1] ?? ""; return { valid: !!doc_number, doc_number, country: "BE" }; }, validate(docNumber: string): NumberValidation { // 97 - mod97 check return { valid: validateNRN(docNumber) }; }, }; export default BE; CODE_BLOCK: import BE from "./countries/BE"; // add to registry map: "BE": BE, Enter fullscreen mode Exit fullscreen mode CODE_BLOCK: import BE from "./countries/BE"; // add to registry map: "BE": BE, CODE_BLOCK: import BE from "./countries/BE"; // add to registry map: "BE": BE, - Belgique/België 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 - 🌀 https://soulprint.digital - 💻 GitHub — fork here - 📖 Contributing guide