DEV Community

Manuel Felipe Arias Pineda
Manuel Felipe Arias Pineda

Posted on

πŸ‡­πŸ‡· Hrvatska devs: Add OIB (Osobni Identifikacijski Broj) to the AI identity standard β€” Soulprint open source (30 min PR)

AI agents make decisions without identity verification. Soulprint β€” privacy proofs, 100% local, MIT.

πŸ‡­πŸ‡· Croatian OIB is not yet in Soulprint. Add it in 30 minutes.

OIB format

11 digits. ISO 7064 MOD 11-10 check digit algorithm.

const HR: CountryVerifier = {
  countryCode: "HR", countryName: "Croatia", documentTypes: ["oib"],
  parse(ocrText: string): DocumentResult {
    const oib = ocrText.match(/(\d{11})/)?.[1] ?? "";
    return { valid: !!oib, doc_number: oib, country: "HR" };
  },
  validate(docNumber: string): NumberValidation {
    if(!/^\d{11}$/.test(docNumber)) return {valid:false};
    let rem=10;
    for(let i=0;i<10;i++){rem=(Number(docNumber[i])+rem)%10||10;rem=(rem*2)%11;}
    return { valid: (rem%10)===Number(docNumber[10]) };
  },
};
export default HR;
Enter fullscreen mode Exit fullscreen mode

πŸ’» GitHub Β· One PR. One country.

Top comments (0)