Skip to content

v0.14.0 — Developer Layer

Choose a tag to compare

@EslaM-X EslaM-X released this 24 Aug 01:26
· 19 commits to main since this release
601bdea

The developer layer — "Verify with PiProof" in five minutes.

Any Pi application — merchant, marketplace, game, agent, community — now calls one deterministic surface instead of building its own verification plumbing:

const pi = createVerifier({ registry, nonceStore });
const d = pi.decide(proof, { policy: 'merchant-verification-v1' });
if (d.decision === 'ALLOW') allowAction();

What ships

  • JS SDK (src/sdk.js, zero deps) — verifyProof / verifyPassport / decide with reasons, violations, binding class and resolved policy name; unknown presets deny cleanly as POLICY_PRESET_UNKNOWN.
  • Named policy presets (src/policy-presets.js) — frozen versioned defaults callable by name: merchant-verification-v1 · marketplace-seller-v1 · agent-payment-v1 · community-member-v1 · reward-eligibility-v1. Auditable data; a change means a new version. Deliberately not a "policy marketplace" — no signing, no discovery protocol.
  • Decision APIPOST /api/decide shares the Explorer's nonce state so replays are caught across every endpoint; GET /api/policies; preset references accepted by all verify endpoints; /api/share returns self-contained piproof://v1?p=… proof links next to short links.
  • Python SDK (sdk/python/piproof_sdk.py, stdlib only) — independent implementation of the same pipeline: from-scratch Ed25519, PiProof Canonical Profile v1 with raw-key sort parity, envelope + epoch binding, nonce state files, presets, narrowing policy subset. Library API + CLI.
  • CLIpep policies and pep decide --proof p.json --policy agent-payment-v1 --nonces nonces.jsonl.

Verification

  • 126/126 tests (+16)
  • attack suite 20/20 rejected
  • canonical vectors 15/15 byte-exact × 2 languages
  • Node↔Python SDK agreement tested end-to-end in CI

Guide: docs/SDK.md · Full changelog: v0.13.0...v0.14.0