taskq.xyz / credential-custody
Credential custody

Credential access is an event, not a hidden side effect.

BYOK material is envelope-encrypted. Plaintext exists only under policy, only in memory, and every unwrap produces a customer-visible access record bound to the request and chain entry.

key-custody.service — policy-gated
Credential custody service
Custody rules

Plain secrets do not belong in the product surface.

TaskQ stores encrypted credential material, records fingerprints, and produces access evidence. The custody service owns decrypt policy — and nothing else.

RULE · FPR

Fingerprints, not keys

Credential values never belong in logs, chain entries, crash dumps, or UI.

RULE · DOMAIN

Key domains bind unwrap

Canada-only, Alberta-only, EU, customer-owned HSM, or future enclave domains.

RULE · ACCESS

Every unwrap logged

Credential access becomes a visible proof event attached to the request.

RULE · FAIL

Revoked fails closed

Revoked and retired credentials stop new decrypts before placement or execution.

Unwrap path

The Gateway resolves. Custody enforces. HashIQ records.

Resolve handle

Gateway maps X-TaskQ-Credential to an encrypted credential record in scope.

Check key domain

Custody service verifies the selected worker satisfies the credential’s key domain.

Transient plaintext

Material is unwrapped in memory only, inside the approved custody class.

Record access

The unwrap becomes a customer-visible credential.access event in the chain.

Access log

BYOK becomes believable when every use is visible.

  • Which credential fingerprint was used.
  • Which worker and custody class handled the request.
  • Which key domain permitted the unwrap.
  • Which request and chain entry bind to the event.
credential.access — chain-boundVERIFIED
credential_fprsha256:91c…8fa
key_domainkd:CA-AB
worker_idca-ab-yeg-01
custody_classpinned
request_idreq_01HX…
ts2026-06-12T00:00:00Z
secret_loggedfalse
✓ not a debugging side table — part of the product

Give the access log chain-verifiable teeth.

A buyer should be able to ask exactly where a credential was used and receive evidence, not a verbal promise.