w3-io/W3 PII Envelope Action

Self-hosted donor-PII envelope: in-action DEK, AES-256-GCM, Storj blob, tenant-KEK wrap, deletion-attested gate

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
commandOperation: encrypt-and-store, decrypt-for-readyes
tenant-idTenant scope; selects the KEK and prefixes the blob keyyes
user-idDonor id; blob-key segment / audit scopeyes
bucketStorj bucket (e.g. hope-give-pii)yes
providerKEK provider (default: self-hosted)noself-hosted
kekTenant master KEK (secret-backed)yes
storj-access-keyStorj access key (secret-backed)yes
storj-secret-keyStorj secret key (secret-backed)yes
storj-endpointOverride the Storj S3 gateway endpoint (e.g. MinIO for staging); default https://gateway.storjshare.iono
plaintextPII payload (JSON string) to encryptno
wrapped-dekKEK-wrapped per-user DEK (from the User row)no
pii-blob-keyStorj blob key (from the User row)no
deletion-attested'true' if a UserDeletion attestation exists (caller reads state); true => ACCESS_DENIED, no plaintextno
namedescription
resultJSON result: encrypt-and-store -> { wrapped_dek, pii_blob_key }; decrypt-for-read -> { plaintext }