Tracks the runtime "Next steps" from the 1SP Masking / Tokenization & GrASP design (spec-intake 2026-08-03) that are not buildable as a small PR. The contract layer is done and enforced: schemas + valid fixtures landed in #487; negative conformance (reject under-masked/ungoverned input) landed in #539. What remains is the code that executes those contracts.
1. Chameleon / key-evolving tokenization crate
Own implementation of the published primitive (sovereign posture — reimplement, do not vendor IBM product), backed by KMIP/PKCS#11 + HSM (key handles only, never material).
Acceptance:
2. Wire masking PDP into the Catalog Gateway read path (WKC-parity deliverable)
PDP at read/export/activation/re-identify time returns masking-decision.v1 (verdict + applied_transforms + re_identification + side_channel_mitigations + receipt), emitting BEACON_COMMIT.
Acceptance:
3. Adopt GrASP (open-source, adopt directly) as an extract.mentions.v1 provider
Interpretable extractor for claim/evidence/compliance/policy_trigger lanes; mine policy_trigger patterns for the CONSTRAINTS family.
Acceptance:
4. Bind audience-tagging tag_assignment to masking-decision
So subject ids are tokenized per realm.
Acceptance:
Companion refs: docs/architecture/masking-tokenization-and-grasp-extraction.md, Catalog Gateway PDP (prophet-platform/docs/strategy/PROPHET_DATA_CATALOG_DESIGN.md §5.2/§6.2).
Tracks the runtime "Next steps" from the 1SP Masking / Tokenization & GrASP design (spec-intake 2026-08-03) that are not buildable as a small PR. The contract layer is done and enforced: schemas + valid fixtures landed in #487; negative conformance (reject under-masked/ungoverned input) landed in #539. What remains is the code that executes those contracts.
1. Chameleon / key-evolving tokenization crate
Own implementation of the published primitive (sovereign posture — reimplement, do not vendor IBM product), backed by KMIP/PKCS#11 + HSM (key handles only, never material).
Acceptance:
tokenization-profile.v1+masking-decision.v1conformant to the schemas.2. Wire masking PDP into the Catalog Gateway read path (WKC-parity deliverable)
PDP at read/export/activation/re-identify time returns
masking-decision.v1(verdict + applied_transforms + re_identification + side_channel_mitigations + receipt), emitting BEACON_COMMIT.Acceptance:
masking-decision.v1.no_health_adtechpolytope veto returnsdeny+forbidden_mixture(health_adtech_deny fixture as golden).re_identifywithout reason-for-action is refused (negative fixture as golden).3. Adopt GrASP (open-source, adopt directly) as an
extract.mentions.v1providerInterpretable extractor for claim/evidence/compliance/policy_trigger lanes; mine
policy_triggerpatterns for the CONSTRAINTS family.Acceptance:
source-record.mentions+ human-readablefeature_contributions.grasp-pattern.v1(empty feature_sets rejected — negative fixture as golden).4. Bind audience-tagging
tag_assignmenttomasking-decisionSo subject ids are tokenized per realm.
Acceptance:
tag_assignmentreferences the governingmasking-decision/tokenization-profile; cross-realm reuse blocked.Companion refs:
docs/architecture/masking-tokenization-and-grasp-extraction.md, Catalog Gateway PDP (prophet-platform/docs/strategy/PROPHET_DATA_CATALOG_DESIGN.md§5.2/§6.2).