{"_id":"@algovoi/kyc-passport","_rev":"3-f0981bbb5e63e3229177966d8ae13459","name":"@algovoi/kyc-passport","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@algovoi/kyc-passport","version":"0.1.0","keywords":["kyc","jumio","sumsub","identity","passport_ref","agent-passport","keystone","jcs","rfc8785","algovoi"],"author":{"name":"AlgoVoi","email":"chopmob@gmail.com"},"license":"Apache-2.0","_id":"@algovoi/kyc-passport@0.1.0","maintainers":[{"name":"algovoi","email":"chopmob@gmail.com"}],"dist":{"shasum":"942e7756a850108f6f6694ce5d48c1cbec6a5483","tarball":"https://registry.npmjs.org/@algovoi/kyc-passport/-/kyc-passport-0.1.0.tgz","fileCount":8,"integrity":"sha512-CTHWDRuaSc2qumdunKKkUZNOKdM+VXwLZuzQyh6E3qn0nnmpcmlhuFypVOI27H8mpjpvIUUSu/C5wdI8BY0r4Q==","signatures":[{"sig":"MEUCIBHQE++zf/S3deF6/jKmxqURjRVvi2n5XLBJNnFYRNxlAiEA7MiXCAsESKycx/HFky70IUhDsq7chC4ZTlZ3OdSWU3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12211},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"algovoi","email":"chopmob@gmail.com"},"_npmVersion":"11.6.2","description":"Map a Jumio or Sumsub KYC verification into a content-addressed, no-PII AlgoVoi agent passport_ref (open tier, Apache-2.0)","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@algovoi/substrate":">=0.4.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/kyc-passport_0.1.0_1782781487759_0.10481739964572578","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer maintained on npm. AlgoVoi keystone packages are now distributed via PyPI. See https://algovoi.co.uk"},"0.1.1":{"name":"@algovoi/kyc-passport","version":"0.1.1","keywords":["kyc","jumio","sumsub","identity","passport_ref","agent-passport","keystone","jcs","rfc8785","algovoi"],"author":{"name":"AlgoVoi","email":"chopmob@gmail.com"},"license":"Apache-2.0","_id":"@algovoi/kyc-passport@0.1.1","maintainers":[{"name":"algovoi","email":"chopmob@gmail.com"}],"dist":{"shasum":"5616acc160f2787e4334f7fd889d191e7c465f1f","tarball":"https://registry.npmjs.org/@algovoi/kyc-passport/-/kyc-passport-0.1.1.tgz","fileCount":8,"integrity":"sha512-zyTCFBxZHSkKXEQ2QWOZnxJufhh8wKVqf7md+nVPRBUTX3/RQEhtTpEJegY4qVtl9Kbxf7zqUKxVo9hsZbsbtg==","signatures":[{"sig":"MEUCIQDT2btY5ZPxPRtnmtBB8U0iulmiqfErlNFGi3UzKwQCtwIgKU/SH4BbwE7a1Nn2/hZjHUzljsXjEkoT+xOXdvGrJ4k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22531},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"algovoi","email":"chopmob@gmail.com"},"_npmVersion":"11.6.2","description":"Map a Jumio or Sumsub KYC verification into a content-addressed, no-PII AlgoVoi agent passport_ref (open tier, Apache-2.0)","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@algovoi/substrate":">=0.4.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/kyc-passport_0.1.1_1782794350271_0.5407564664189157","host":"s3://npm-registry-packages-npm-production"},"deprecated":"No longer maintained on npm. AlgoVoi keystone packages are now distributed via PyPI. See https://algovoi.co.uk"}},"time":{"created":"2026-06-30T01:04:47.619Z","modified":"2026-06-30T19:45:22.975Z","0.1.0":"2026-06-30T01:04:47.891Z","0.1.1":"2026-06-30T04:39:10.410Z"},"author":{"name":"AlgoVoi","email":"chopmob@gmail.com"},"license":"Apache-2.0","keywords":["kyc","jumio","sumsub","identity","passport_ref","agent-passport","keystone","jcs","rfc8785","algovoi"],"description":"Map a Jumio or Sumsub KYC verification into a content-addressed, no-PII AlgoVoi agent passport_ref (open tier, Apache-2.0)","maintainers":[{"name":"algovoi","email":"chopmob@gmail.com"}],"readme":"# algovoi-kyc-passport\n\n[![Keystone Enabled](https://img.shields.io/badge/Keystone-enabled-5cb9f8)](https://docs.algovoi.co.uk/keystone)\n\nMap a **Jumio** or **Sumsub** identity-verification result into a content-addressed,\nno-PII AlgoVoi **agent passport_ref**. Open tier, Apache-2.0.\n\n> **Keystone Enabled** — discovered by the [AlgoVoi keystone control panel](https://docs.algovoi.co.uk/keystone).\n> Verify it yourself: `pip install algovoi-keystone-control && keystone-verify algovoi-kyc-passport` → `PASS`.\n\nA passport_ref is `\"sha256:\" + SHA-256(JCS({agent_id, issuer, scope, validity_window}))`\n— byte-identical to the frozen public conformance vector `agent_passport_lite_v1` and to\nthe AlgoVoi commercial passport tier. No name, document number, face image, or other PII\never enters the reference.\n\n```python\nfrom algovoi_kyc_passport import from_jumio, from_sumsub, subject_ref, tamper_detected\n\n# Jumio KYX result -> passport_ref (only a PASSED decision yields one)\nref = from_jumio(\n    agent_id=subject_ref(\"jumio\", \"acct-9931\"),     # content-addressed, no PII\n    decision=\"PASSED\",\n    capabilities=[\"extraction\", \"liveness\", \"watchlistScreening\"],\n    valid_from=\"2026-06-30\", valid_until=\"2027-06-30\",\n)\n\n# Sumsub applicant review -> passport_ref (only a GREEN review yields one)\nref = from_sumsub(\n    agent_id=subject_ref(\"sumsub\", \"applicant-771\"),\n    review_answer=\"GREEN\",\n    checks=[\"identity\", \"selfie\"],\n    valid_from=\"2026-06-30\", valid_until=\"2027-06-30\",\n    level_name=\"basic-kyc\",\n)\n\n# Anyone can recompute and detect tampering with no AlgoVoi service:\ntamper_detected(ref, agent_id, issuer, scope, validity_window)   # -> False if intact\n```\n\n**Fail-closed:** `from_jumio` issues a passport only when the Jumio `decision.type` is\n`PASSED`; `from_sumsub` only when the Sumsub `reviewResult.reviewAnswer` is `GREEN`. Any\nother verdict raises `PassportRefError`.\n\n## What the open tier does and does not do\n\n| | Open tier (this package) | Commercial tier |\n|---|---|---|\n| Content-addressed passport_ref | yes | yes |\n| Vendor mapping (Jumio / Sumsub) | yes | yes |\n| Tamper detection | yes | yes |\n| PQC-signed passport | — | yes |\n| Revocation + continuity checks | — | yes |\n| CCC evidence ingest | — | yes |\n| Keystone binding (passport → mandate → decision) | — | yes |\n\nThis package computes and verifies the reference. Proving the passport's lifecycle\n(signed, not revoked, bound to a mandate and decision) is the commercial keystone.\n\n## License\n\nApache-2.0. Copyright AlgoVoi.\n","readmeFilename":"README.md"}