Question
SealPort today assumes one shape: a finished JWS is produced, a digest is taken over it, and a detached qualified seal comes back alongside. Two artefacts — the payload signs itself, the seal attests it separately.
Selective disclosure assumes the other shape. In SD-JWT VC the credential carries an x5c chain including the qualified seal certificate, so the SD-JWT is the sealed object and the seal is its signature. One artefact.
These are not variations on a theme. They imply different port contracts, different verification stories, and different answers to "what exactly does the seal attest".
Why it blocks
Selective disclosure is the fix for a real defect: disclosure signatures are frozen per redaction pattern, so reclassifying a field breaks verification for every affected passport at once. See the x-disclosure work for the mitigation that is in place, and note it mitigates rather than removes.
Adopting SD-JWT is the removal. But building it against the wrong seal shape means the port is wrong, so this decision precedes the code.
What settles it
Whether a qualified seal can be obtained as a JOSE/JWS signature under the seal certificate, rather than only as a document-format seal (CAdES/PAdES/XAdES) over bytes.
- If yes — the seal becomes the SD-JWT's signature.
SealPort changes from "seal these bytes" to "sign this payload", and several existing decisions get revisited: the digest-over-the-JWS-string choice, the declared mimetype, the extensionless filename.
- If no — SD-JWT can still be adopted, but as a non-qualified layer inside a sealed envelope. It solves the disclosure problem and does not inherit the seal's legal weight. Existing decisions stand.
Also open, and larger
Who holds the certificate. A seal attests the origin of what it covers, so whoever holds it is making a claim about content they may not have authored. That is a question about the product's role, not about the format, and it may change the answer above regardless of what is technically possible.
Not blocked on this
The x-disclosure mitigation, the field-level backstop, and the demonstration test all stand on their own and are already merged or in review.
Question
SealPorttoday assumes one shape: a finished JWS is produced, a digest is taken over it, and a detached qualified seal comes back alongside. Two artefacts — the payload signs itself, the seal attests it separately.Selective disclosure assumes the other shape. In SD-JWT VC the credential carries an
x5cchain including the qualified seal certificate, so the SD-JWT is the sealed object and the seal is its signature. One artefact.These are not variations on a theme. They imply different port contracts, different verification stories, and different answers to "what exactly does the seal attest".
Why it blocks
Selective disclosure is the fix for a real defect: disclosure signatures are frozen per redaction pattern, so reclassifying a field breaks verification for every affected passport at once. See the
x-disclosurework for the mitigation that is in place, and note it mitigates rather than removes.Adopting SD-JWT is the removal. But building it against the wrong seal shape means the port is wrong, so this decision precedes the code.
What settles it
Whether a qualified seal can be obtained as a JOSE/JWS signature under the seal certificate, rather than only as a document-format seal (CAdES/PAdES/XAdES) over bytes.
SealPortchanges from "seal these bytes" to "sign this payload", and several existing decisions get revisited: the digest-over-the-JWS-string choice, the declared mimetype, the extensionless filename.Also open, and larger
Who holds the certificate. A seal attests the origin of what it covers, so whoever holds it is making a claim about content they may not have authored. That is a question about the product's role, not about the format, and it may change the answer above regardless of what is technically possible.
Not blocked on this
The
x-disclosuremitigation, the field-level backstop, and the demonstration test all stand on their own and are already merged or in review.