Architecture

You chose Bedrock so your data would stay yours.

Enterprises do not run Claude through Bedrock for the pricing. They run it through Bedrock because the model runs inside their own AWS environment, prompts and completions are not used to train the underlying models, and nothing is handed to a third-party SaaS boundary.

A SaaS spend tool in front of it undoes the decision you spent six months getting approved. So TokenLock is not one. The stack deploys into your account, the console runs browser-to-your-own-API, and we operate nothing in the path.

How it works

Your data does not leave your AWS account.

You chose Bedrock so your data would stay yours. A SaaS spend tool in front of it undoes the decision you spent six months getting approved. TokenLock deploys into your account, and the console runs browser-to-your-own-API. We operate nothing in the path.

Your people

Claude Code
200 laptops
Claude Desktop
macOS · Windows
Cowork
browser
Your own apps
SDK · OpenAI-compatible
Your AWS account · eu-west-1
TokenLock
AttributeMeterEnforce budgetRoute or refuse

Still your account

Amazon Bedrock
eu.anthropic.claude-sonnet-4-5
Your database
usage, budgets, retention you set
No request data leaves

There is no vendor to assess

Because there is no vendor in the data path. Security review is of your own infrastructure, which you already have a process for.

Residency is recorded, not assumed

Cross-region inference profiles mean a request is not automatically served from the region it was sent to — a global. profile may be served from any geography. TokenLock prefers regional profiles and records which one actually served each request.

What we can see: one number

Nothing about a request leaves your account: not prompts, not responses, not who spent what. There is no telemetry, no shared control plane, and no account of ours in your VPC.

The one thing we read is the number we invoice against. Our billing run asks your stack, over a shared key, for a count of active users, per-day counts and a request total — nothing identifying, and a test fails if that ever changes.

ComponentRuns inHolds
tokenlock-proxyYour VPCNothing at rest
tokenlock-consoleYour VPCServed to the admin browser
tokenlock-dbYour accountUsage, budgets, conversations if retained
bedrockYour accountModel inference
identity providerYour tenantWho your people are
billing endpointYour stackAnswers our billing run with counts only

Residency, including the part nobody raises

Cross-region inference profiles mean a request is not automatically served from the region it was sent to. A global. profile may be served from any geography.

TokenLock resolves regional profiles in preference to global ones, and records which profile actually served each request. Residency becomes a recorded fact rather than an assumption.

Almost nobody asks about this. It is on the page because it is the part your security team will check.

Profile resolution
preferredeu.anthropic.claude-sonnet-4-5
fallbackglobal.anthropic.claude-sonnet-4-5
recordedserved_by = eu-west-1

Corporate sign-in

Entra ID and Google Workspace federation. Department comes from the directory, so team reporting needs no extra configuration.

Administrator-only console

Every console route requires the administrator group. Staff do not browse each other's spend.

Retention you choose

Off, 7d, 30d, 90d, 1y or indefinite. What that means for staff →

Send this page to your security team.