Your keys never leave the vault.

Engineers get a revocable token. Provider keys stay locked behind ProxDeck.

From the research

See the research

The path a key takes

Every hop a request makes between the provider's master credential and a scoped key in the editor.

Source upstreamProvider keys

Anthropic, OpenAI and AWS Bedrock master credentials, held outside the request path and never shared downstream.

Crypto vaultIsolated key vault

Keys are decrypted in memory for the length of a single request. No operator can read one back out.

In-process dispatchRouter

RBAC validation, the budget breaker check and metadata dispatch, all in process with no disk I/O.

TokenizerVirtual key

A revocable token scoped to one engineer and the branch they are on, revoked on sign-out or checkout.

Local workspaceVS Code and IDEs

Completions work normally with nothing to configure on the machine, so source never leaves the laptop for storage.

Envelope encryption

Every request is encrypted with a key generated for it alone.

Session-scoped tokens

Virtual keys expire on git checkout or screen lock, so drift cannot accumulate.

mTLS 1.3 in transit

Bidirectional verification proves packets came from an authenticated machine.

Security and cost policy in one place

Enterprise SSO & identity

GitHub SSO on every tier. Microsoft Entra ID sign-in on Pro and above. SCIM 2.0 provisioning and SAML 2.0 on Enterprise, with just-in-time provisioning and automatic de-provisioning on offboarding.

SCIM 2.0 lifecycleDirectory groups
Just-in-time role assignmentOn first sign-in

Model access policy

Model allow-lists per team, repository and environment. Model Lock goes further: it pins the models a specific feature, branch or PR may call, and the router refuses every other model rather than quietly falling back to one.

Allow-listed modelsTeam, repo or environment
Model Lock scopeFeature, branch or PR

Hard budgets & circuit breakers

Stops that actually terminate the request before credit runs out. Departmental, squad and individual thresholds, with Slack and PagerDuty hooks.

Billing trigger thresholdHard stop at 100%
Soft alert at 80%Hard cutoff at 100%

Zero prompt-body retention by default

Inference runs in memory and is not persisted. We read headers to meter and route; your code never reaches storage.

What ProxDeck logs

  • Timestamps & workspace IDWe log request metadata with precise timestamps, not prompt bodies.
  • Model target & virtual key IDWhich service was queried, and which token authorised it.
  • Token countsPrompt and completion counts, read from provider billing headers.
  • Latency and PR / feature tagHow long the gateway took, plus the PR or feature it belongs to.

What ProxDeck never stores

  • Prompt text & completionsNo inference payload is cached or written to logs.
  • Proprietary code snippetsYour source never reaches a storage layer.
  • Foundation model weightsNo training or fine-tuning on customer prompts.
  • Raw upstream API keysSealed in the key vault, inaccessible to operators.
  • Environment variablesNo inspection of local machine configuration.

Review the architecture with our security engineers.

Walk through the threat model and inspect the key vault isolation.