taskq.xyz / byok
BYOK custody model

Your credentials. Not a house account.

TaskQ does not win by pretending to be your upstream provider. You bring the provider relationship. TaskQ authenticates, places, proves, meters, and logs every credential access into a HashIQ trail.

CREDENTIAL ACCESS RECEIPTVERIFIED
event_typecredential.access
credential_fprsha256:91c…8fa
key_domainkd:CA
custody_classpinned
worker_idca-ab-yeg-01
request_idreq_01HX…
secret_loggedfalse
✓ access recorded — secret withheld
The correction

TaskQ is not credential arbitrage.

The upstream account belongs to the customer. TaskQ’s job is to enforce policy around where and how that credential is used, then prove what happened after the request leaves the gateway.

Customer-owned provider relationship

You bring Anthropic, OpenAI, local inference, or future provider credentials. TaskQ remains the execution control plane.

Credential fingerprints, not secrets

Proof records bind to credential fingerprints and handles. The credential value never belongs in receipts, logs, dashboards, or chain entries.

Every access becomes evidence

Each credential unwrap creates a visible access event: which worker, which key domain, which request, which custody class.

Custody model

Envelope encrypted. Policy unwrapped. Chain recorded.

Credentials move through handles and key domains, not casual plaintext. The Gateway resolves a BYOK handle, the custody service enforces the key-domain policy, and HashIQ records the access without exposing the secret.

How it holds

Plain secrets do not belong in the product surface.

  • Provider credential is envelope-encrypted under a customer data key.
  • Plaintext exists only transiently where policy allows execution.
  • Credential fingerprints bind proof entries without leaking material.
  • Revoked or retired credentials fail before execution.
credential custody — envelope model
BYOK custody model
Credential lifecycle

Register. Rotate. Retire. Revoke.

Credential state is a first-class control surface. Access does not depend on an old dashboard note or someone remembering to clean up a key.

REGISTERED

Submitted, not trusted yet

Accepted, encrypted, fingerprinted, and validated before active placement.

ACTIVE

Usable under policy

New requests can use this handle if customer, key domain, worker, and custody class match policy.

ROTATING

Drain without breaking work

New credential comes online while in-flight work drains from the old one.

REVOKED

Blocked now

Retired credentials remain referenceable in proofs. Revoked credentials stop new decrypts immediately.

Key domains

Where the key may unwrap is part of the policy.

A customer can bind credentials to named key domains. A Canadian credential can be constrained to Canada. An Alberta workload can require Alberta. A private worker pool can keep the key inside the customer boundary.

DomainConstraint
kd:CACredential can unwrap only inside Canadian-compliant custody.
kd:CA-ABCredential can unwrap only in Alberta-approved execution contexts.
kd:EUCredential can unwrap only inside EU key-domain policy.
kd:customer-ownedCredential stays inside customer-operated custody or HSM integration.
Custody classes

Not every worker gets to see every secret.

TaskQ separates execution capacity from credential custody. Plain leased workers can be useful for queue workloads, but synchronous BYOK relay defaults to pinned, enclave, or customer-owned custody.

Pinned — first-party key hygiene

TaskQ-controlled nodes for sync relay and sensitive custody paths.

Enclave — attested confidential execution

TEE-backed custody class for future broad third-party execution with stronger guarantees.

Customer-owned — your boundary, your hardware

Private workers and customer key domains where TaskQ is the control plane, not the secret holder.

Developer surface

Use a handle. Get proof headers back.

The developer experience should stay simple while the custody model stays serious.

terminal — BYOK request
export TASKQ_API_KEY="tq_live_..."
export TASKQ_CREDENTIAL="byok://anthropic-prod"

curl https://api.taskq.xyz/v1/messages \\
  -H "x-taskq-credential: byok://anthropic-prod" \\
  -H "x-taskq-policy: must_run_in=CA,must_not_run_in=US" \\
  -d '{ "model":"claude", "messages":[...] }'

# response headers
x-taskq-request-id: req_01HX...
x-taskq-chain-key: hshq_184467
x-taskq-credential-fpr: sha256:91c...8fa
x-taskq-placement-proof: proof_9a2

Make BYOK audit-grade.

Give customers the upstream control they want, without losing routing, proof, custody, and operator placement.