feat:added vaults support to workflows#129
Open
vinaysingh8866 wants to merge 1 commit intodecentralized-identity:mainfrom
Open
feat:added vaults support to workflows#129vinaysingh8866 wants to merge 1 commit intodecentralized-identity:mainfrom
vinaysingh8866 wants to merge 1 commit intodecentralized-identity:mainfrom
Conversation
Signed-off-by: Vinay Singh <vinay@verid.id>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds Vaults 1.0 composition to the Workflow protocol and corresponding workflow-binding conventions to the Vaults protocol. Together, these changes let agents protect sensitive context fields (secrets, PII) via vault-backed
$refpointers instead of sending plaintext over the wire.Changes
Workflow 1.0
sensitivitymap that classifies context fields assecret,pii, orplain, with storage modevault,encrypted(reserved), orplain.$refpointers: Fields withstorage: "vault"are stored in a Vaults 1.0 EDV and represented as$refobjects (vault_id+doc_id+digest) in workflow messages — literal values never travel over the wire.vault_refon instances: Workflow instances track their bound vault identity and lifecycle state (active,sealed,retired).$transient):advancemessages can declare ephemeral input fields that are used for a single cycle (e.g., OTP codes) and wiped immediately after.masked,masked_toggle,visible) with format tokens.$refpointers on demand, verify digests, and hold plaintext only in memory. Digest mismatch = tampering, vault unreachable =vault_unavailableerror.completetriggers vaultseal;canceltriggers vaulttombstone.vault_unavailable,vault_ref_invalid,sensitivity_violation.secret-level fields.Vaults 1.0
propose.purposefield formatworkflow:<template_id>#<instance_id>for correlating vaults with workflow instances.sealon complete,tombstoneon cancel, key material wiping.$transientfields must never be stored in vaults.v1.0-draft+wfentry.Design Decisions
$refpointers over inline JWE: Chose vault-backed references over inline encryption because it centralizes key management, enables role-scoped access, and keeps message size constant regardless of secret size.$refresolution verifies a content digest to detect tampering at the vault layer.sensitivitymap.