SEDI Age and Portrait Presentation (sedi-present-age-portrait)¶
Bakobo holder-issued recipe, version 4.0.0. A holder issues this one-time presentation to a verifier to support an over-21 claim and a state-endorsed portrait disclosure. It is a named presentation pattern, not a Sam Smith schema. Its former 2.0.0 schema remains in sedi-present-age-portrait-2.0.0/.
The holder is the issuer i, and the verifier is the issuee a.i. The required identity I2I edge points to SEDI Core; the required age I2I edge points to Sam Smith's SEDI Age. I2I requires the presenter to be the issuee of both source credentials. The portrait is disclosed from Core's facialImageProof block alongside the presentation; the ageOver21 attribute is a holder summary backed by the age disclosure. The presentation requires rd, the holder's presentation registry, which Sam Smith's Core names in a.rd as the "Issuee Presentation Registry SAID" (keripy 9a8b7aa7 tests/sedi/test_sedi.py:539). The holder incepts that registry in advance and issues each presentation into it, so the presentation's state is anchored and the holder can revoke it. A verifier should check that rd is the registry the presenter's Core names. Version 3.0.0, which forbade rd, remains resolvable in sedi-present-age-portrait-pre-presentation-rd-3.0.0/. Its required r is the SAID of the Bakobo governance artifact.
example.json illustrates the presentation, and invalid/ contains rejected variants. Source credential validity, edge traversal, attribute disclosure, and status checks are verifier duties; JSON Schema only checks the presentation's local shape and pinned edge operators and far-schema SAIDs.