Use `BlindPolicyClient` instead of hand-written REST calls.
A typed integration surface for teams that want Blind Verification inside their own product without building proof verification glue from scratch.
Integrate with a typed client.
The repo now includes a pilot SDK package at packages/blind-policy-sdk. Public npm publishing should be claimed only after the package is published; today it is ready for private pilot distribution and enterprise integration review.
import { createBlindPolicyClient } from "@privatedao/blind-policy";
const client = createBlindPolicyClient({
baseUrl: "https://api.privatedao.org/api/v1"
});
const result = await client.prove({
workflowId: "customer-credit-case-001",
privateInputs: {
organizationId: "northstar-credit",
subjectId: "customer-redacted-4381",
membershipVerified: true,
records: [{ amountUsd: 8800 }, { amountUsd: 9400 }, { amountUsd: 9200 }],
riskScore: 84,
liabilitiesUsd: 2400
}
});
if (result.ok) {
const verification = await client.verify(result.publicProofPackage);
console.log(verification.message);
const onchain = await client.submitOnchainReceipt(result.publicProofPackage);
console.log(onchain.ok ? onchain.onchainReceipt.receiptAccountExplorerUrl : onchain.error);
}Submit private inputs and receive a public proof receipt only if the policy passes.
Recompute the receipt hash and confirm whether the proof package was modified.
Run the example script to change a receipt and see mismatch with original and recomputed hashes.
Prepared in-repo as `packages/blind-policy-sdk` for private registry or customer pilot distribution.
Proof, verify, then tamper.
The SDK example calls the live API, verifies the returned public package, then changes the receipt so the verifier returns mismatch. That is the customer-facing answer to “why does the hash matter?”
npm --prefix packages/blind-policy-sdk run build node packages/blind-policy-sdk/examples/prove-verify-tamper.mjs