{
  "ok": true,
  "source": "privatedao-blind-policy-status",
  "product": "Blind Policy Verification",
  "proofSystem": "Groth16",
  "proofSystems": {
    "groth16": {
      "status": "live",
      "implementation": "Circom witness generation + snarkjs groth16 prove + snarkjs groth16 verify"
    },
    "plonk": {
      "status": "not-claimed",
      "implementation": null
    },
    "stark": {
      "status": "not-claimed",
      "implementation": null
    },
    "recursiveProofs": {
      "status": "not-claimed",
      "implementation": null
    },
    "solanaOnchainVerification": {
      "status": "receipt-registry-with-memo-fallback",
      "implementation": "Attempts to store the already verified blind policy receipt hashes in an Anchor PDA receipt account. If the Anchor receipt program is unavailable, the same hashes are stored in a Solana Memo receipt transaction. This is not a claim of full Groth16 pairing verification on-chain.",
      "programId": "GGqZKsdEwH9YVAqWYqjMgCmZ5nNbvGc8RkiMee3S6SdK",
      "cluster": "testnet",
      "endpoint": "/api/v1/proof-workflows/blind-policy/onchain-receipt"
    }
  },
  "onchainReceipt": {
    "endpoint": "/api/v1/proof-workflows/blind-policy/onchain-receipt",
    "programId": "GGqZKsdEwH9YVAqWYqjMgCmZ5nNbvGc8RkiMee3S6SdK",
    "cluster": "testnet",
    "fallback": "solana-memo-receipt",
    "pdaSeeds": [
      "blind_policy_receipt",
      "authority",
      "sha256(proofId)"
    ],
    "stores": [
      "proofIdHash",
      "proofHash",
      "policyCommitmentHash",
      "inputCommitmentHash",
      "verificationKeyHash",
      "circuitVersionHash",
      "policyVersionHash"
    ]
  },
  "proofTruthBoundary": {
    "liveVerified": "Groth16 witness generation and snarkjs verification run on this endpoint before a proof package is issued.",
    "commitmentOnly": [
      "REFHE lane is a commitment boundary unless a separate REFHE receipt is attached.",
      "Ika / Encrypt 2PC-MPC lane is a commitment boundary unless a separate Ika final DKG/signing receipt is attached.",
      "MagicBlock lane is a commitment boundary unless a separate MagicBlock execution receipt is attached."
    ]
  },
  "publicSignals": [
    "policyId",
    "policyCommitment",
    "inputCommitment",
    "satisfiedClaim"
  ],
  "privateWitness": [
    "organizationKey",
    "subjectKey",
    "membershipVerified",
    "private records",
    "liabilities",
    "riskScore",
    "policy thresholds",
    "policy salt",
    "input salt"
  ],
  "artifacts": {
    "circuit": {
      "path": "zk/circuits/private_dao_blind_policy_overlay.circom",
      "available": true,
      "sha256": "133bfb5ab34552f1f4a2e29e461b545badd69dc849235ae05e2f2fe64b62e75a"
    },
    "wasm": {
      "path": "zk/build/private_dao_blind_policy_overlay_js/private_dao_blind_policy_overlay.wasm",
      "available": true,
      "sha256": "38166cd77769f4f4fe64c80d9daf4aacf6460d99ea5a4b6b29e8c93810a480ff"
    },
    "provingKey": {
      "path": "zk/setup/private_dao_blind_policy_overlay_final.zkey",
      "available": true,
      "sha256": "6caea255193a016c44888ce02dace1521de9102396ae132c906a7226f788eb84"
    },
    "verificationKey": {
      "path": "zk/setup/private_dao_blind_policy_overlay_vkey.json",
      "available": true,
      "sha256": "05aeb7e27479d7f1551b0c2e18134c58f760de43f2ff085a8ea2e82f212209eb"
    }
  }
}