Scaling AI Identity: Adding Dutch BSN Support to Soulprint's ZK Standard
These articles are AI-generated summaries. Please check the original sources for full details.
Nederland devs: Add BSN (Burgerservicenummer) to the AI identity standard — Soulprint open source (30 min PR)
Soulprint is an open-source identity standard designed to verify the human origin behind AI agent actions using Zero-Knowledge Proofs. The system utilizes Circom 2.1.8 and Groth16 to achieve 564ms prove times and 25ms verification on-device.
Why This Matters
Current AI agent architectures often lack human-in-the-loop verification, allowing agents to execute financial transactions and sign documents without identity proof. While centralized gatekeepers exist, Soulprint offers a decentralized alternative that runs 100% on-device using MIT-licensed code, preventing Big Tech from becoming the sole arbiter of digital identity. This technical reality addresses the scaling risk of autonomous agents by providing a cryptographic link to human operators without compromising privacy through ZK proofs.
Key Insights
- Soulprint uses Circom 2.1.8 and Groth16 to generate proofs with only 844 constraints (2026).
- On-device performance reaches 564ms for proving and 25ms for verification (Soulprint, 2026).
- The Dutch BSN validation uses a 11-proef algorithm, where a weighted sum of 9 digits must be divisible by 11.
- Integration of new national IDs like the BSN requires a 30-minute contribution to the open-source registry (Soulprint, 2026).
- AI agents can include identity scores (0-100) in HTTP headers using the X-Soulprint tag for server-side tool gatekeeping.
Working Examples
API verification of AI identity score using soulprint-mcp.
import { requireSoulprint } from "soulprint-mcp";
server.tool("premium", requireSoulprint({ minScore: 80 }), handler);
Implementation of the Dutch BSN verifier for the Soulprint registry.
// packages/verify-local/src/document/countries/NL.ts
import { CountryVerifier, DocumentResult, NumberValidation } from "../verifier.interface";
const NL: CountryVerifier = {
countryCode: "NL",
countryName: "Nederland",
documentTypes: ["bsn", "paspoort"],
parse(ocrText: string): DocumentResult {
const doc_number = ocrText.match(/(\d{9})/)?.[1] ?? "";
return { valid: !!doc_number, doc_number, country: "NL" };
},
validate(docNumber: string): NumberValidation {
return { valid: validateBSN(docNumber) };
},
};
export default NL;
Practical Applications
- Use case: AI agents protecting premium API tools by requiring a minimum Soulprint score (e.g., minScore: 80) via requireSoulprint middleware.
- Pitfall: Failing to implement the mod-11 check for BSN, which results in invalidating legitimate Dutch identity documents during OCR parsing.
References:
Continue reading
Next article
RAG vs. Context Stuffing: Benchmarking Efficiency and Reliability in Large Context Windows
Related Content
RuView Open-Source Project Turns ESP32 Hardware Into a Privacy-First WiFi Radar Using 8KB AI Models
RuView is an open-source project using $9 ESP32 hardware and local AI to monitor breathing, falls, and movement via WiFi signals.
jcode: The Rust-Native Agent Harness for Multi-Session Development
jcode launches in milliseconds and coordinates 10+ parallel agent streams with minimal RAM, enabling local AI swarms.
Prior Labs Launches TabPFN-2.5: Scaling Tabular Foundation Models for Enhanced Performance and Efficiency
Prior Labs introduces TabPFN-2.5, a major update to its tabular foundation model, enabling handling of 50,000 samples and 2,000 features with no training required, while outperforming traditional models on benchmarks.