DEV Community

Manuel Felipe Arias Pineda
Manuel Felipe Arias Pineda

Posted on

🇨🇱 Chile devs: Add RUN / RUT to the AI identity standard — Soulprint open source (30 min PR)

Los agentes de IA toman decisiones a diario sin verificación. Soulprint lo resuelve: ZK Proofs, 100% local, código abierto.

🇨🇱 El RUN chileno no está en Soulprint. ¿Lo agregas?

🇨🇱 Chile: RUN/RUT

Formato: 12345678-9 o 12345678-K. Algoritmo mod-11 para dígito verificador.

// packages/verify-local/src/document/countries/CL.ts
const CL: CountryVerifier = {
  countryCode: "CL", countryName: "Chile",
  documentTypes: ["run"],
  parse(ocrText: string): DocumentResult {
    const run = ocrText.match(/(\d{7,8}-[\dK])/)?.[1] ?? "";
    return { valid: !!run, doc_number: run.replace("-",""), country: "CL" };
  },
  validate(docNumber: string): NumberValidation {
    const clean = docNumber.replace(/[.-]/g,"").toUpperCase();
    const body = clean.slice(0,-1), dv = clean.slice(-1);
    let sum=0, mult=2;
    for(let i=body.length-1;i>=0;i--){ sum+=Number(body[i])*mult; mult=mult===7?2:mult+1; }
    const expected = (11-(sum%11))===11?"0":(11-(sum%11))===10?"K":String(11-(sum%11));
    return { valid: dv===expected };
  },
};
export default CL;
Enter fullscreen mode Exit fullscreen mode

💻 GitHub · Un PR. Un país.

Top comments (0)