{"doctype":"dpp.battery","revealed_only":{"product_id":"BAT-2026-0001","recycled_content_pct":63},"signed_sdjwt_vc":{"format":"dc+sd-jwt","issuer_signature_alg":"ES256","issuer_public_jwk":{"kty":"EC","crv":"P-256","x":"zUVDCSxh2FI_DrQq6K_CX0Kod5Rn2MPSXta-2uNM3ic","y":"XqWb4uGGlgp4TTuiM4_3vbemTNhgs3v39J7Gm4hszzk","use":"sig","alg":"ES256","kid":"psdp-sdjwt-issuer-1"},"selective_disclosure":{"issued_claims":["given_name","family_name","nationality","age_over_18"],"presented_only":{"given_name":"Alice"},"signature_and_disclosures_valid":true},"tampered_disclosure_rejected":true,"tampered_errors":["disclosure 'given_name' digest not in issuer commitments (tampered or forged)"],"forged_issuer_signature_rejected":true,"forged_errors":["issuer signature verification failed: "],"note":"Real issuer-signed SD-JWT-VC: the issuer JWT carries a genuine ES256 JWS verified against the published issuer JWK, AND each revealed disclosure's salted SHA-256 digest must match an issuer commitment. Tampering a disclosed value or forging the issuer signature is rejected."},"esg_proof_without_revealing_value":{"predicate_id":"esg-min","operator":"gte","path":"/esg_score","satisfied":true},"fleet_recycled_aggregate":{"count":5,"total":3,"fraction_satisfying":0.6},"cross_party_confidential_sum":{"decrypted_total":472,"count":3,"ciphertexts_hide_plaintext":true,"key_note":"Reference-grade 1024-bit Paillier (NOT production; >=3072-bit needed). Aggregator holds the private key and decrypts ONLY the total; individual ciphertexts are opaque. Full MPC (threshold decryption, no single keyholder) remains out of scope."},"note":"Selective disclosure is real (salted SHA-256 commitments). The predicate layer is trusted-prover today (ZK tomorrow). The cross-party SUM is now real Paillier additive-homomorphic encryption: the aggregator sums ciphertexts and decrypts ONLY the total. Full MPC (threshold decryption, no single keyholder) is the remaining follow-up."}