Data Integrity Proof
Also called DataIntegrityProof, VC Data Integrity, Linked Data Proof, LD-Proof
A Data Integrity Proof is a cryptographic signature attached directly to a JSON-LD document as a
proof property, rather than wrapping the whole document in a JWT or COSE envelope. It's the
W3C's answer to "how do I sign linked data itself, so the signature survives even if the document
gets reformatted": the signature is computed over a canonicalized (deterministically-ordered)
form of the underlying RDF graph, not over the raw JSON bytes.
A Data Integrity Proof block typically looks like this:
"proof": {
"type": "DataIntegrityProof",
"cryptosuite": "eddsa-rdfc-2022",
"created": "2026-05-01T10:30:00Z",
"verificationMethod": "did:example:issuer#key-1",
"proofPurpose": "assertionMethod",
"proofValue": "z3FXQ..."
}
The spec itself (developed within the W3C VC Working Group, with editors including Manu Sporny and
Dave Longley) defines the shape; the actual signing algorithm is pluggable via named
cryptosuites, eddsa-rdfc-2022 for Ed25519, ecdsa-rdfc-2019 for ECDSA, and bbs-2023 for
BBS+ selective-disclosure signatures (the BBS cryptosuite work was driven substantially through
the DIF/W3C BBS working group). Earlier, pre-standardization suite names like
Ed25519Signature2020 and BbsBlsSignature2020 came from the "Linked Data Proofs" lineage that
Data Integrity formalized and superseded.
Solidus status
Solidus's BBS+ signatures are UNAUDITED, audit targeted H2 2026 via NLnet NGI Zero, none
exists today, and everything here runs on public testnet with no mainnet. With that stated:
Solidus's own documentation shows exactly the Data Integrity shape, a proof block with type,
created, verificationMethod, proofPurpose, and proofValue fields, using the earlier suite
names Ed25519Signature2020 and BbsBlsSignature2020 rather than the newer
eddsa-rdfc-2022/bbs-2023 cryptosuite names. Solidus didn't design the spec or either
cryptosuite; it wrote a signer conforming to that documented shape.
But, same gap as the JSON-LD entry, stated with the same directness: the credential format
Solidus's testnet issuer actually serves today is vc+sd-jwt (confirmed live via curl -s https://capture-api.solidus.network/.well-known/openid-credential-issuer, checked 2026-07-17),
secured by a JOSE/JWS signature, not a Data Integrity proof block. So Data Integrity Proof is
documented in Solidus's spec material but is not what the live, shipped issuance path produces
right now.
Where it comes from
Someone else specified this. Solidus assembles it.
The W3C Verifiable Credential Data Integrity specification was developed within the W3C VC Working Group, with editors including Manu Sporny and Dave Longley. The signing algorithm is pluggable via named cryptosuites, eddsa-rdfc-2022, ecdsa-rdfc-2019, and bbs-2023 (the BBS cryptosuite work driven substantially through the DIF/W3C BBS working group). Earlier suite names like Ed25519Signature2020 and BbsBlsSignature2020 come from the preceding "Linked Data Proofs" lineage that Data Integrity formalized and superseded. Solidus authored none of this.
How to check this
Written down. No implementation yet.
curl -s https://capture-api.solidus.network/.well-known/openid-credential-issuer (checked 2026-07-17) returns "format":"vc+sd-jwt", with no "proof" object in the live wire format, direct evidence the live issuer secures credentials via JOSE, not a Data Integrity Proof.